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/05/05 14:58:38 UTC
[01/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Repository: hbase-site
Updated Branches:
refs/heads/asf-site 02b335089 -> e2c783b2d
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/testdevapidocs/src-html/org/apache/hadoop/hbase/util/TestFSUtils.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/util/TestFSUtils.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/util/TestFSUtils.html
index 77e9b6c..fdf7de6 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/util/TestFSUtils.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/util/TestFSUtils.html
@@ -45,18 +45,18 @@
<span class="sourceLineNo">037</span>import org.apache.hadoop.fs.FileSystem;<a name="line.37"></a>
<span class="sourceLineNo">038</span>import org.apache.hadoop.fs.Path;<a name="line.38"></a>
<span class="sourceLineNo">039</span>import org.apache.hadoop.fs.permission.FsPermission;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.HBaseConfiguration;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<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.HDFSBlocksDistribution;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.fs.HFileSystem;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.testclassification.MiscTests;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hdfs.DFSConfigKeys;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hdfs.DFSHedgedReadMetrics;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hdfs.DFSTestUtil;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hdfs.MiniDFSCluster;<a name="line.51"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<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.HDFSBlocksDistribution;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.fs.HFileSystem;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.testclassification.MiscTests;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hdfs.DFSConfigKeys;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hdfs.DFSHedgedReadMetrics;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hdfs.DFSTestUtil;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hdfs.MiniDFSCluster;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.junit.Before;<a name="line.51"></a>
<span class="sourceLineNo">052</span>import org.junit.Test;<a name="line.52"></a>
<span class="sourceLineNo">053</span>import org.junit.experimental.categories.Category;<a name="line.53"></a>
<span class="sourceLineNo">054</span><a name="line.54"></a>
@@ -65,531 +65,515 @@
<span class="sourceLineNo">057</span> */<a name="line.57"></a>
<span class="sourceLineNo">058</span>@Category({MiscTests.class, MediumTests.class})<a name="line.58"></a>
<span class="sourceLineNo">059</span>public class TestFSUtils {<a name="line.59"></a>
-<span class="sourceLineNo">060</span> /**<a name="line.60"></a>
-<span class="sourceLineNo">061</span> * Test path compare and prefix checking.<a name="line.61"></a>
-<span class="sourceLineNo">062</span> * @throws IOException<a name="line.62"></a>
-<span class="sourceLineNo">063</span> */<a name="line.63"></a>
-<span class="sourceLineNo">064</span> @Test<a name="line.64"></a>
-<span class="sourceLineNo">065</span> public void testMatchingTail() throws IOException {<a name="line.65"></a>
-<span class="sourceLineNo">066</span> HBaseTestingUtility htu = new HBaseTestingUtility();<a name="line.66"></a>
-<span class="sourceLineNo">067</span> final FileSystem fs = htu.getTestFileSystem();<a name="line.67"></a>
-<span class="sourceLineNo">068</span> Path rootdir = htu.getDataTestDir();<a name="line.68"></a>
-<span class="sourceLineNo">069</span> assertTrue(rootdir.depth() > 1);<a name="line.69"></a>
-<span class="sourceLineNo">070</span> Path partPath = new Path("a", "b");<a name="line.70"></a>
-<span class="sourceLineNo">071</span> Path fullPath = new Path(rootdir, partPath);<a name="line.71"></a>
-<span class="sourceLineNo">072</span> Path fullyQualifiedPath = fs.makeQualified(fullPath);<a name="line.72"></a>
-<span class="sourceLineNo">073</span> assertFalse(FSUtils.isMatchingTail(fullPath, partPath));<a name="line.73"></a>
-<span class="sourceLineNo">074</span> assertFalse(FSUtils.isMatchingTail(fullPath, partPath.toString()));<a name="line.74"></a>
-<span class="sourceLineNo">075</span> assertTrue(FSUtils.isStartingWithPath(rootdir, fullPath.toString()));<a name="line.75"></a>
-<span class="sourceLineNo">076</span> assertTrue(FSUtils.isStartingWithPath(fullyQualifiedPath, fullPath.toString()));<a name="line.76"></a>
-<span class="sourceLineNo">077</span> assertFalse(FSUtils.isStartingWithPath(rootdir, partPath.toString()));<a name="line.77"></a>
-<span class="sourceLineNo">078</span> assertFalse(FSUtils.isMatchingTail(fullyQualifiedPath, partPath));<a name="line.78"></a>
-<span class="sourceLineNo">079</span> assertTrue(FSUtils.isMatchingTail(fullyQualifiedPath, fullPath));<a name="line.79"></a>
-<span class="sourceLineNo">080</span> assertTrue(FSUtils.isMatchingTail(fullyQualifiedPath, fullPath.toString()));<a name="line.80"></a>
-<span class="sourceLineNo">081</span> assertTrue(FSUtils.isMatchingTail(fullyQualifiedPath, fs.makeQualified(fullPath)));<a name="line.81"></a>
-<span class="sourceLineNo">082</span> assertTrue(FSUtils.isStartingWithPath(rootdir, fullyQualifiedPath.toString()));<a name="line.82"></a>
-<span class="sourceLineNo">083</span> assertFalse(FSUtils.isMatchingTail(fullPath, new Path("x")));<a name="line.83"></a>
-<span class="sourceLineNo">084</span> assertFalse(FSUtils.isMatchingTail(new Path("x"), fullPath));<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> @Test<a name="line.87"></a>
-<span class="sourceLineNo">088</span> public void testVersion() throws DeserializationException, IOException {<a name="line.88"></a>
-<span class="sourceLineNo">089</span> HBaseTestingUtility htu = new HBaseTestingUtility();<a name="line.89"></a>
-<span class="sourceLineNo">090</span> final FileSystem fs = htu.getTestFileSystem();<a name="line.90"></a>
-<span class="sourceLineNo">091</span> final Path rootdir = htu.getDataTestDir();<a name="line.91"></a>
-<span class="sourceLineNo">092</span> assertNull(FSUtils.getVersion(fs, rootdir));<a name="line.92"></a>
-<span class="sourceLineNo">093</span> // Write out old format version file. See if we can read it in and convert.<a name="line.93"></a>
-<span class="sourceLineNo">094</span> Path versionFile = new Path(rootdir, HConstants.VERSION_FILE_NAME);<a name="line.94"></a>
-<span class="sourceLineNo">095</span> FSDataOutputStream s = fs.create(versionFile);<a name="line.95"></a>
-<span class="sourceLineNo">096</span> final String version = HConstants.FILE_SYSTEM_VERSION;<a name="line.96"></a>
-<span class="sourceLineNo">097</span> s.writeUTF(version);<a name="line.97"></a>
-<span class="sourceLineNo">098</span> s.close();<a name="line.98"></a>
-<span class="sourceLineNo">099</span> assertTrue(fs.exists(versionFile));<a name="line.99"></a>
-<span class="sourceLineNo">100</span> FileStatus [] status = fs.listStatus(versionFile);<a name="line.100"></a>
-<span class="sourceLineNo">101</span> assertNotNull(status);<a name="line.101"></a>
-<span class="sourceLineNo">102</span> assertTrue(status.length > 0);<a name="line.102"></a>
-<span class="sourceLineNo">103</span> String newVersion = FSUtils.getVersion(fs, rootdir);<a name="line.103"></a>
-<span class="sourceLineNo">104</span> assertEquals(version.length(), newVersion.length());<a name="line.104"></a>
-<span class="sourceLineNo">105</span> assertEquals(version, newVersion);<a name="line.105"></a>
-<span class="sourceLineNo">106</span> // File will have been converted. Exercise the pb format<a name="line.106"></a>
-<span class="sourceLineNo">107</span> assertEquals(version, FSUtils.getVersion(fs, rootdir));<a name="line.107"></a>
-<span class="sourceLineNo">108</span> FSUtils.checkVersion(fs, rootdir, true);<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> @Test public void testIsHDFS() throws Exception {<a name="line.111"></a>
-<span class="sourceLineNo">112</span> HBaseTestingUtility htu = new HBaseTestingUtility();<a name="line.112"></a>
-<span class="sourceLineNo">113</span> assertFalse(FSUtils.isHDFS(htu.getConfiguration()));<a name="line.113"></a>
-<span class="sourceLineNo">114</span> MiniDFSCluster cluster = null;<a name="line.114"></a>
-<span class="sourceLineNo">115</span> try {<a name="line.115"></a>
-<span class="sourceLineNo">116</span> cluster = htu.startMiniDFSCluster(1);<a name="line.116"></a>
-<span class="sourceLineNo">117</span> assertTrue(FSUtils.isHDFS(htu.getConfiguration()));<a name="line.117"></a>
-<span class="sourceLineNo">118</span> } finally {<a name="line.118"></a>
-<span class="sourceLineNo">119</span> if (cluster != null) cluster.shutdown();<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><a name="line.122"></a>
-<span class="sourceLineNo">123</span> private void WriteDataToHDFS(FileSystem fs, Path file, int dataSize)<a name="line.123"></a>
-<span class="sourceLineNo">124</span> throws Exception {<a name="line.124"></a>
-<span class="sourceLineNo">125</span> FSDataOutputStream out = fs.create(file);<a name="line.125"></a>
-<span class="sourceLineNo">126</span> byte [] data = new byte[dataSize];<a name="line.126"></a>
-<span class="sourceLineNo">127</span> out.write(data, 0, dataSize);<a name="line.127"></a>
-<span class="sourceLineNo">128</span> out.close();<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 public void testcomputeHDFSBlocksDistribution() throws Exception {<a name="line.131"></a>
-<span class="sourceLineNo">132</span> HBaseTestingUtility htu = new HBaseTestingUtility();<a name="line.132"></a>
-<span class="sourceLineNo">133</span> final int DEFAULT_BLOCK_SIZE = 1024;<a name="line.133"></a>
-<span class="sourceLineNo">134</span> htu.getConfiguration().setLong("dfs.blocksize", DEFAULT_BLOCK_SIZE);<a name="line.134"></a>
-<span class="sourceLineNo">135</span> MiniDFSCluster cluster = null;<a name="line.135"></a>
-<span class="sourceLineNo">136</span> Path testFile = null;<a name="line.136"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span> private HBaseTestingUtility htu;<a name="line.61"></a>
+<span class="sourceLineNo">062</span> private FileSystem fs;<a name="line.62"></a>
+<span class="sourceLineNo">063</span> private Configuration conf;<a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span> @Before<a name="line.65"></a>
+<span class="sourceLineNo">066</span> public void setUp() throws IOException {<a name="line.66"></a>
+<span class="sourceLineNo">067</span> htu = new HBaseTestingUtility();<a name="line.67"></a>
+<span class="sourceLineNo">068</span> fs = htu.getTestFileSystem();<a name="line.68"></a>
+<span class="sourceLineNo">069</span> conf = htu.getConfiguration();<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> /**<a name="line.72"></a>
+<span class="sourceLineNo">073</span> * Test path compare and prefix checking.<a name="line.73"></a>
+<span class="sourceLineNo">074</span> * @throws IOException<a name="line.74"></a>
+<span class="sourceLineNo">075</span> */<a name="line.75"></a>
+<span class="sourceLineNo">076</span> @Test<a name="line.76"></a>
+<span class="sourceLineNo">077</span> public void testMatchingTail() throws IOException {<a name="line.77"></a>
+<span class="sourceLineNo">078</span> Path rootdir = htu.getDataTestDir();<a name="line.78"></a>
+<span class="sourceLineNo">079</span> assertTrue(rootdir.depth() > 1);<a name="line.79"></a>
+<span class="sourceLineNo">080</span> Path partPath = new Path("a", "b");<a name="line.80"></a>
+<span class="sourceLineNo">081</span> Path fullPath = new Path(rootdir, partPath);<a name="line.81"></a>
+<span class="sourceLineNo">082</span> Path fullyQualifiedPath = fs.makeQualified(fullPath);<a name="line.82"></a>
+<span class="sourceLineNo">083</span> assertFalse(FSUtils.isMatchingTail(fullPath, partPath));<a name="line.83"></a>
+<span class="sourceLineNo">084</span> assertFalse(FSUtils.isMatchingTail(fullPath, partPath.toString()));<a name="line.84"></a>
+<span class="sourceLineNo">085</span> assertTrue(FSUtils.isStartingWithPath(rootdir, fullPath.toString()));<a name="line.85"></a>
+<span class="sourceLineNo">086</span> assertTrue(FSUtils.isStartingWithPath(fullyQualifiedPath, fullPath.toString()));<a name="line.86"></a>
+<span class="sourceLineNo">087</span> assertFalse(FSUtils.isStartingWithPath(rootdir, partPath.toString()));<a name="line.87"></a>
+<span class="sourceLineNo">088</span> assertFalse(FSUtils.isMatchingTail(fullyQualifiedPath, partPath));<a name="line.88"></a>
+<span class="sourceLineNo">089</span> assertTrue(FSUtils.isMatchingTail(fullyQualifiedPath, fullPath));<a name="line.89"></a>
+<span class="sourceLineNo">090</span> assertTrue(FSUtils.isMatchingTail(fullyQualifiedPath, fullPath.toString()));<a name="line.90"></a>
+<span class="sourceLineNo">091</span> assertTrue(FSUtils.isMatchingTail(fullyQualifiedPath, fs.makeQualified(fullPath)));<a name="line.91"></a>
+<span class="sourceLineNo">092</span> assertTrue(FSUtils.isStartingWithPath(rootdir, fullyQualifiedPath.toString()));<a name="line.92"></a>
+<span class="sourceLineNo">093</span> assertFalse(FSUtils.isMatchingTail(fullPath, new Path("x")));<a name="line.93"></a>
+<span class="sourceLineNo">094</span> assertFalse(FSUtils.isMatchingTail(new Path("x"), fullPath));<a name="line.94"></a>
+<span class="sourceLineNo">095</span> }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span> @Test<a name="line.97"></a>
+<span class="sourceLineNo">098</span> public void testVersion() throws DeserializationException, IOException {<a name="line.98"></a>
+<span class="sourceLineNo">099</span> final Path rootdir = htu.getDataTestDir();<a name="line.99"></a>
+<span class="sourceLineNo">100</span> assertNull(FSUtils.getVersion(fs, rootdir));<a name="line.100"></a>
+<span class="sourceLineNo">101</span> // Write out old format version file. See if we can read it in and convert.<a name="line.101"></a>
+<span class="sourceLineNo">102</span> Path versionFile = new Path(rootdir, HConstants.VERSION_FILE_NAME);<a name="line.102"></a>
+<span class="sourceLineNo">103</span> FSDataOutputStream s = fs.create(versionFile);<a name="line.103"></a>
+<span class="sourceLineNo">104</span> final String version = HConstants.FILE_SYSTEM_VERSION;<a name="line.104"></a>
+<span class="sourceLineNo">105</span> s.writeUTF(version);<a name="line.105"></a>
+<span class="sourceLineNo">106</span> s.close();<a name="line.106"></a>
+<span class="sourceLineNo">107</span> assertTrue(fs.exists(versionFile));<a name="line.107"></a>
+<span class="sourceLineNo">108</span> FileStatus [] status = fs.listStatus(versionFile);<a name="line.108"></a>
+<span class="sourceLineNo">109</span> assertNotNull(status);<a name="line.109"></a>
+<span class="sourceLineNo">110</span> assertTrue(status.length > 0);<a name="line.110"></a>
+<span class="sourceLineNo">111</span> String newVersion = FSUtils.getVersion(fs, rootdir);<a name="line.111"></a>
+<span class="sourceLineNo">112</span> assertEquals(version.length(), newVersion.length());<a name="line.112"></a>
+<span class="sourceLineNo">113</span> assertEquals(version, newVersion);<a name="line.113"></a>
+<span class="sourceLineNo">114</span> // File will have been converted. Exercise the pb format<a name="line.114"></a>
+<span class="sourceLineNo">115</span> assertEquals(version, FSUtils.getVersion(fs, rootdir));<a name="line.115"></a>
+<span class="sourceLineNo">116</span> FSUtils.checkVersion(fs, rootdir, true);<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> @Test public void testIsHDFS() throws Exception {<a name="line.119"></a>
+<span class="sourceLineNo">120</span> assertFalse(FSUtils.isHDFS(conf));<a name="line.120"></a>
+<span class="sourceLineNo">121</span> MiniDFSCluster cluster = null;<a name="line.121"></a>
+<span class="sourceLineNo">122</span> try {<a name="line.122"></a>
+<span class="sourceLineNo">123</span> cluster = htu.startMiniDFSCluster(1);<a name="line.123"></a>
+<span class="sourceLineNo">124</span> assertTrue(FSUtils.isHDFS(conf));<a name="line.124"></a>
+<span class="sourceLineNo">125</span> } finally {<a name="line.125"></a>
+<span class="sourceLineNo">126</span> if (cluster != null) cluster.shutdown();<a name="line.126"></a>
+<span class="sourceLineNo">127</span> }<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> private void WriteDataToHDFS(FileSystem fs, Path file, int dataSize)<a name="line.130"></a>
+<span class="sourceLineNo">131</span> throws Exception {<a name="line.131"></a>
+<span class="sourceLineNo">132</span> FSDataOutputStream out = fs.create(file);<a name="line.132"></a>
+<span class="sourceLineNo">133</span> byte [] data = new byte[dataSize];<a name="line.133"></a>
+<span class="sourceLineNo">134</span> out.write(data, 0, dataSize);<a name="line.134"></a>
+<span class="sourceLineNo">135</span> out.close();<a name="line.135"></a>
+<span class="sourceLineNo">136</span> }<a name="line.136"></a>
<span class="sourceLineNo">137</span><a name="line.137"></a>
-<span class="sourceLineNo">138</span> try {<a name="line.138"></a>
-<span class="sourceLineNo">139</span> // set up a cluster with 3 nodes<a name="line.139"></a>
-<span class="sourceLineNo">140</span> String hosts[] = new String[] { "host1", "host2", "host3" };<a name="line.140"></a>
-<span class="sourceLineNo">141</span> cluster = htu.startMiniDFSCluster(hosts);<a name="line.141"></a>
-<span class="sourceLineNo">142</span> cluster.waitActive();<a name="line.142"></a>
-<span class="sourceLineNo">143</span> FileSystem fs = cluster.getFileSystem();<a name="line.143"></a>
-<span class="sourceLineNo">144</span><a name="line.144"></a>
-<span class="sourceLineNo">145</span> // create a file with two blocks<a name="line.145"></a>
-<span class="sourceLineNo">146</span> testFile = new Path("/test1.txt");<a name="line.146"></a>
-<span class="sourceLineNo">147</span> WriteDataToHDFS(fs, testFile, 2*DEFAULT_BLOCK_SIZE);<a name="line.147"></a>
-<span class="sourceLineNo">148</span><a name="line.148"></a>
-<span class="sourceLineNo">149</span> // given the default replication factor is 3, the same as the number of<a name="line.149"></a>
-<span class="sourceLineNo">150</span> // datanodes; the locality index for each host should be 100%,<a name="line.150"></a>
-<span class="sourceLineNo">151</span> // or getWeight for each host should be the same as getUniqueBlocksWeights<a name="line.151"></a>
-<span class="sourceLineNo">152</span> final long maxTime = System.currentTimeMillis() + 2000;<a name="line.152"></a>
-<span class="sourceLineNo">153</span> boolean ok;<a name="line.153"></a>
-<span class="sourceLineNo">154</span> do {<a name="line.154"></a>
-<span class="sourceLineNo">155</span> ok = true;<a name="line.155"></a>
-<span class="sourceLineNo">156</span> FileStatus status = fs.getFileStatus(testFile);<a name="line.156"></a>
-<span class="sourceLineNo">157</span> HDFSBlocksDistribution blocksDistribution =<a name="line.157"></a>
-<span class="sourceLineNo">158</span> FSUtils.computeHDFSBlocksDistribution(fs, status, 0, status.getLen());<a name="line.158"></a>
-<span class="sourceLineNo">159</span> long uniqueBlocksTotalWeight =<a name="line.159"></a>
-<span class="sourceLineNo">160</span> blocksDistribution.getUniqueBlocksTotalWeight();<a name="line.160"></a>
-<span class="sourceLineNo">161</span> for (String host : hosts) {<a name="line.161"></a>
-<span class="sourceLineNo">162</span> long weight = blocksDistribution.getWeight(host);<a name="line.162"></a>
-<span class="sourceLineNo">163</span> ok = (ok && uniqueBlocksTotalWeight == weight);<a name="line.163"></a>
-<span class="sourceLineNo">164</span> }<a name="line.164"></a>
-<span class="sourceLineNo">165</span> } while (!ok && System.currentTimeMillis() < maxTime);<a name="line.165"></a>
-<span class="sourceLineNo">166</span> assertTrue(ok);<a name="line.166"></a>
-<span class="sourceLineNo">167</span> } finally {<a name="line.167"></a>
-<span class="sourceLineNo">168</span> htu.shutdownMiniDFSCluster();<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><a name="line.171"></a>
-<span class="sourceLineNo">172</span> try {<a name="line.172"></a>
-<span class="sourceLineNo">173</span> // set up a cluster with 4 nodes<a name="line.173"></a>
-<span class="sourceLineNo">174</span> String hosts[] = new String[] { "host1", "host2", "host3", "host4" };<a name="line.174"></a>
-<span class="sourceLineNo">175</span> cluster = htu.startMiniDFSCluster(hosts);<a name="line.175"></a>
-<span class="sourceLineNo">176</span> cluster.waitActive();<a name="line.176"></a>
-<span class="sourceLineNo">177</span> FileSystem fs = cluster.getFileSystem();<a name="line.177"></a>
-<span class="sourceLineNo">178</span><a name="line.178"></a>
-<span class="sourceLineNo">179</span> // create a file with three blocks<a name="line.179"></a>
-<span class="sourceLineNo">180</span> testFile = new Path("/test2.txt");<a name="line.180"></a>
-<span class="sourceLineNo">181</span> WriteDataToHDFS(fs, testFile, 3*DEFAULT_BLOCK_SIZE);<a name="line.181"></a>
-<span class="sourceLineNo">182</span><a name="line.182"></a>
-<span class="sourceLineNo">183</span> // given the default replication factor is 3, we will have total of 9<a name="line.183"></a>
-<span class="sourceLineNo">184</span> // replica of blocks; thus the host with the highest weight should have<a name="line.184"></a>
-<span class="sourceLineNo">185</span> // weight == 3 * DEFAULT_BLOCK_SIZE<a name="line.185"></a>
-<span class="sourceLineNo">186</span> final long maxTime = System.currentTimeMillis() + 2000;<a name="line.186"></a>
-<span class="sourceLineNo">187</span> long weight;<a name="line.187"></a>
-<span class="sourceLineNo">188</span> long uniqueBlocksTotalWeight;<a name="line.188"></a>
-<span class="sourceLineNo">189</span> do {<a name="line.189"></a>
-<span class="sourceLineNo">190</span> FileStatus status = fs.getFileStatus(testFile);<a name="line.190"></a>
-<span class="sourceLineNo">191</span> HDFSBlocksDistribution blocksDistribution =<a name="line.191"></a>
-<span class="sourceLineNo">192</span> FSUtils.computeHDFSBlocksDistribution(fs, status, 0, status.getLen());<a name="line.192"></a>
-<span class="sourceLineNo">193</span> uniqueBlocksTotalWeight = blocksDistribution.getUniqueBlocksTotalWeight();<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> String tophost = blocksDistribution.getTopHosts().get(0);<a name="line.195"></a>
-<span class="sourceLineNo">196</span> weight = blocksDistribution.getWeight(tophost);<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span> // NameNode is informed asynchronously, so we may have a delay. See HBASE-6175<a name="line.198"></a>
-<span class="sourceLineNo">199</span> } while (uniqueBlocksTotalWeight != weight && System.currentTimeMillis() < maxTime);<a name="line.199"></a>
-<span class="sourceLineNo">200</span> assertTrue(uniqueBlocksTotalWeight == weight);<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span> } finally {<a name="line.202"></a>
-<span class="sourceLineNo">203</span> htu.shutdownMiniDFSCluster();<a name="line.203"></a>
-<span class="sourceLineNo">204</span> }<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> try {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> // set up a cluster with 4 nodes<a name="line.208"></a>
-<span class="sourceLineNo">209</span> String hosts[] = new String[] { "host1", "host2", "host3", "host4" };<a name="line.209"></a>
-<span class="sourceLineNo">210</span> cluster = htu.startMiniDFSCluster(hosts);<a name="line.210"></a>
-<span class="sourceLineNo">211</span> cluster.waitActive();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> FileSystem fs = cluster.getFileSystem();<a name="line.212"></a>
-<span class="sourceLineNo">213</span><a name="line.213"></a>
-<span class="sourceLineNo">214</span> // create a file with one block<a name="line.214"></a>
-<span class="sourceLineNo">215</span> testFile = new Path("/test3.txt");<a name="line.215"></a>
-<span class="sourceLineNo">216</span> WriteDataToHDFS(fs, testFile, DEFAULT_BLOCK_SIZE);<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> // given the default replication factor is 3, we will have total of 3<a name="line.218"></a>
-<span class="sourceLineNo">219</span> // replica of blocks; thus there is one host without weight<a name="line.219"></a>
-<span class="sourceLineNo">220</span> final long maxTime = System.currentTimeMillis() + 2000;<a name="line.220"></a>
-<span class="sourceLineNo">221</span> HDFSBlocksDistribution blocksDistribution;<a name="line.221"></a>
-<span class="sourceLineNo">222</span> do {<a name="line.222"></a>
-<span class="sourceLineNo">223</span> FileStatus status = fs.getFileStatus(testFile);<a name="line.223"></a>
-<span class="sourceLineNo">224</span> blocksDistribution = FSUtils.computeHDFSBlocksDistribution(fs, status, 0, status.getLen());<a name="line.224"></a>
-<span class="sourceLineNo">225</span> // NameNode is informed asynchronously, so we may have a delay. See HBASE-6175<a name="line.225"></a>
-<span class="sourceLineNo">226</span> }<a name="line.226"></a>
-<span class="sourceLineNo">227</span> while (blocksDistribution.getTopHosts().size() != 3 && System.currentTimeMillis() < maxTime);<a name="line.227"></a>
-<span class="sourceLineNo">228</span> assertEquals("Wrong number of hosts distributing blocks.", 3,<a name="line.228"></a>
-<span class="sourceLineNo">229</span> blocksDistribution.getTopHosts().size());<a name="line.229"></a>
-<span class="sourceLineNo">230</span> } finally {<a name="line.230"></a>
-<span class="sourceLineNo">231</span> htu.shutdownMiniDFSCluster();<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><a name="line.234"></a>
-<span class="sourceLineNo">235</span> @Test<a name="line.235"></a>
-<span class="sourceLineNo">236</span> public void testPermMask() throws Exception {<a name="line.236"></a>
-<span class="sourceLineNo">237</span><a name="line.237"></a>
-<span class="sourceLineNo">238</span> Configuration conf = HBaseConfiguration.create();<a name="line.238"></a>
-<span class="sourceLineNo">239</span> FileSystem fs = FileSystem.get(conf);<a name="line.239"></a>
+<span class="sourceLineNo">138</span> @Test public void testcomputeHDFSBlocksDistribution() throws Exception {<a name="line.138"></a>
+<span class="sourceLineNo">139</span> final int DEFAULT_BLOCK_SIZE = 1024;<a name="line.139"></a>
+<span class="sourceLineNo">140</span> conf.setLong("dfs.blocksize", DEFAULT_BLOCK_SIZE);<a name="line.140"></a>
+<span class="sourceLineNo">141</span> MiniDFSCluster cluster = null;<a name="line.141"></a>
+<span class="sourceLineNo">142</span> Path testFile = null;<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span> try {<a name="line.144"></a>
+<span class="sourceLineNo">145</span> // set up a cluster with 3 nodes<a name="line.145"></a>
+<span class="sourceLineNo">146</span> String hosts[] = new String[] { "host1", "host2", "host3" };<a name="line.146"></a>
+<span class="sourceLineNo">147</span> cluster = htu.startMiniDFSCluster(hosts);<a name="line.147"></a>
+<span class="sourceLineNo">148</span> cluster.waitActive();<a name="line.148"></a>
+<span class="sourceLineNo">149</span> FileSystem fs = cluster.getFileSystem();<a name="line.149"></a>
+<span class="sourceLineNo">150</span><a name="line.150"></a>
+<span class="sourceLineNo">151</span> // create a file with two blocks<a name="line.151"></a>
+<span class="sourceLineNo">152</span> testFile = new Path("/test1.txt");<a name="line.152"></a>
+<span class="sourceLineNo">153</span> WriteDataToHDFS(fs, testFile, 2*DEFAULT_BLOCK_SIZE);<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span> // given the default replication factor is 3, the same as the number of<a name="line.155"></a>
+<span class="sourceLineNo">156</span> // datanodes; the locality index for each host should be 100%,<a name="line.156"></a>
+<span class="sourceLineNo">157</span> // or getWeight for each host should be the same as getUniqueBlocksWeights<a name="line.157"></a>
+<span class="sourceLineNo">158</span> final long maxTime = System.currentTimeMillis() + 2000;<a name="line.158"></a>
+<span class="sourceLineNo">159</span> boolean ok;<a name="line.159"></a>
+<span class="sourceLineNo">160</span> do {<a name="line.160"></a>
+<span class="sourceLineNo">161</span> ok = true;<a name="line.161"></a>
+<span class="sourceLineNo">162</span> FileStatus status = fs.getFileStatus(testFile);<a name="line.162"></a>
+<span class="sourceLineNo">163</span> HDFSBlocksDistribution blocksDistribution =<a name="line.163"></a>
+<span class="sourceLineNo">164</span> FSUtils.computeHDFSBlocksDistribution(fs, status, 0, status.getLen());<a name="line.164"></a>
+<span class="sourceLineNo">165</span> long uniqueBlocksTotalWeight =<a name="line.165"></a>
+<span class="sourceLineNo">166</span> blocksDistribution.getUniqueBlocksTotalWeight();<a name="line.166"></a>
+<span class="sourceLineNo">167</span> for (String host : hosts) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span> long weight = blocksDistribution.getWeight(host);<a name="line.168"></a>
+<span class="sourceLineNo">169</span> ok = (ok && uniqueBlocksTotalWeight == weight);<a name="line.169"></a>
+<span class="sourceLineNo">170</span> }<a name="line.170"></a>
+<span class="sourceLineNo">171</span> } while (!ok && System.currentTimeMillis() < maxTime);<a name="line.171"></a>
+<span class="sourceLineNo">172</span> assertTrue(ok);<a name="line.172"></a>
+<span class="sourceLineNo">173</span> } finally {<a name="line.173"></a>
+<span class="sourceLineNo">174</span> htu.shutdownMiniDFSCluster();<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><a name="line.177"></a>
+<span class="sourceLineNo">178</span> try {<a name="line.178"></a>
+<span class="sourceLineNo">179</span> // set up a cluster with 4 nodes<a name="line.179"></a>
+<span class="sourceLineNo">180</span> String hosts[] = new String[] { "host1", "host2", "host3", "host4" };<a name="line.180"></a>
+<span class="sourceLineNo">181</span> cluster = htu.startMiniDFSCluster(hosts);<a name="line.181"></a>
+<span class="sourceLineNo">182</span> cluster.waitActive();<a name="line.182"></a>
+<span class="sourceLineNo">183</span> FileSystem fs = cluster.getFileSystem();<a name="line.183"></a>
+<span class="sourceLineNo">184</span><a name="line.184"></a>
+<span class="sourceLineNo">185</span> // create a file with three blocks<a name="line.185"></a>
+<span class="sourceLineNo">186</span> testFile = new Path("/test2.txt");<a name="line.186"></a>
+<span class="sourceLineNo">187</span> WriteDataToHDFS(fs, testFile, 3*DEFAULT_BLOCK_SIZE);<a name="line.187"></a>
+<span class="sourceLineNo">188</span><a name="line.188"></a>
+<span class="sourceLineNo">189</span> // given the default replication factor is 3, we will have total of 9<a name="line.189"></a>
+<span class="sourceLineNo">190</span> // replica of blocks; thus the host with the highest weight should have<a name="line.190"></a>
+<span class="sourceLineNo">191</span> // weight == 3 * DEFAULT_BLOCK_SIZE<a name="line.191"></a>
+<span class="sourceLineNo">192</span> final long maxTime = System.currentTimeMillis() + 2000;<a name="line.192"></a>
+<span class="sourceLineNo">193</span> long weight;<a name="line.193"></a>
+<span class="sourceLineNo">194</span> long uniqueBlocksTotalWeight;<a name="line.194"></a>
+<span class="sourceLineNo">195</span> do {<a name="line.195"></a>
+<span class="sourceLineNo">196</span> FileStatus status = fs.getFileStatus(testFile);<a name="line.196"></a>
+<span class="sourceLineNo">197</span> HDFSBlocksDistribution blocksDistribution =<a name="line.197"></a>
+<span class="sourceLineNo">198</span> FSUtils.computeHDFSBlocksDistribution(fs, status, 0, status.getLen());<a name="line.198"></a>
+<span class="sourceLineNo">199</span> uniqueBlocksTotalWeight = blocksDistribution.getUniqueBlocksTotalWeight();<a name="line.199"></a>
+<span class="sourceLineNo">200</span><a name="line.200"></a>
+<span class="sourceLineNo">201</span> String tophost = blocksDistribution.getTopHosts().get(0);<a name="line.201"></a>
+<span class="sourceLineNo">202</span> weight = blocksDistribution.getWeight(tophost);<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span> // NameNode is informed asynchronously, so we may have a delay. See HBASE-6175<a name="line.204"></a>
+<span class="sourceLineNo">205</span> } while (uniqueBlocksTotalWeight != weight && System.currentTimeMillis() < maxTime);<a name="line.205"></a>
+<span class="sourceLineNo">206</span> assertTrue(uniqueBlocksTotalWeight == weight);<a name="line.206"></a>
+<span class="sourceLineNo">207</span><a name="line.207"></a>
+<span class="sourceLineNo">208</span> } finally {<a name="line.208"></a>
+<span class="sourceLineNo">209</span> htu.shutdownMiniDFSCluster();<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> try {<a name="line.213"></a>
+<span class="sourceLineNo">214</span> // set up a cluster with 4 nodes<a name="line.214"></a>
+<span class="sourceLineNo">215</span> String hosts[] = new String[] { "host1", "host2", "host3", "host4" };<a name="line.215"></a>
+<span class="sourceLineNo">216</span> cluster = htu.startMiniDFSCluster(hosts);<a name="line.216"></a>
+<span class="sourceLineNo">217</span> cluster.waitActive();<a name="line.217"></a>
+<span class="sourceLineNo">218</span> FileSystem fs = cluster.getFileSystem();<a name="line.218"></a>
+<span class="sourceLineNo">219</span><a name="line.219"></a>
+<span class="sourceLineNo">220</span> // create a file with one block<a name="line.220"></a>
+<span class="sourceLineNo">221</span> testFile = new Path("/test3.txt");<a name="line.221"></a>
+<span class="sourceLineNo">222</span> WriteDataToHDFS(fs, testFile, DEFAULT_BLOCK_SIZE);<a name="line.222"></a>
+<span class="sourceLineNo">223</span><a name="line.223"></a>
+<span class="sourceLineNo">224</span> // given the default replication factor is 3, we will have total of 3<a name="line.224"></a>
+<span class="sourceLineNo">225</span> // replica of blocks; thus there is one host without weight<a name="line.225"></a>
+<span class="sourceLineNo">226</span> final long maxTime = System.currentTimeMillis() + 2000;<a name="line.226"></a>
+<span class="sourceLineNo">227</span> HDFSBlocksDistribution blocksDistribution;<a name="line.227"></a>
+<span class="sourceLineNo">228</span> do {<a name="line.228"></a>
+<span class="sourceLineNo">229</span> FileStatus status = fs.getFileStatus(testFile);<a name="line.229"></a>
+<span class="sourceLineNo">230</span> blocksDistribution = FSUtils.computeHDFSBlocksDistribution(fs, status, 0, status.getLen());<a name="line.230"></a>
+<span class="sourceLineNo">231</span> // NameNode is informed asynchronously, so we may have a delay. See HBASE-6175<a name="line.231"></a>
+<span class="sourceLineNo">232</span> }<a name="line.232"></a>
+<span class="sourceLineNo">233</span> while (blocksDistribution.getTopHosts().size() != 3 && System.currentTimeMillis() < maxTime);<a name="line.233"></a>
+<span class="sourceLineNo">234</span> assertEquals("Wrong number of hosts distributing blocks.", 3,<a name="line.234"></a>
+<span class="sourceLineNo">235</span> blocksDistribution.getTopHosts().size());<a name="line.235"></a>
+<span class="sourceLineNo">236</span> } finally {<a name="line.236"></a>
+<span class="sourceLineNo">237</span> htu.shutdownMiniDFSCluster();<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><a name="line.240"></a>
-<span class="sourceLineNo">241</span> // default fs permission<a name="line.241"></a>
-<span class="sourceLineNo">242</span> FsPermission defaultFsPerm = FSUtils.getFilePermissions(fs, conf,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> HConstants.DATA_FILE_UMASK_KEY);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> // 'hbase.data.umask.enable' is false. We will get default fs permission.<a name="line.244"></a>
-<span class="sourceLineNo">245</span> assertEquals(FsPermission.getFileDefault(), defaultFsPerm);<a name="line.245"></a>
-<span class="sourceLineNo">246</span><a name="line.246"></a>
-<span class="sourceLineNo">247</span> conf.setBoolean(HConstants.ENABLE_DATA_FILE_UMASK, true);<a name="line.247"></a>
-<span class="sourceLineNo">248</span> // first check that we don't crash if we don't have perms set<a name="line.248"></a>
-<span class="sourceLineNo">249</span> FsPermission defaultStartPerm = FSUtils.getFilePermissions(fs, conf,<a name="line.249"></a>
-<span class="sourceLineNo">250</span> HConstants.DATA_FILE_UMASK_KEY);<a name="line.250"></a>
-<span class="sourceLineNo">251</span> // default 'hbase.data.umask'is 000, and this umask will be used when<a name="line.251"></a>
-<span class="sourceLineNo">252</span> // 'hbase.data.umask.enable' is true.<a name="line.252"></a>
-<span class="sourceLineNo">253</span> // Therefore we will not get the real fs default in this case.<a name="line.253"></a>
-<span class="sourceLineNo">254</span> // Instead we will get the starting point FULL_RWX_PERMISSIONS<a name="line.254"></a>
-<span class="sourceLineNo">255</span> assertEquals(new FsPermission(FSUtils.FULL_RWX_PERMISSIONS), defaultStartPerm);<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> conf.setStrings(HConstants.DATA_FILE_UMASK_KEY, "077");<a name="line.257"></a>
-<span class="sourceLineNo">258</span> // now check that we get the right perms<a name="line.258"></a>
-<span class="sourceLineNo">259</span> FsPermission filePerm = FSUtils.getFilePermissions(fs, conf,<a name="line.259"></a>
-<span class="sourceLineNo">260</span> HConstants.DATA_FILE_UMASK_KEY);<a name="line.260"></a>
-<span class="sourceLineNo">261</span> assertEquals(new FsPermission("700"), filePerm);<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span> // then that the correct file is created<a name="line.263"></a>
-<span class="sourceLineNo">264</span> Path p = new Path("target" + File.separator + UUID.randomUUID().toString());<a name="line.264"></a>
-<span class="sourceLineNo">265</span> try {<a name="line.265"></a>
-<span class="sourceLineNo">266</span> FSDataOutputStream out = FSUtils.create(conf, fs, p, filePerm, null);<a name="line.266"></a>
-<span class="sourceLineNo">267</span> out.close();<a name="line.267"></a>
-<span class="sourceLineNo">268</span> FileStatus stat = fs.getFileStatus(p);<a name="line.268"></a>
-<span class="sourceLineNo">269</span> assertEquals(new FsPermission("700"), stat.getPermission());<a name="line.269"></a>
-<span class="sourceLineNo">270</span> // and then cleanup<a name="line.270"></a>
-<span class="sourceLineNo">271</span> } finally {<a name="line.271"></a>
-<span class="sourceLineNo">272</span> fs.delete(p, true);<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><a name="line.275"></a>
-<span class="sourceLineNo">276</span> @Test<a name="line.276"></a>
-<span class="sourceLineNo">277</span> public void testDeleteAndExists() throws Exception {<a name="line.277"></a>
-<span class="sourceLineNo">278</span> HBaseTestingUtility htu = new HBaseTestingUtility();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> Configuration conf = htu.getConfiguration();<a name="line.279"></a>
+<span class="sourceLineNo">241</span> @Test<a name="line.241"></a>
+<span class="sourceLineNo">242</span> public void testPermMask() throws Exception {<a name="line.242"></a>
+<span class="sourceLineNo">243</span> // default fs permission<a name="line.243"></a>
+<span class="sourceLineNo">244</span> FsPermission defaultFsPerm = FSUtils.getFilePermissions(fs, conf,<a name="line.244"></a>
+<span class="sourceLineNo">245</span> HConstants.DATA_FILE_UMASK_KEY);<a name="line.245"></a>
+<span class="sourceLineNo">246</span> // 'hbase.data.umask.enable' is false. We will get default fs permission.<a name="line.246"></a>
+<span class="sourceLineNo">247</span> assertEquals(FsPermission.getFileDefault(), defaultFsPerm);<a name="line.247"></a>
+<span class="sourceLineNo">248</span><a name="line.248"></a>
+<span class="sourceLineNo">249</span> conf.setBoolean(HConstants.ENABLE_DATA_FILE_UMASK, true);<a name="line.249"></a>
+<span class="sourceLineNo">250</span> // first check that we don't crash if we don't have perms set<a name="line.250"></a>
+<span class="sourceLineNo">251</span> FsPermission defaultStartPerm = FSUtils.getFilePermissions(fs, conf,<a name="line.251"></a>
+<span class="sourceLineNo">252</span> HConstants.DATA_FILE_UMASK_KEY);<a name="line.252"></a>
+<span class="sourceLineNo">253</span> // default 'hbase.data.umask'is 000, and this umask will be used when<a name="line.253"></a>
+<span class="sourceLineNo">254</span> // 'hbase.data.umask.enable' is true.<a name="line.254"></a>
+<span class="sourceLineNo">255</span> // Therefore we will not get the real fs default in this case.<a name="line.255"></a>
+<span class="sourceLineNo">256</span> // Instead we will get the starting point FULL_RWX_PERMISSIONS<a name="line.256"></a>
+<span class="sourceLineNo">257</span> assertEquals(new FsPermission(FSUtils.FULL_RWX_PERMISSIONS), defaultStartPerm);<a name="line.257"></a>
+<span class="sourceLineNo">258</span><a name="line.258"></a>
+<span class="sourceLineNo">259</span> conf.setStrings(HConstants.DATA_FILE_UMASK_KEY, "077");<a name="line.259"></a>
+<span class="sourceLineNo">260</span> // now check that we get the right perms<a name="line.260"></a>
+<span class="sourceLineNo">261</span> FsPermission filePerm = FSUtils.getFilePermissions(fs, conf,<a name="line.261"></a>
+<span class="sourceLineNo">262</span> HConstants.DATA_FILE_UMASK_KEY);<a name="line.262"></a>
+<span class="sourceLineNo">263</span> assertEquals(new FsPermission("700"), filePerm);<a name="line.263"></a>
+<span class="sourceLineNo">264</span><a name="line.264"></a>
+<span class="sourceLineNo">265</span> // then that the correct file is created<a name="line.265"></a>
+<span class="sourceLineNo">266</span> Path p = new Path("target" + File.separator + UUID.randomUUID().toString());<a name="line.266"></a>
+<span class="sourceLineNo">267</span> try {<a name="line.267"></a>
+<span class="sourceLineNo">268</span> FSDataOutputStream out = FSUtils.create(conf, fs, p, filePerm, null);<a name="line.268"></a>
+<span class="sourceLineNo">269</span> out.close();<a name="line.269"></a>
+<span class="sourceLineNo">270</span> FileStatus stat = fs.getFileStatus(p);<a name="line.270"></a>
+<span class="sourceLineNo">271</span> assertEquals(new FsPermission("700"), stat.getPermission());<a name="line.271"></a>
+<span class="sourceLineNo">272</span> // and then cleanup<a name="line.272"></a>
+<span class="sourceLineNo">273</span> } finally {<a name="line.273"></a>
+<span class="sourceLineNo">274</span> fs.delete(p, true);<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> @Test<a name="line.278"></a>
+<span class="sourceLineNo">279</span> public void testDeleteAndExists() throws Exception {<a name="line.279"></a>
<span class="sourceLineNo">280</span> conf.setBoolean(HConstants.ENABLE_DATA_FILE_UMASK, true);<a name="line.280"></a>
-<span class="sourceLineNo">281</span> FileSystem fs = FileSystem.get(conf);<a name="line.281"></a>
-<span class="sourceLineNo">282</span> FsPermission perms = FSUtils.getFilePermissions(fs, conf, HConstants.DATA_FILE_UMASK_KEY);<a name="line.282"></a>
-<span class="sourceLineNo">283</span> // then that the correct file is created<a name="line.283"></a>
-<span class="sourceLineNo">284</span> String file = UUID.randomUUID().toString();<a name="line.284"></a>
-<span class="sourceLineNo">285</span> Path p = new Path(htu.getDataTestDir(), "temptarget" + File.separator + file);<a name="line.285"></a>
-<span class="sourceLineNo">286</span> Path p1 = new Path(htu.getDataTestDir(), "temppath" + File.separator + file);<a name="line.286"></a>
-<span class="sourceLineNo">287</span> try {<a name="line.287"></a>
-<span class="sourceLineNo">288</span> FSDataOutputStream out = FSUtils.create(conf, fs, p, perms, null);<a name="line.288"></a>
-<span class="sourceLineNo">289</span> out.close();<a name="line.289"></a>
-<span class="sourceLineNo">290</span> assertTrue("The created file should be present", FSUtils.isExists(fs, p));<a name="line.290"></a>
-<span class="sourceLineNo">291</span> // delete the file with recursion as false. Only the file will be deleted.<a name="line.291"></a>
-<span class="sourceLineNo">292</span> FSUtils.delete(fs, p, false);<a name="line.292"></a>
-<span class="sourceLineNo">293</span> // Create another file<a name="line.293"></a>
-<span class="sourceLineNo">294</span> FSDataOutputStream out1 = FSUtils.create(conf, fs, p1, perms, null);<a name="line.294"></a>
-<span class="sourceLineNo">295</span> out1.close();<a name="line.295"></a>
-<span class="sourceLineNo">296</span> // delete the file with recursion as false. Still the file only will be deleted<a name="line.296"></a>
-<span class="sourceLineNo">297</span> FSUtils.delete(fs, p1, true);<a name="line.297"></a>
-<span class="sourceLineNo">298</span> assertFalse("The created file should be present", FSUtils.isExists(fs, p1));<a name="line.298"></a>
-<span class="sourceLineNo">299</span> // and then cleanup<a name="line.299"></a>
-<span class="sourceLineNo">300</span> } finally {<a name="line.300"></a>
-<span class="sourceLineNo">301</span> FSUtils.delete(fs, p, true);<a name="line.301"></a>
-<span class="sourceLineNo">302</span> FSUtils.delete(fs, p1, true);<a name="line.302"></a>
-<span class="sourceLineNo">303</span> }<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> @Test<a name="line.306"></a>
-<span class="sourceLineNo">307</span> public void testRenameAndSetModifyTime() throws Exception {<a name="line.307"></a>
-<span class="sourceLineNo">308</span> HBaseTestingUtility htu = new HBaseTestingUtility();<a name="line.308"></a>
-<span class="sourceLineNo">309</span> Configuration conf = htu.getConfiguration();<a name="line.309"></a>
-<span class="sourceLineNo">310</span><a name="line.310"></a>
-<span class="sourceLineNo">311</span> MiniDFSCluster cluster = htu.startMiniDFSCluster(1);<a name="line.311"></a>
-<span class="sourceLineNo">312</span> assertTrue(FSUtils.isHDFS(conf));<a name="line.312"></a>
-<span class="sourceLineNo">313</span><a name="line.313"></a>
-<span class="sourceLineNo">314</span> FileSystem fs = FileSystem.get(conf);<a name="line.314"></a>
-<span class="sourceLineNo">315</span> Path testDir = htu.getDataTestDirOnTestFS("testArchiveFile");<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span> String file = UUID.randomUUID().toString();<a name="line.317"></a>
-<span class="sourceLineNo">318</span> Path p = new Path(testDir, file);<a name="line.318"></a>
+<span class="sourceLineNo">281</span> FsPermission perms = FSUtils.getFilePermissions(fs, conf, HConstants.DATA_FILE_UMASK_KEY);<a name="line.281"></a>
+<span class="sourceLineNo">282</span> // then that the correct file is created<a name="line.282"></a>
+<span class="sourceLineNo">283</span> String file = UUID.randomUUID().toString();<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Path p = new Path(htu.getDataTestDir(), "temptarget" + File.separator + file);<a name="line.284"></a>
+<span class="sourceLineNo">285</span> Path p1 = new Path(htu.getDataTestDir(), "temppath" + File.separator + file);<a name="line.285"></a>
+<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
+<span class="sourceLineNo">287</span> FSDataOutputStream out = FSUtils.create(conf, fs, p, perms, null);<a name="line.287"></a>
+<span class="sourceLineNo">288</span> out.close();<a name="line.288"></a>
+<span class="sourceLineNo">289</span> assertTrue("The created file should be present", FSUtils.isExists(fs, p));<a name="line.289"></a>
+<span class="sourceLineNo">290</span> // delete the file with recursion as false. Only the file will be deleted.<a name="line.290"></a>
+<span class="sourceLineNo">291</span> FSUtils.delete(fs, p, false);<a name="line.291"></a>
+<span class="sourceLineNo">292</span> // Create another file<a name="line.292"></a>
+<span class="sourceLineNo">293</span> FSDataOutputStream out1 = FSUtils.create(conf, fs, p1, perms, null);<a name="line.293"></a>
+<span class="sourceLineNo">294</span> out1.close();<a name="line.294"></a>
+<span class="sourceLineNo">295</span> // delete the file with recursion as false. Still the file only will be deleted<a name="line.295"></a>
+<span class="sourceLineNo">296</span> FSUtils.delete(fs, p1, true);<a name="line.296"></a>
+<span class="sourceLineNo">297</span> assertFalse("The created file should be present", FSUtils.isExists(fs, p1));<a name="line.297"></a>
+<span class="sourceLineNo">298</span> // and then cleanup<a name="line.298"></a>
+<span class="sourceLineNo">299</span> } finally {<a name="line.299"></a>
+<span class="sourceLineNo">300</span> FSUtils.delete(fs, p, true);<a name="line.300"></a>
+<span class="sourceLineNo">301</span> FSUtils.delete(fs, p1, true);<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><a name="line.304"></a>
+<span class="sourceLineNo">305</span> @Test<a name="line.305"></a>
+<span class="sourceLineNo">306</span> public void testRenameAndSetModifyTime() throws Exception {<a name="line.306"></a>
+<span class="sourceLineNo">307</span> MiniDFSCluster cluster = htu.startMiniDFSCluster(1);<a name="line.307"></a>
+<span class="sourceLineNo">308</span> assertTrue(FSUtils.isHDFS(conf));<a name="line.308"></a>
+<span class="sourceLineNo">309</span><a name="line.309"></a>
+<span class="sourceLineNo">310</span> FileSystem fs = FileSystem.get(conf);<a name="line.310"></a>
+<span class="sourceLineNo">311</span> Path testDir = htu.getDataTestDirOnTestFS("testArchiveFile");<a name="line.311"></a>
+<span class="sourceLineNo">312</span><a name="line.312"></a>
+<span class="sourceLineNo">313</span> String file = UUID.randomUUID().toString();<a name="line.313"></a>
+<span class="sourceLineNo">314</span> Path p = new Path(testDir, file);<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span> FSDataOutputStream out = fs.create(p);<a name="line.316"></a>
+<span class="sourceLineNo">317</span> out.close();<a name="line.317"></a>
+<span class="sourceLineNo">318</span> assertTrue("The created file should be present", FSUtils.isExists(fs, p));<a name="line.318"></a>
<span class="sourceLineNo">319</span><a name="line.319"></a>
-<span class="sourceLineNo">320</span> FSDataOutputStream out = fs.create(p);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> out.close();<a name="line.321"></a>
-<span class="sourceLineNo">322</span> assertTrue("The created file should be present", FSUtils.isExists(fs, p));<a name="line.322"></a>
-<span class="sourceLineNo">323</span><a name="line.323"></a>
-<span class="sourceLineNo">324</span> long expect = System.currentTimeMillis() + 1000;<a name="line.324"></a>
-<span class="sourceLineNo">325</span> assertNotEquals(expect, fs.getFileStatus(p).getModificationTime());<a name="line.325"></a>
-<span class="sourceLineNo">326</span><a name="line.326"></a>
-<span class="sourceLineNo">327</span> ManualEnvironmentEdge mockEnv = new ManualEnvironmentEdge();<a name="line.327"></a>
-<span class="sourceLineNo">328</span> mockEnv.setValue(expect);<a name="line.328"></a>
-<span class="sourceLineNo">329</span> EnvironmentEdgeManager.injectEdge(mockEnv);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> try {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> String dstFile = UUID.randomUUID().toString();<a name="line.331"></a>
-<span class="sourceLineNo">332</span> Path dst = new Path(testDir , dstFile);<a name="line.332"></a>
+<span class="sourceLineNo">320</span> long expect = System.currentTimeMillis() + 1000;<a name="line.320"></a>
+<span class="sourceLineNo">321</span> assertNotEquals(expect, fs.getFileStatus(p).getModificationTime());<a name="line.321"></a>
+<span class="sourceLineNo">322</span><a name="line.322"></a>
+<span class="sourceLineNo">323</span> ManualEnvironmentEdge mockEnv = new ManualEnvironmentEdge();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> mockEnv.setValue(expect);<a name="line.324"></a>
+<span class="sourceLineNo">325</span> EnvironmentEdgeManager.injectEdge(mockEnv);<a name="line.325"></a>
+<span class="sourceLineNo">326</span> try {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> String dstFile = UUID.randomUUID().toString();<a name="line.327"></a>
+<span class="sourceLineNo">328</span> Path dst = new Path(testDir , dstFile);<a name="line.328"></a>
+<span class="sourceLineNo">329</span><a name="line.329"></a>
+<span class="sourceLineNo">330</span> assertTrue(FSUtils.renameAndSetModifyTime(fs, p, dst));<a name="line.330"></a>
+<span class="sourceLineNo">331</span> assertFalse("The moved file should not be present", FSUtils.isExists(fs, p));<a name="line.331"></a>
+<span class="sourceLineNo">332</span> assertTrue("The dst file should be present", FSUtils.isExists(fs, dst));<a name="line.332"></a>
<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span> assertTrue(FSUtils.renameAndSetModifyTime(fs, p, dst));<a name="line.334"></a>
-<span class="sourceLineNo">335</span> assertFalse("The moved file should not be present", FSUtils.isExists(fs, p));<a name="line.335"></a>
-<span class="sourceLineNo">336</span> assertTrue("The dst file should be present", FSUtils.isExists(fs, dst));<a name="line.336"></a>
-<span class="sourceLineNo">337</span><a name="line.337"></a>
-<span class="sourceLineNo">338</span> assertEquals(expect, fs.getFileStatus(dst).getModificationTime());<a name="line.338"></a>
-<span class="sourceLineNo">339</span> cluster.shutdown();<a name="line.339"></a>
-<span class="sourceLineNo">340</span> } finally {<a name="line.340"></a>
-<span class="sourceLineNo">341</span> EnvironmentEdgeManager.reset();<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><a name="line.344"></a>
-<span class="sourceLineNo">345</span> private void verifyFileInDirWithStoragePolicy(final String policy) throws Exception {<a name="line.345"></a>
-<span class="sourceLineNo">346</span> HBaseTestingUtility htu = new HBaseTestingUtility();<a name="line.346"></a>
-<span class="sourceLineNo">347</span> Configuration conf = htu.getConfiguration();<a name="line.347"></a>
-<span class="sourceLineNo">348</span> conf.set(HConstants.WAL_STORAGE_POLICY, policy);<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span> MiniDFSCluster cluster = htu.startMiniDFSCluster(1);<a name="line.350"></a>
-<span class="sourceLineNo">351</span> try {<a name="line.351"></a>
-<span class="sourceLineNo">352</span> assertTrue(FSUtils.isHDFS(conf));<a name="line.352"></a>
-<span class="sourceLineNo">353</span><a name="line.353"></a>
-<span class="sourceLineNo">354</span> FileSystem fs = FileSystem.get(conf);<a name="line.354"></a>
-<span class="sourceLineNo">355</span> Path testDir = htu.getDataTestDirOnTestFS("testArchiveFile");<a name="line.355"></a>
-<span class="sourceLineNo">356</span> fs.mkdirs(testDir);<a name="line.356"></a>
-<span class="sourceLineNo">357</span><a name="line.357"></a>
-<span class="sourceLineNo">358</span> FSUtils.setStoragePolicy(fs, conf, testDir, HConstants.WAL_STORAGE_POLICY,<a name="line.358"></a>
-<span class="sourceLineNo">359</span> HConstants.DEFAULT_WAL_STORAGE_POLICY);<a name="line.359"></a>
-<span class="sourceLineNo">360</span><a name="line.360"></a>
-<span class="sourceLineNo">361</span> String file = UUID.randomUUID().toString();<a name="line.361"></a>
-<span class="sourceLineNo">362</span> Path p = new Path(testDir, file);<a name="line.362"></a>
-<span class="sourceLineNo">363</span> WriteDataToHDFS(fs, p, 4096);<a name="line.363"></a>
-<span class="sourceLineNo">364</span> // will assert existance before deleting.<a name="line.364"></a>
-<span class="sourceLineNo">365</span> cleanupFile(fs, testDir);<a name="line.365"></a>
-<span class="sourceLineNo">366</span> } finally {<a name="line.366"></a>
-<span class="sourceLineNo">367</span> cluster.shutdown();<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><a name="line.370"></a>
+<span class="sourceLineNo">334</span> assertEquals(expect, fs.getFileStatus(dst).getModificationTime());<a name="line.334"></a>
+<span class="sourceLineNo">335</span> cluster.shutdown();<a name="line.335"></a>
+<span class="sourceLineNo">336</span> } finally {<a name="line.336"></a>
+<span class="sourceLineNo">337</span> EnvironmentEdgeManager.reset();<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><a name="line.340"></a>
+<span class="sourceLineNo">341</span> private void verifyFileInDirWithStoragePolicy(final String policy) throws Exception {<a name="line.341"></a>
+<span class="sourceLineNo">342</span> conf.set(HConstants.WAL_STORAGE_POLICY, policy);<a name="line.342"></a>
+<span class="sourceLineNo">343</span><a name="line.343"></a>
+<span class="sourceLineNo">344</span> MiniDFSCluster cluster = htu.startMiniDFSCluster(1);<a name="line.344"></a>
+<span class="sourceLineNo">345</span> try {<a name="line.345"></a>
+<span class="sourceLineNo">346</span> assertTrue(FSUtils.isHDFS(conf));<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span> FileSystem fs = FileSystem.get(conf);<a name="line.348"></a>
+<span class="sourceLineNo">349</span> Path testDir = htu.getDataTestDirOnTestFS("testArchiveFile");<a name="line.349"></a>
+<span class="sourceLineNo">350</span> fs.mkdirs(testDir);<a name="line.350"></a>
+<span class="sourceLineNo">351</span><a name="line.351"></a>
+<span class="sourceLineNo">352</span> FSUtils.setStoragePolicy(fs, conf, testDir, HConstants.WAL_STORAGE_POLICY,<a name="line.352"></a>
+<span class="sourceLineNo">353</span> HConstants.DEFAULT_WAL_STORAGE_POLICY);<a name="line.353"></a>
+<span class="sourceLineNo">354</span><a name="line.354"></a>
+<span class="sourceLineNo">355</span> String file = UUID.randomUUID().toString();<a name="line.355"></a>
+<span class="sourceLineNo">356</span> Path p = new Path(testDir, file);<a name="line.356"></a>
+<span class="sourceLineNo">357</span> WriteDataToHDFS(fs, p, 4096);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> // will assert existance before deleting.<a name="line.358"></a>
+<span class="sourceLineNo">359</span> cleanupFile(fs, testDir);<a name="line.359"></a>
+<span class="sourceLineNo">360</span> } finally {<a name="line.360"></a>
+<span class="sourceLineNo">361</span> cluster.shutdown();<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><a name="line.364"></a>
+<span class="sourceLineNo">365</span> @Test<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public void testSetStoragePolicyDefault() throws Exception {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> verifyFileInDirWithStoragePolicy(HConstants.DEFAULT_WAL_STORAGE_POLICY);<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> /* might log a warning, but still work. (always warning on Hadoop < 2.6.0) */<a name="line.370"></a>
<span class="sourceLineNo">371</span> @Test<a name="line.371"></a>
-<span class="sourceLineNo">372</span> public void testSetStoragePolicyDefault() throws Exception {<a name="line.372"></a>
-<span class="sourceLineNo">373</span> verifyFileInDirWithStoragePolicy(HConstants.DEFAULT_WAL_STORAGE_POLICY);<a name="line.373"></a>
+<span class="sourceLineNo">372</span> public void testSetStoragePolicyValidButMaybeNotPresent() throws Exception {<a name="line.372"></a>
+<span class="sourceLineNo">373</span> verifyFileInDirWithStoragePolicy("ALL_SSD");<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> /* might log a warning, but still work. (always warning on Hadoop < 2.6.0) */<a name="line.376"></a>
+<span class="sourceLineNo">376</span> /* should log a warning, but still work. (different warning on Hadoop < 2.6.0) */<a name="line.376"></a>
<span class="sourceLineNo">377</span> @Test<a name="line.377"></a>
-<span class="sourceLineNo">378</span> public void testSetStoragePolicyValidButMaybeNotPresent() throws Exception {<a name="line.378"></a>
-<span class="sourceLineNo">379</span> verifyFileInDirWithStoragePolicy("ALL_SSD");<a name="line.379"></a>
+<span class="sourceLineNo">378</span> public void testSetStoragePolicyInvalid() throws Exception {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> verifyFileInDirWithStoragePolicy("1772");<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> /* should log a warning, but still work. (different warning on Hadoop < 2.6.0) */<a name="line.382"></a>
-<span class="sourceLineNo">383</span> @Test<a name="line.383"></a>
-<span class="sourceLineNo">384</span> public void testSetStoragePolicyInvalid() throws Exception {<a name="line.384"></a>
-<span class="sourceLineNo">385</span> verifyFileInDirWithStoragePolicy("1772");<a name="line.385"></a>
-<span class="sourceLineNo">386</span> }<a name="line.386"></a>
-<span class="sourceLineNo">387</span><a name="line.387"></a>
-<span class="sourceLineNo">388</span> @Test<a name="line.388"></a>
-<span class="sourceLineNo">389</span> public void testSetWALRootDir() throws Exception {<a name="line.389"></a>
-<span class="sourceLineNo">390</span> HBaseTestingUtility htu = new HBaseTestingUtility();<a name="line.390"></a>
-<span class="sourceLineNo">391</span> Configuration conf = htu.getConfiguration();<a name="line.391"></a>
-<span class="sourceLineNo">392</span> Path p = new Path("file:///hbase/root");<a name="line.392"></a>
-<span class="sourceLineNo">393</span> FSUtils.setWALRootDir(conf, p);<a name="line.393"></a>
-<span class="sourceLineNo">394</span> assertEquals(p.toString(), conf.get(HFileSystem.HBASE_WAL_DIR));<a name="line.394"></a>
-<span class="sourceLineNo">395</span> }<a name="line.395"></a>
-<span class="sourceLineNo">396</span><a name="line.396"></a>
-<span class="sourceLineNo">397</span> @Test<a name="line.397"></a>
-<span class="sourceLineNo">398</span> public void testGetWALRootDir() throws IOException {<a name="line.398"></a>
-<span class="sourceLineNo">399</span> HBaseTestingUtility htu = new HBaseTestingUtility();<a name="line.399"></a>
-<span class="sourceLineNo">400</span> Configuration conf = htu.getConfiguration();<a name="line.400"></a>
-<span class="sourceLineNo">401</span> Path root = new Path("file:///hbase/root");<a name="line.401"></a>
-<span class="sourceLineNo">402</span> Path walRoot = new Path("file:///hbase/logroot");<a name="line.402"></a>
-<span class="sourceLineNo">403</span> FSUtils.setRootDir(conf, root);<a name="line.403"></a>
-<span class="sourceLineNo">404</span> assertEquals(FSUtils.getRootDir(conf), root);<a name="line.404"></a>
-<span class="sourceLineNo">405</span> assertEquals(FSUtils.getWALRootDir(conf), root);<a name="line.405"></a>
-<span class="sourceLineNo">406</span> FSUtils.setWALRootDir(conf, walRoot);<a name="line.406"></a>
-<span class="sourceLineNo">407</span> assertEquals(FSUtils.getWALRootDir(conf), walRoot);<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> @Test(expected=IllegalStateException.class)<a name="line.410"></a>
-<span class="sourceLineNo">411</span> public void testGetWALRootDirIllegalWALDir() throws IOException {<a name="line.411"></a>
-<span class="sourceLineNo">412</span> HBaseTestingUtility htu = new HBaseTestingUtility();<a name="line.412"></a>
-<span class="sourceLineNo">413</span> Configuration conf = htu.getConfiguration();<a name="line.413"></a>
-<span class="sourceLineNo">414</span> Path root = new Path("file:///hbase/root");<a name="line.414"></a>
-<span class="sourceLineNo">415</span> Path invalidWALDir = new Path("file:///hbase/root/logroot");<a name="line.415"></a>
-<span class="sourceLineNo">416</span> FSUtils.setRootDir(conf, root);<a name="line.416"></a>
-<span class="sourceLineNo">417</span> FSUtils.setWALRootDir(conf, invalidWALDir);<a name="line.417"></a>
-<span class="sourceLineNo">418</span> FSUtils.getWALRootDir(conf);<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> @Test<a name="line.421"></a>
-<span class="sourceLineNo">422</span> public void testRemoveWALRootPath() throws Exception {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> HBaseTestingUtility htu = new HBaseTestingUtility();<a name="line.423"></a>
-<span class="sourceLineNo">424</span> Configuration conf = htu.getConfiguration();<a name="line.424"></a>
-<span class="sourceLineNo">425</span> FSUtils.setRootDir(conf, new Path("file:///user/hbase"));<a name="line.425"></a>
-<span class="sourceLineNo">426</span> Path testFile = new Path(FSUtils.getRootDir(conf), "test/testfile");<a name="line.426"></a>
-<span class="sourceLineNo">427</span> Path tmpFile = new Path("file:///test/testfile");<a name="line.427"></a>
-<span class="sourceLineNo">428</span> assertEquals(FSUtils.removeWALRootPath(testFile, conf), "test/testfile");<a name="line.428"></a>
-<span class="sourceLineNo">429</span> assertEquals(FSUtils.removeWALRootPath(tmpFile, conf), tmpFile.toString());<a name="line.429"></a>
-<span class="sourceLineNo">430</span> FSUtils.setWALRootDir(conf, new Path("file:///user/hbaseLogDir"));<a name="line.430"></a>
-<span class="sourceLineNo">431</span> assertEquals(FSUtils.removeWALRootPath(testFile, conf), testFile.toString());<a name="line.431"></a>
-<span class="sourceLineNo">432</span> Path logFile = new Path(FSUtils.getWALRootDir(conf), "test/testlog");<a name="line.432"></a>
-<span class="sourceLineNo">433</span> assertEquals(FSUtils.removeWALRootPath(logFile, conf), "test/testlog");<a name="line.433"></a>
-<span class="sourceLineNo">434</span> }<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> * Ugly test that ensures we can get at the hedged read counters in dfsclient.<a name="line.437"></a>
-<span class="sourceLineNo">438</span> * Does a bit of preading with hedged reads enabled using code taken from hdfs TestPread.<a name="line.438"></a>
-<span class="sourceLineNo">439</span> * @throws Exception<a name="line.439"></a>
-<span class="sourceLineNo">440</span> */<a name="line.440"></a>
-<span class="sourceLineNo">441</span> @Test public void testDFSHedgedReadMetrics() throws Exception {<a name="line.441"></a>
-<span class="sourceLineNo">442</span> HBaseTestingUtility htu = new HBaseTestingUtility();<a name="line.442"></a>
-<span class="sourceLineNo">443</span> // Enable hedged reads and set it so the threshold is really low.<a name="line.443"></a>
-<span class="sourceLineNo">444</span> // Most of this test is taken from HDFS, from TestPread.<a name="line.444"></a>
-<span class="sourceLineNo">445</span> Configuration conf = htu.getConfiguration();<a name="line.445"></a>
-<span class="sourceLineNo">446</span> conf.setInt(DFSConfigKeys.DFS_DFSCLIENT_HEDGED_READ_THREADPOOL_SIZE, 5);<a name="line.446"></a>
-<span class="sourceLineNo">447</span> conf.setLong(DFSConfigKeys.DFS_DFSCLIENT_HEDGED_READ_THRESHOLD_MILLIS, 0);<a name="line.447"></a>
-<span class="sourceLineNo">448</span> conf.setLong(DFSConfigKeys.DFS_BLOCK_SIZE_KEY, 4096);<a name="line.448"></a>
-<span class="sourceLineNo">449</span> conf.setLong(DFSConfigKeys.DFS_CLIENT_READ_PREFETCH_SIZE_KEY, 4096);<a name="line.449"></a>
-<span class="sourceLineNo">450</span> // Set short retry timeouts so this test runs faster<a name="line.450"></a>
-<span class="sourceLineNo">451</span> conf.setInt(DFSConfigKeys.DFS_CLIENT_RETRY_WINDOW_BASE, 0);<a name="line.451"></a>
-<span class="sourceLineNo">452</span> conf.setBoolean("dfs.datanode.transferTo.allowed", false);<a name="line.452"></a>
-<span class="sourceLineNo">453</span> MiniDFSCluster cluster = new MiniDFSCluster.Builder(conf).numDataNodes(3).build();<a name="line.453"></a>
-<span class="sourceLineNo">454</span> // Get the metrics. Should be empty.<a name="line.454"></a>
-<span class="sourceLineNo">455</span> DFSHedgedReadMetrics metrics = FSUtils.getDFSHedgedReadMetrics(conf);<a name="line.455"></a>
-<span class="sourceLineNo">456</span> assertEquals(0, metrics.getHedgedReadOps());<a name="line.456"></a>
-<span class="sourceLineNo">457</span> FileSystem fileSys = cluster.getFileSystem();<a name="line.457"></a>
-<span class="sourceLineNo">458</span> try {<a name="line.458"></a>
-<span class="sourceLineNo">459</span> Path p = new Path("preadtest.dat");<a name="line.459"></a>
-<span class="sourceLineNo">460</span> // We need > 1 blocks to test out the hedged reads.<a name="line.460"></a>
-<span class="sourceLineNo">461</span> DFSTestUtil.createFile(fileSys, p, 12 * blockSize, 12 * blockSize,<a name="line.461"></a>
-<span class="sourceLineNo">462</span> blockSize, (short) 3, seed);<a name="line.462"></a>
-<span class="sourceLineNo">463</span> pReadFile(fileSys, p);<a name="line.463"></a>
-<span class="sourceLineNo">464</span> cleanupFile(fileSys, p);<a name="line.464"></a>
-<span class="sourceLineNo">465</span> assertTrue(metrics.getHedgedReadOps() > 0);<a name="line.465"></a>
-<span class="sourceLineNo">466</span> } finally {<a name="line.466"></a>
-<span class="sourceLineNo">467</span> fileSys.close();<a name="line.467"></a>
-<span class="sourceLineNo">468</span> cluster.shutdown();<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><a name="line.471"></a>
-<span class="sourceLineNo">472</span> // Below is taken from TestPread over in HDFS.<a name="line.472"></a>
-<span class="sourceLineNo">473</span> static final int blockSize = 4096;<a name="line.473"></a>
-<span class="sourceLineNo">474</span> static final long seed = 0xDEADBEEFL;<a name="line.474"></a>
-<span class="sourceLineNo">475</span><a name="line.475"></a>
-<span class="sourceLineNo">476</span> private void pReadFile(FileSystem fileSys, Path name) throws IOException {<a name="line.476"></a>
-<span class="sourceLineNo">477</span> FSDataInputStream stm = fileSys.open(name);<a name="line.477"></a>
-<span class="sourceLineNo">478</span> byte[] expected = new byte[12 * blockSize];<a name="line.478"></a>
-<span class="sourceLineNo">479</span> Random rand = new Random(seed);<a name="line.479"></a>
-<span class="sourceLineNo">480</span> rand.nextBytes(expected);<a name="line.480"></a>
-<span class="sourceLineNo">481</span> // do a sanity check. Read first 4K bytes<a name="line.481"></a>
-<span class="sourceLineNo">482</span> byte[] actual = new byte[4096];<a name="line.482"></a>
-<span class="sourceLineNo">483</span> stm.readFully(actual);<a name="line.483"></a>
-<span class="sourceLineNo">484</span> checkAndEraseData(actual, 0, expected, "Read Sanity Test");<a name="line.484"></a>
-<span class="sourceLineNo">485</span> // now do a pread for the first 8K bytes<a name="line.485"></a>
-<span class="sourceLineNo">486</span> actual = new byte[8192];<a name="line.486"></a>
-<span class="sourceLineNo">487</span> doPread(stm, 0L, actual, 0, 8192);<a name="line.487"></a>
-<span class="sourceLineNo">488</span> checkAndEraseData(actual, 0, expected, "Pread Test 1");<a name="line.488"></a>
-<span class="sourceLineNo">489</span> // Now check to see if the normal read returns 4K-8K byte range<a name="line.489"></a>
-<span class="sourceLineNo">490</span> actual = new byte[4096];<a name="line.490"></a>
-<span class="sourceLineNo">491</span> stm.readFully(actual);<a name="line.491"></a>
-<span class="sourceLineNo">492</span> checkAndEraseData(actual, 4096, expected, "Pread Test 2");<a name="line.492"></a>
-<span class="sourceLineNo">493</span> // Now see if we can cross a single block boundary successfully<a name="line.493"></a>
-<span class="sourceLineNo">494</span> // read 4K bytes from blockSize - 2K offset<a name="line.494"></a>
-<span class="sourceLineNo">495</span> stm.readFully(blockSize - 2048, actual, 0, 4096);<a name="line.495"></a>
-<span class="sourceLineNo">496</span> checkAndEraseData(actual, (blockSize - 2048), expected, "Pread Test 3");<a name="line.496"></a>
-<span class="sourceLineNo">497</span> // now see if we can cross two block boundaries successfully<a name="line.497"></a>
-<span class="sourceLineNo">498</span> // read blockSize + 4K bytes from blockSize - 2K offset<a name="line.498"></a>
-<span class="sourceLineNo">499</span> actual = new byte[blockSize + 4096];<a name="line.499"></a>
-<span class="sourceLineNo">500</span> stm.readFully(blockSize - 2048, actual);<a name="line.500"></a>
-<span class="sourceLineNo">501</span> checkAndEraseData(actual, (blockSize - 2048), expected, "Pread Test 4");<a name="line.501"></a>
-<span class="sourceLineNo">502</span> // now see if we can cross two block boundaries that are not cached<a name="line.502"></a>
-<span class="sourceLineNo">503</span> // read blockSize + 4K bytes from 10*blockSize - 2K offset<a name="line.503"></a>
-<span class="sourceLineNo">504</span> actual = new byte[blockSize + 4096];<a name="line.504"></a>
-<span class="sourceLineNo">505</span> stm.readFully(10 * blockSize - 2048, actual);<a name="line.505"></a>
-<span class="sourceLineNo">506</span> checkAndEraseData(actual, (10 * blockSize - 2048), expected, "Pread Test 5");<a name="line.506"></a>
-<span class="sourceLineNo">507</span> // now check that even after all these preads, we can still read<a name="line.507"></a>
-<span class="sourceLineNo">508</span> // bytes 8K-12K<a name="line.508"></a>
-<span class="sourceLineNo">509</span> actual = new byte[4096];<a name="line.509"></a>
-<span class="sourceLineNo">510</span> stm.readFully(actual);<a name="line.510"></a>
-<span class="sourceLineNo">511</span> checkAndEraseData(actual, 8192, expected, "Pread Test 6");<a name="line.511"></a>
-<span class="sourceLineNo">512</span> // done<a name="line.512"></a>
-<span class="sourceLineNo">513</span> stm.close();<a name="line.513"></a>
-<span class="sourceLineNo">514</span> // check block location caching<a name="line.514"></a>
-<span class="sourceLineNo">515</span> stm = fileSys.open(name);<a name="line.515"></a>
-<span class="sourceLineNo">516</span> stm.readFully(1, actual, 0, 4096);<a name="line.516"></a>
-<span class="sourceLineNo">517</span> stm.readFully(4*blockSize, actual, 0, 4096);<a name="line.517"></a>
-<span class="sourceLineNo">518</span> stm.readFully(7*blockSize, actual, 0, 4096);<a name="line.518"></a>
-<span class="sourceLineNo">519</span> actual = new byte[3*4096];<a name="line.519"></a>
-<span class="sourceLineNo">520</span> stm.readFully(0*blockSize, actual, 0, 3*4096);<a name="line.520"></a>
-<span class="sourceLineNo">521</span> checkAndEraseData(actual, 0, expected, "Pread Test 7");<a name="line.521"></a>
-<span class="sourceLineNo">522</span> actual = new byte[8*4096];<a name="line.522"></a>
-<span class="sourceLineNo">523</span> stm.readFully(3*blockSize, actual, 0, 8*4096);<a name="line.523"></a>
-<span class="sourceLineNo">524</span> checkAndEraseData(actual, 3*blockSize, expected, "Pread Test 8");<a name="line.524"></a>
-<span class="sourceLineNo">525</span> // read the tail<a name="line.525"></a>
-<span class="sourceLineNo">526</span> stm.readFully(11*blockSize+blockSize/2, actual, 0, blockSize/2);<a name="line.526"></a>
-<span class="sourceLineNo">527</span> IOException res = null;<a name="line.527"></a>
-<span class="sourceLineNo">528</span> try { // read beyond the end of the file<a name="line.528"></a>
-<span class="sourceLineNo">529</span> stm.readFully(11*blockSize+blockSize/2, actual, 0, blockSize);<a name="line.529"></a>
-<span class="sourceLineNo">530</span> } catch (IOException e) {<a name="line.530"></a>
-<span class="sourceLineNo">531</span> // should throw an exception<a name="line.531"></a>
-<span class="sourceLineNo">532</span> res = e;<a name="line.532"></a>
-<span class="sourceLineNo">533</span> }<a name="line.533"></a>
-<span class="sourceLineNo">534</span> assertTrue("Error reading beyond file boundary.", res != null);<a name="line.534"></a>
-<span class="sourceLineNo">535</span><a name="line.535"></a>
-<span class="sourceLineNo">536</span> stm.close();<a name="line.536"></a>
-<span class="sourceLineNo">537</span> }<a name="line.537"></a>
-<span class="sourceLineNo">538</span><a name="line.538"></a>
-<span class="sourceLineNo">539</span> private void checkAndEraseData(byte[] actual, int from, byte[] expected, String message) {<a name="line.539"></a>
-<span class="sourceLineNo">540</span> for (int idx = 0; idx < actual.length; idx++) {<a name="line.540"></a>
-<span class="sourceLineNo">541</span> assertEquals(message+" byte "+(from+idx)+" differs. expected "+<a name="line.541"></a>
-<span class="sourceLineNo">542</span> expected[from+idx]+" actual "+actual[idx],<a name="line.542"></a>
-<span class="sourceLineNo">543</span> actual[idx], expected[from+idx]);<a name="line.543"></a>
-<span class="sourceLineNo">544</span> actual[idx] = 0;<a name="line.544"></a>
-<span class="sourceLineNo">545</span> }<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> private void doPread(FSDataInputStream stm, long position, byte[] buffer,<a name="line.548"></a>
-<span class="sourceLineNo">549</span> int offset, int length) throws IOException {<a name="line.549"></a>
-<span class="sourceLineNo">550</span> int nread = 0;<a name="line.550"></a>
-<span class="sourceLineNo">551</span> // long totalRead = 0;<a name="line.551"></a>
-<span class="sourceLineNo">552</span> // DFSInputStream dfstm = null;<a name="line.552"></a>
-<span class="sourceLineNo">553</span><a name="line.553"></a>
-<span class="sourceLineNo">554</span> /* Disable. This counts do not add up. Some issue in original hdfs tests?<a name="line.554"></a>
-<span class="sourceLineNo">555</span> if (stm.getWrappedStream() instanceof DFSInputStream) {<a name="line.555"></a>
-<span class="sourceLineNo">556</span> dfstm = (DFSInputStream) (stm.getWrappedStream());<a name="line.556"></a>
-<span class="sourceLineNo">557</span> totalRead = dfstm.getReadStatistics().getTotalBytesRead();<a name="line.557"></a>
-<span class="sourceLineNo">558</span> } */<a name="line.558"></a>
-<span class="sourceLineNo">559</span><a name="line.559"></a>
-<span class="sourceLineNo">560</span> while (nread < length) {<a name="line.560"></a>
-<span class="sourceLineNo">561</span> int nbytes =<a name="line.561"></a>
-<span class="sourceLineNo">562</span> stm.read(position + nread, buffer, offset + nread, length - nread);<a name="line.562"></a>
-<span class="sourceLineNo">563</span> assertTrue("Error in pread", nbytes > 0);<a name="line.563"></a>
-<span class="sourceLineNo">564</span> nread += nbytes;<a name="line.564"></a>
-<span class="sourceLineNo">565</span> }<a name="line.565"></a>
-<span class="sourceLineNo">566</span><a name="line.566"></a>
-<span class="sourceLineNo">567</span> /* Disable. This counts do not add up. Some issue in original hdfs tests?<a name="line.567"></a>
-<span class="sourceLineNo">568</span> if (dfstm != null) {<a name="line.568"></a>
-<span class="sourceLineNo">569</span> if (isHedgedRead) {<a name="line.569"></a>
-<span class="sourceLineNo">570</span> assertTrue("Expected read statistic to be incremented",<a name="line.570"></a>
-<span class="sourceLineNo">571</span> length <= dfstm.getReadStatistics().getTotalBytesRead() - totalRead);<a name="line.571"></a>
-<span class="sourceLineNo">572</span> } else {<a name="line.572"></a>
-<span class="sourceLineNo">573</span> assertEquals("Expected read statistic to be incremented", length, dfstm<a name="line.573"></a>
-<span class="sourceLineNo">574</span> .getReadStatistics().getTotalBytesRead() - totalRead);<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> }<a name="line.577"></a>
-<span class="sourceLineNo">578</span><a name="line.578"></a>
-<span class="sourceLineNo">579</span> private void cleanupFile(FileSystem fileSys, Path name) throws IOException {<a name="line.579"></a>
-<span class="sourceLineNo">580</span> assertTrue(fileSys.exists(name));<a name="line.580"></a>
-<span class="sourceLineNo">581</span> assertTrue(fileSys.delete(name, true));<a name="line.581"></a>
-<span class="sourceLineNo">582</span> assertTrue(!fileSys.exists(name));<a name="line.582"></a>
-<span class="sourceLineNo">583</span> }<a name="line.583"></a>
-<span class="sourceLineNo">584</span>}<a name="line.584"></a>
+<span class="sourceLineNo">382</span> @Test<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public void testSetWALRootDir() throws Exception {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> Path p = new Path("file:
<TRUNCATED>
[39/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 a7a310c..20eaa56 100644
--- a/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
@@ -88,12 +88,12 @@
</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/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/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>
-<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/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/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>
+<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.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/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>
</ul>
</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
[09/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.Rejection.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.Rejection.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.Rejection.html
index 43cc877..6408c36 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.Rejection.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.Rejection.html
@@ -428,256 +428,259 @@
<span class="sourceLineNo">420</span> private int queuedPriority;<a name="line.420"></a>
<span class="sourceLineNo">421</span> private ThreadPoolExecutor parent;<a name="line.421"></a>
<span class="sourceLineNo">422</span> private User user;<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span> public CompactionRunner(Store store, Region region,<a name="line.424"></a>
-<span class="sourceLineNo">425</span> CompactionContext compaction, ThreadPoolExecutor parent, User user) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span> super();<a name="line.426"></a>
-<span class="sourceLineNo">427</span> this.store = store;<a name="line.427"></a>
-<span class="sourceLineNo">428</span> this.region = (HRegion)region;<a name="line.428"></a>
-<span class="sourceLineNo">429</span> this.compaction = compaction;<a name="line.429"></a>
-<span class="sourceLineNo">430</span> this.queuedPriority = (this.compaction == null)<a name="line.430"></a>
-<span class="sourceLineNo">431</span> ? store.getCompactPriority() : compaction.getRequest().getPriority();<a name="line.431"></a>
-<span class="sourceLineNo">432</span> this.parent = parent;<a name="line.432"></a>
-<span class="sourceLineNo">433</span> this.user = user;<a name="line.433"></a>
-<span class="sourceLineNo">434</span> }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span> @Override<a name="line.436"></a>
-<span class="sourceLineNo">437</span> public String toString() {<a name="line.437"></a>
-<span class="sourceLineNo">438</span> return (this.compaction != null) ? ("Request = " + compaction.getRequest())<a name="line.438"></a>
-<span class="sourceLineNo">439</span> : ("Store = " + store.toString() + ", pri = " + queuedPriority);<a name="line.439"></a>
-<span class="sourceLineNo">440</span> }<a name="line.440"></a>
-<span class="sourceLineNo">441</span><a name="line.441"></a>
-<span class="sourceLineNo">442</span> private void doCompaction(User user) {<a name="line.442"></a>
-<span class="sourceLineNo">443</span> // Common case - system compaction without a file selection. Select now.<a name="line.443"></a>
-<span class="sourceLineNo">444</span> if (this.compaction == null) {<a name="line.444"></a>
-<span class="sourceLineNo">445</span> int oldPriority = this.queuedPriority;<a name="line.445"></a>
-<span class="sourceLineNo">446</span> this.queuedPriority = this.store.getCompactPriority();<a name="line.446"></a>
-<span class="sourceLineNo">447</span> if (this.queuedPriority > oldPriority) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span> // Store priority decreased while we were in queue (due to some other compaction?),<a name="line.448"></a>
-<span class="sourceLineNo">449</span> // requeue with new priority to avoid blocking potential higher priorities.<a name="line.449"></a>
-<span class="sourceLineNo">450</span> this.parent.execute(this);<a name="line.450"></a>
-<span class="sourceLineNo">451</span> return;<a name="line.451"></a>
-<span class="sourceLineNo">452</span> }<a name="line.452"></a>
-<span class="sourceLineNo">453</span> try {<a name="line.453"></a>
-<span class="sourceLineNo">454</span> this.compaction = selectCompaction(this.region, this.store, queuedPriority, null, user);<a name="line.454"></a>
-<span class="sourceLineNo">455</span> } catch (IOException ex) {<a name="line.455"></a>
-<span class="sourceLineNo">456</span> LOG.error("Compaction selection failed " + this, ex);<a name="line.456"></a>
-<span class="sourceLineNo">457</span> server.checkFileSystem();<a name="line.457"></a>
-<span class="sourceLineNo">458</span> return;<a name="line.458"></a>
-<span class="sourceLineNo">459</span> }<a name="line.459"></a>
-<span class="sourceLineNo">460</span> if (this.compaction == null) return; // nothing to do<a name="line.460"></a>
-<span class="sourceLineNo">461</span> // Now see if we are in correct pool for the size; if not, go to the correct one.<a name="line.461"></a>
-<span class="sourceLineNo">462</span> // We might end up waiting for a while, so cancel the selection.<a name="line.462"></a>
-<span class="sourceLineNo">463</span> assert this.compaction.hasSelection();<a name="line.463"></a>
-<span class="sourceLineNo">464</span> ThreadPoolExecutor pool = store.throttleCompaction(<a name="line.464"></a>
-<span class="sourceLineNo">465</span> compaction.getRequest().getSize()) ? longCompactions : shortCompactions;<a name="line.465"></a>
-<span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span> // Long compaction pool can process small job<a name="line.467"></a>
-<span class="sourceLineNo">468</span> // Short compaction pool should not process large job<a name="line.468"></a>
-<span class="sourceLineNo">469</span> if (this.parent == shortCompactions && pool == longCompactions) {<a name="line.469"></a>
-<span class="sourceLineNo">470</span> this.store.cancelRequestedCompaction(this.compaction);<a name="line.470"></a>
-<span class="sourceLineNo">471</span> this.compaction = null;<a name="line.471"></a>
-<span class="sourceLineNo">472</span> this.parent = pool;<a name="line.472"></a>
-<span class="sourceLineNo">473</span> this.parent.execute(this);<a name="line.473"></a>
-<span class="sourceLineNo">474</span> return;<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> // Finally we can compact something.<a name="line.477"></a>
-<span class="sourceLineNo">478</span> assert this.compaction != null;<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span> this.compaction.getRequest().beforeExecute();<a name="line.480"></a>
-<span class="sourceLineNo">481</span> try {<a name="line.481"></a>
-<span class="sourceLineNo">482</span> // Note: please don't put single-compaction logic here;<a name="line.482"></a>
-<span class="sourceLineNo">483</span> // put it into region/store/etc. This is CST logic.<a name="line.483"></a>
-<span class="sourceLineNo">484</span> long start = EnvironmentEdgeManager.currentTime();<a name="line.484"></a>
-<span class="sourceLineNo">485</span> boolean completed =<a name="line.485"></a>
-<span class="sourceLineNo">486</span> region.compact(compaction, store, compactionThroughputController, user);<a name="line.486"></a>
-<span class="sourceLineNo">487</span> long now = EnvironmentEdgeManager.currentTime();<a name="line.487"></a>
-<span class="sourceLineNo">488</span> LOG.info(((completed) ? "Completed" : "Aborted") + " compaction: " +<a name="line.488"></a>
-<span class="sourceLineNo">489</span> this + "; duration=" + StringUtils.formatTimeDiff(now, start));<a name="line.489"></a>
-<span class="sourceLineNo">490</span> if (completed) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span> // degenerate case: blocked regions require recursive enqueues<a name="line.491"></a>
-<span class="sourceLineNo">492</span> if (store.getCompactPriority() <= 0) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span> requestSystemCompaction(region, store, "Recursive enqueue");<a name="line.493"></a>
-<span class="sourceLineNo">494</span> } else {<a name="line.494"></a>
-<span class="sourceLineNo">495</span> // see if the compaction has caused us to exceed max region size<a name="line.495"></a>
-<span class="sourceLineNo">496</span> requestSplit(region);<a name="line.496"></a>
-<span class="sourceLineNo">497</span> }<a name="line.497"></a>
-<span class="sourceLineNo">498</span> }<a name="line.498"></a>
-<span class="sourceLineNo">499</span> } catch (IOException ex) {<a name="line.499"></a>
-<span class="sourceLineNo">500</span> IOException remoteEx =<a name="line.500"></a>
-<span class="sourceLineNo">501</span> ex instanceof RemoteException ? ((RemoteException) ex).unwrapRemoteException() : ex;<a name="line.501"></a>
-<span class="sourceLineNo">502</span> LOG.error("Compaction failed " + this, remoteEx);<a name="line.502"></a>
-<span class="sourceLineNo">503</span> if (remoteEx != ex) {<a name="line.503"></a>
-<span class="sourceLineNo">504</span> LOG.info("Compaction failed at original callstack: " + formatStackTrace(ex));<a name="line.504"></a>
-<span class="sourceLineNo">505</span> }<a name="line.505"></a>
-<span class="sourceLineNo">506</span> region.reportCompactionRequestFailure();<a name="line.506"></a>
-<span class="sourceLineNo">507</span> server.checkFileSystem();<a name="line.507"></a>
-<span class="sourceLineNo">508</span> } catch (Exception ex) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span> LOG.error("Compaction failed " + this, ex);<a name="line.509"></a>
-<span class="sourceLineNo">510</span> region.reportCompactionRequestFailure();<a name="line.510"></a>
-<span class="sourceLineNo">511</span> server.checkFileSystem();<a name="line.511"></a>
-<span class="sourceLineNo">512</span> } finally {<a name="line.512"></a>
-<span class="sourceLineNo">513</span> LOG.debug("CompactSplitThread Status: " + CompactSplitThread.this);<a name="line.513"></a>
-<span class="sourceLineNo">514</span> }<a name="line.514"></a>
-<span class="sourceLineNo">515</span> this.compaction.getRequest().afterExecute();<a name="line.515"></a>
-<span class="sourceLineNo">516</span> }<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span> @Override<a name="line.518"></a>
-<span class="sourceLineNo">519</span> public void run() {<a name="line.519"></a>
-<span class="sourceLineNo">520</span> Preconditions.checkNotNull(server);<a name="line.520"></a>
-<span class="sourceLineNo">521</span> if (server.isStopped()<a name="line.521"></a>
-<span class="sourceLineNo">522</span> || (region.getTableDesc() != null && !region.getTableDesc().isCompactionEnabled())) {<a name="line.522"></a>
-<span class="sourceLineNo">523</span> return;<a name="line.523"></a>
-<span class="sourceLineNo">524</span> }<a name="line.524"></a>
-<span class="sourceLineNo">525</span> doCompaction(user);<a name="line.525"></a>
-<span class="sourceLineNo">526</span> }<a name="line.526"></a>
-<span class="sourceLineNo">527</span><a name="line.527"></a>
-<span class="sourceLineNo">528</span> private String formatStackTrace(Exception ex) {<a name="line.528"></a>
-<span class="sourceLineNo">529</span> StringWriter sw = new StringWriter();<a name="line.529"></a>
-<span class="sourceLineNo">530</span> PrintWriter pw = new PrintWriter(sw);<a name="line.530"></a>
-<span class="sourceLineNo">531</span> ex.printStackTrace(pw);<a name="line.531"></a>
-<span class="sourceLineNo">532</span> pw.flush();<a name="line.532"></a>
-<span class="sourceLineNo">533</span> return sw.toString();<a name="line.533"></a>
-<span class="sourceLineNo">534</span> }<a name="line.534"></a>
-<span class="sourceLineNo">535</span><a name="line.535"></a>
-<span class="sourceLineNo">536</span> @Override<a name="line.536"></a>
-<span class="sourceLineNo">537</span> public int compareTo(CompactionRunner o) {<a name="line.537"></a>
-<span class="sourceLineNo">538</span> // Only compare the underlying request (if any), for queue sorting purposes.<a name="line.538"></a>
-<span class="sourceLineNo">539</span> int compareVal = queuedPriority - o.queuedPriority; // compare priority<a name="line.539"></a>
-<span class="sourceLineNo">540</span> if (compareVal != 0) return compareVal;<a name="line.540"></a>
-<span class="sourceLineNo">541</span> CompactionContext tc = this.compaction, oc = o.compaction;<a name="line.541"></a>
-<span class="sourceLineNo">542</span> // Sort pre-selected (user?) compactions before system ones with equal priority.<a name="line.542"></a>
-<span class="sourceLineNo">543</span> return (tc == null) ? ((oc == null) ? 0 : 1)<a name="line.543"></a>
-<span class="sourceLineNo">544</span> : ((oc == null) ? -1 : tc.getRequest().compareTo(oc.getRequest()));<a name="line.544"></a>
-<span class="sourceLineNo">545</span> }<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> /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span> * Cleanup class to use when rejecting a compaction request from the queue.<a name="line.549"></a>
-<span class="sourceLineNo">550</span> */<a name="line.550"></a>
-<span class="sourceLineNo">551</span> private static class Rejection implements RejectedExecutionHandler {<a name="line.551"></a>
-<span class="sourceLineNo">552</span> @Override<a name="line.552"></a>
-<span class="sourceLineNo">553</span> public void rejectedExecution(Runnable runnable, ThreadPoolExecutor pool) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span> if (runnable instanceof CompactionRunner) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span> CompactionRunner runner = (CompactionRunner)runnable;<a name="line.555"></a>
-<span class="sourceLineNo">556</span> LOG.debug("Compaction Rejected: " + runner);<a name="line.556"></a>
-<span class="sourceLineNo">557</span> runner.store.cancelRequestedCompaction(runner.compaction);<a name="line.557"></a>
-<span class="sourceLineNo">558</span> }<a name="line.558"></a>
-<span class="sourceLineNo">559</span> }<a name="line.559"></a>
-<span class="sourceLineNo">560</span> }<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span> /**<a name="line.562"></a>
-<span class="sourceLineNo">563</span> * {@inheritDoc}<a name="line.563"></a>
-<span class="sourceLineNo">564</span> */<a name="line.564"></a>
-<span class="sourceLineNo">565</span> @Override<a name="line.565"></a>
-<span class="sourceLineNo">566</span> public void onConfigurationChange(Configuration newConf) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span> // Check if number of large / small compaction threads has changed, and then<a name="line.567"></a>
-<span class="sourceLineNo">568</span> // adjust the core pool size of the thread pools, by using the<a name="line.568"></a>
-<span class="sourceLineNo">569</span> // setCorePoolSize() method. According to the javadocs, it is safe to<a name="line.569"></a>
-<span class="sourceLineNo">570</span> // change the core pool size on-the-fly. We need to reset the maximum<a name="line.570"></a>
-<span class="sourceLineNo">571</span> // pool size, as well.<a name="line.571"></a>
-<span class="sourceLineNo">572</span> int largeThreads = Math.max(1, newConf.getInt(<a name="line.572"></a>
-<span class="sourceLineNo">573</span> LARGE_COMPACTION_THREADS,<a name="line.573"></a>
-<span class="sourceLineNo">574</span> LARGE_COMPACTION_THREADS_DEFAULT));<a name="line.574"></a>
-<span class="sourceLineNo">575</span> if (this.longCompactions.getCorePoolSize() != largeThreads) {<a name="line.575"></a>
-<span class="sourceLineNo">576</span> LOG.info("Changing the value of " + LARGE_COMPACTION_THREADS +<a name="line.576"></a>
-<span class="sourceLineNo">577</span> " from " + this.longCompactions.getCorePoolSize() + " to " +<a name="line.577"></a>
-<span class="sourceLineNo">578</span> largeThreads);<a name="line.578"></a>
-<span class="sourceLineNo">579</span> if(this.longCompactions.getCorePoolSize() < largeThreads) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span> this.longCompactions.setMaximumPoolSize(largeThreads);<a name="line.580"></a>
-<span class="sourceLineNo">581</span> this.longCompactions.setCorePoolSize(largeThreads);<a name="line.581"></a>
-<span class="sourceLineNo">582</span> } else {<a name="line.582"></a>
-<span class="sourceLineNo">583</span> this.longCompactions.setCorePoolSize(largeThreads);<a name="line.583"></a>
-<span class="sourceLineNo">584</span> this.longCompactions.setMaximumPoolSize(largeThreads);<a name="line.584"></a>
-<span class="sourceLineNo">585</span> }<a name="line.585"></a>
-<span class="sourceLineNo">586</span> }<a name="line.586"></a>
-<span class="sourceLineNo">587</span><a name="line.587"></a>
-<span class="sourceLineNo">588</span> int smallThreads = newConf.getInt(SMALL_COMPACTION_THREADS,<a name="line.588"></a>
-<span class="sourceLineNo">589</span> SMALL_COMPACTION_THREADS_DEFAULT);<a name="line.589"></a>
-<span class="sourceLineNo">590</span> if (this.shortCompactions.getCorePoolSize() != smallThreads) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span> LOG.info("Changing the value of " + SMALL_COMPACTION_THREADS +<a name="line.591"></a>
-<span class="sourceLineNo">592</span> " from " + this.shortCompactions.getCorePoolSize() + " to " +<a name="line.592"></a>
-<span class="sourceLineNo">593</span> smallThreads);<a name="line.593"></a>
-<span class="sourceLineNo">594</span> if(this.shortCompactions.getCorePoolSize() < smallThreads) {<a name="line.594"></a>
-<span class="sourceLineNo">595</span> this.shortCompactions.setMaximumPoolSize(smallThreads);<a name="line.595"></a>
-<span class="sourceLineNo">596</span> this.shortCompactions.setCorePoolSize(smallThreads);<a name="line.596"></a>
-<span class="sourceLineNo">597</span> } else {<a name="line.597"></a>
-<span class="sourceLineNo">598</span> this.shortCompactions.setCorePoolSize(smallThreads);<a name="line.598"></a>
-<span class="sourceLineNo">599</span> this.shortCompactions.setMaximumPoolSize(smallThreads);<a name="line.599"></a>
-<span class="sourceLineNo">600</span> }<a name="line.600"></a>
-<span class="sourceLineNo">601</span> }<a name="line.601"></a>
-<span class="sourceLineNo">602</span><a name="line.602"></a>
-<span class="sourceLineNo">603</span> int splitThreads = newConf.getInt(SPLIT_THREADS,<a name="line.603"></a>
-<span class="sourceLineNo">604</span> SPLIT_THREADS_DEFAULT);<a name="line.604"></a>
-<span class="sourceLineNo">605</span> if (this.splits.getCorePoolSize() != splitThreads) {<a name="line.605"></a>
-<span class="sourceLineNo">606</span> LOG.info("Changing the value of " + SPLIT_THREADS +<a name="line.606"></a>
-<span class="sourceLineNo">607</span> " from " + this.splits.getCorePoolSize() + " to " +<a name="line.607"></a>
-<span class="sourceLineNo">608</span> splitThreads);<a name="line.608"></a>
-<span class="sourceLineNo">609</span> if(this.splits.getCorePoolSize() < splitThreads) {<a name="line.609"></a>
-<span class="sourceLineNo">610</span> this.splits.setMaximumPoolSize(splitThreads);<a name="line.610"></a>
-<span class="sourceLineNo">611</span> this.splits.setCorePoolSize(splitThreads);<a name="line.611"></a>
-<span class="sourceLineNo">612</span> } else {<a name="line.612"></a>
-<span class="sourceLineNo">613</span> this.splits.setCorePoolSize(splitThreads);<a name="line.613"></a>
-<span class="sourceLineNo">614</span> this.splits.setMaximumPoolSize(splitThreads);<a name="line.614"></a>
-<span class="sourceLineNo">615</span> }<a name="line.615"></a>
-<span class="sourceLineNo">616</span> }<a name="line.616"></a>
-<span class="sourceLineNo">617</span><a name="line.617"></a>
-<span class="sourceLineNo">618</span> ThroughputController old = this.compactionThroughputController;<a name="line.618"></a>
-<span class="sourceLineNo">619</span> if (old != null) {<a name="line.619"></a>
-<span class="sourceLineNo">620</span> old.stop("configuration change");<a name="line.620"></a>
-<span class="sourceLineNo">621</span> }<a name="line.621"></a>
-<span class="sourceLineNo">622</span> this.compactionThroughputController =<a name="line.622"></a>
-<span class="sourceLineNo">623</span> CompactionThroughputControllerFactory.create(server, newConf);<a name="line.623"></a>
-<span class="sourceLineNo">624</span><a name="line.624"></a>
-<span class="sourceLineNo">625</span> // We change this atomically here instead of reloading the config in order that upstream<a name="line.625"></a>
-<span class="sourceLineNo">626</span> // would be the only one with the flexibility to reload the config.<a name="line.626"></a>
-<span class="sourceLineNo">627</span> this.conf.reloadConfiguration();<a name="line.627"></a>
-<span class="sourceLineNo">628</span> }<a name="line.628"></a>
-<span class="sourceLineNo">629</span><a name="line.629"></a>
-<span class="sourceLineNo">630</span> protected int getSmallCompactionThreadNum() {<a name="line.630"></a>
-<span class="sourceLineNo">631</span> return this.shortCompactions.getCorePoolSize();<a name="line.631"></a>
-<span class="sourceLineNo">632</span> }<a name="line.632"></a>
-<span class="sourceLineNo">633</span><a name="line.633"></a>
-<span class="sourceLineNo">634</span> protected int getLargeCompactionThreadNum() {<a name="line.634"></a>
-<span class="sourceLineNo">635</span> return this.longCompactions.getCorePoolSize();<a name="line.635"></a>
-<span class="sourceLineNo">636</span> }<a name="line.636"></a>
-<span class="sourceLineNo">637</span><a name="line.637"></a>
-<span class="sourceLineNo">638</span> protected int getSplitThreadNum() {<a name="line.638"></a>
-<span class="sourceLineNo">639</span> return this.splits.getCorePoolSize();<a name="line.639"></a>
-<span class="sourceLineNo">640</span> }<a name="line.640"></a>
-<span class="sourceLineNo">641</span><a name="line.641"></a>
-<span class="sourceLineNo">642</span> /**<a name="line.642"></a>
-<span class="sourceLineNo">643</span> * {@inheritDoc}<a name="line.643"></a>
-<span class="sourceLineNo">644</span> */<a name="line.644"></a>
-<span class="sourceLineNo">645</span> @Override<a name="line.645"></a>
-<span class="sourceLineNo">646</span> public void registerChildren(ConfigurationManager manager) {<a name="line.646"></a>
-<span class="sourceLineNo">647</span> // No children to register.<a name="line.647"></a>
-<span class="sourceLineNo">648</span> }<a name="line.648"></a>
-<span class="sourceLineNo">649</span><a name="line.649"></a>
-<span class="sourceLineNo">650</span> /**<a name="line.650"></a>
-<span class="sourceLineNo">651</span> * {@inheritDoc}<a name="line.651"></a>
-<span class="sourceLineNo">652</span> */<a name="line.652"></a>
-<span class="sourceLineNo">653</span> @Override<a name="line.653"></a>
-<span class="sourceLineNo">654</span> public void deregisterChildren(ConfigurationManager manager) {<a name="line.654"></a>
-<span class="sourceLineNo">655</span> // No children to register<a name="line.655"></a>
-<span class="sourceLineNo">656</span> }<a name="line.656"></a>
-<span class="sourceLineNo">657</span><a name="line.657"></a>
-<span class="sourceLineNo">658</span> @VisibleForTesting<a name="line.658"></a>
-<span class="sourceLineNo">659</span> public ThroughputController getCompactionThroughputController() {<a name="line.659"></a>
-<span class="sourceLineNo">660</span> return compactionThroughputController;<a name="line.660"></a>
-<span class="sourceLineNo">661</span> }<a name="line.661"></a>
-<span class="sourceLineNo">662</span><a name="line.662"></a>
-<span class="sourceLineNo">663</span> @VisibleForTesting<a name="line.663"></a>
-<span class="sourceLineNo">664</span> /**<a name="line.664"></a>
-<span class="sourceLineNo">665</span> * Shutdown the long compaction thread pool.<a name="line.665"></a>
-<span class="sourceLineNo">666</span> * Should only be used in unit test to prevent long compaction thread pool from stealing job<a name="line.666"></a>
-<span class="sourceLineNo">667</span> * from short compaction queue<a name="line.667"></a>
-<span class="sourceLineNo">668</span> */<a name="line.668"></a>
-<span class="sourceLineNo">669</span> void shutdownLongCompactions(){<a name="line.669"></a>
-<span class="sourceLineNo">670</span> this.longCompactions.shutdown();<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">423</span> private long time;<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span> public CompactionRunner(Store store, Region region,<a name="line.425"></a>
+<span class="sourceLineNo">426</span> CompactionContext compaction, ThreadPoolExecutor parent, User user) {<a name="line.426"></a>
+<span class="sourceLineNo">427</span> super();<a name="line.427"></a>
+<span class="sourceLineNo">428</span> this.store = store;<a name="line.428"></a>
+<span class="sourceLineNo">429</span> this.region = (HRegion)region;<a name="line.429"></a>
+<span class="sourceLineNo">430</span> this.compaction = compaction;<a name="line.430"></a>
+<span class="sourceLineNo">431</span> this.queuedPriority = (this.compaction == null)<a name="line.431"></a>
+<span class="sourceLineNo">432</span> ? store.getCompactPriority() : compaction.getRequest().getPriority();<a name="line.432"></a>
+<span class="sourceLineNo">433</span> this.parent = parent;<a name="line.433"></a>
+<span class="sourceLineNo">434</span> this.user = user;<a name="line.434"></a>
+<span class="sourceLineNo">435</span> this.time = System.currentTimeMillis();<a name="line.435"></a>
+<span class="sourceLineNo">436</span> }<a name="line.436"></a>
+<span class="sourceLineNo">437</span><a name="line.437"></a>
+<span class="sourceLineNo">438</span> @Override<a name="line.438"></a>
+<span class="sourceLineNo">439</span> public String toString() {<a name="line.439"></a>
+<span class="sourceLineNo">440</span> return (this.compaction != null) ? ("Request = " + compaction.getRequest())<a name="line.440"></a>
+<span class="sourceLineNo">441</span> : ("regionName = " + region.toString() + ", storeName = " + store.toString() +<a name="line.441"></a>
+<span class="sourceLineNo">442</span> ", priority = " + queuedPriority + ", time = " + time);<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> private void doCompaction(User user) {<a name="line.445"></a>
+<span class="sourceLineNo">446</span> // Common case - system compaction without a file selection. Select now.<a name="line.446"></a>
+<span class="sourceLineNo">447</span> if (this.compaction == null) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span> int oldPriority = this.queuedPriority;<a name="line.448"></a>
+<span class="sourceLineNo">449</span> this.queuedPriority = this.store.getCompactPriority();<a name="line.449"></a>
+<span class="sourceLineNo">450</span> if (this.queuedPriority > oldPriority) {<a name="line.450"></a>
+<span class="sourceLineNo">451</span> // Store priority decreased while we were in queue (due to some other compaction?),<a name="line.451"></a>
+<span class="sourceLineNo">452</span> // requeue with new priority to avoid blocking potential higher priorities.<a name="line.452"></a>
+<span class="sourceLineNo">453</span> this.parent.execute(this);<a name="line.453"></a>
+<span class="sourceLineNo">454</span> return;<a name="line.454"></a>
+<span class="sourceLineNo">455</span> }<a name="line.455"></a>
+<span class="sourceLineNo">456</span> try {<a name="line.456"></a>
+<span class="sourceLineNo">457</span> this.compaction = selectCompaction(this.region, this.store, queuedPriority, null, user);<a name="line.457"></a>
+<span class="sourceLineNo">458</span> } catch (IOException ex) {<a name="line.458"></a>
+<span class="sourceLineNo">459</span> LOG.error("Compaction selection failed " + this, ex);<a name="line.459"></a>
+<span class="sourceLineNo">460</span> server.checkFileSystem();<a name="line.460"></a>
+<span class="sourceLineNo">461</span> return;<a name="line.461"></a>
+<span class="sourceLineNo">462</span> }<a name="line.462"></a>
+<span class="sourceLineNo">463</span> if (this.compaction == null) return; // nothing to do<a name="line.463"></a>
+<span class="sourceLineNo">464</span> // Now see if we are in correct pool for the size; if not, go to the correct one.<a name="line.464"></a>
+<span class="sourceLineNo">465</span> // We might end up waiting for a while, so cancel the selection.<a name="line.465"></a>
+<span class="sourceLineNo">466</span> assert this.compaction.hasSelection();<a name="line.466"></a>
+<span class="sourceLineNo">467</span> ThreadPoolExecutor pool = store.throttleCompaction(<a name="line.467"></a>
+<span class="sourceLineNo">468</span> compaction.getRequest().getSize()) ? longCompactions : shortCompactions;<a name="line.468"></a>
+<span class="sourceLineNo">469</span><a name="line.469"></a>
+<span class="sourceLineNo">470</span> // Long compaction pool can process small job<a name="line.470"></a>
+<span class="sourceLineNo">471</span> // Short compaction pool should not process large job<a name="line.471"></a>
+<span class="sourceLineNo">472</span> if (this.parent == shortCompactions && pool == longCompactions) {<a name="line.472"></a>
+<span class="sourceLineNo">473</span> this.store.cancelRequestedCompaction(this.compaction);<a name="line.473"></a>
+<span class="sourceLineNo">474</span> this.compaction = null;<a name="line.474"></a>
+<span class="sourceLineNo">475</span> this.parent = pool;<a name="line.475"></a>
+<span class="sourceLineNo">476</span> this.parent.execute(this);<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> }<a name="line.479"></a>
+<span class="sourceLineNo">480</span> // Finally we can compact something.<a name="line.480"></a>
+<span class="sourceLineNo">481</span> assert this.compaction != null;<a name="line.481"></a>
+<span class="sourceLineNo">482</span><a name="line.482"></a>
+<span class="sourceLineNo">483</span> this.compaction.getRequest().beforeExecute();<a name="line.483"></a>
+<span class="sourceLineNo">484</span> try {<a name="line.484"></a>
+<span class="sourceLineNo">485</span> // Note: please don't put single-compaction logic here;<a name="line.485"></a>
+<span class="sourceLineNo">486</span> // put it into region/store/etc. This is CST logic.<a name="line.486"></a>
+<span class="sourceLineNo">487</span> long start = EnvironmentEdgeManager.currentTime();<a name="line.487"></a>
+<span class="sourceLineNo">488</span> boolean completed =<a name="line.488"></a>
+<span class="sourceLineNo">489</span> region.compact(compaction, store, compactionThroughputController, user);<a name="line.489"></a>
+<span class="sourceLineNo">490</span> long now = EnvironmentEdgeManager.currentTime();<a name="line.490"></a>
+<span class="sourceLineNo">491</span> LOG.info(((completed) ? "Completed" : "Aborted") + " compaction: " +<a name="line.491"></a>
+<span class="sourceLineNo">492</span> this + "; duration=" + StringUtils.formatTimeDiff(now, start));<a name="line.492"></a>
+<span class="sourceLineNo">493</span> if (completed) {<a name="line.493"></a>
+<span class="sourceLineNo">494</span> // degenerate case: blocked regions require recursive enqueues<a name="line.494"></a>
+<span class="sourceLineNo">495</span> if (store.getCompactPriority() <= 0) {<a name="line.495"></a>
+<span class="sourceLineNo">496</span> requestSystemCompaction(region, store, "Recursive enqueue");<a name="line.496"></a>
+<span class="sourceLineNo">497</span> } else {<a name="line.497"></a>
+<span class="sourceLineNo">498</span> // see if the compaction has caused us to exceed max region size<a name="line.498"></a>
+<span class="sourceLineNo">499</span> requestSplit(region);<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> } catch (IOException ex) {<a name="line.502"></a>
+<span class="sourceLineNo">503</span> IOException remoteEx =<a name="line.503"></a>
+<span class="sourceLineNo">504</span> ex instanceof RemoteException ? ((RemoteException) ex).unwrapRemoteException() : ex;<a name="line.504"></a>
+<span class="sourceLineNo">505</span> LOG.error("Compaction failed " + this, remoteEx);<a name="line.505"></a>
+<span class="sourceLineNo">506</span> if (remoteEx != ex) {<a name="line.506"></a>
+<span class="sourceLineNo">507</span> LOG.info("Compaction failed at original callstack: " + formatStackTrace(ex));<a name="line.507"></a>
+<span class="sourceLineNo">508</span> }<a name="line.508"></a>
+<span class="sourceLineNo">509</span> region.reportCompactionRequestFailure();<a name="line.509"></a>
+<span class="sourceLineNo">510</span> server.checkFileSystem();<a name="line.510"></a>
+<span class="sourceLineNo">511</span> } catch (Exception ex) {<a name="line.511"></a>
+<span class="sourceLineNo">512</span> LOG.error("Compaction failed " + this, ex);<a name="line.512"></a>
+<span class="sourceLineNo">513</span> region.reportCompactionRequestFailure();<a name="line.513"></a>
+<span class="sourceLineNo">514</span> server.checkFileSystem();<a name="line.514"></a>
+<span class="sourceLineNo">515</span> } finally {<a name="line.515"></a>
+<span class="sourceLineNo">516</span> LOG.debug("CompactSplitThread Status: " + CompactSplitThread.this);<a name="line.516"></a>
+<span class="sourceLineNo">517</span> }<a name="line.517"></a>
+<span class="sourceLineNo">518</span> this.compaction.getRequest().afterExecute();<a name="line.518"></a>
+<span class="sourceLineNo">519</span> }<a name="line.519"></a>
+<span class="sourceLineNo">520</span><a name="line.520"></a>
+<span class="sourceLineNo">521</span> @Override<a name="line.521"></a>
+<span class="sourceLineNo">522</span> public void run() {<a name="line.522"></a>
+<span class="sourceLineNo">523</span> Preconditions.checkNotNull(server);<a name="line.523"></a>
+<span class="sourceLineNo">524</span> if (server.isStopped()<a name="line.524"></a>
+<span class="sourceLineNo">525</span> || (region.getTableDesc() != null && !region.getTableDesc().isCompactionEnabled())) {<a name="line.525"></a>
+<span class="sourceLineNo">526</span> return;<a name="line.526"></a>
+<span class="sourceLineNo">527</span> }<a name="line.527"></a>
+<span class="sourceLineNo">528</span> doCompaction(user);<a name="line.528"></a>
+<span class="sourceLineNo">529</span> }<a name="line.529"></a>
+<span class="sourceLineNo">530</span><a name="line.530"></a>
+<span class="sourceLineNo">531</span> private String formatStackTrace(Exception ex) {<a name="line.531"></a>
+<span class="sourceLineNo">532</span> StringWriter sw = new StringWriter();<a name="line.532"></a>
+<span class="sourceLineNo">533</span> PrintWriter pw = new PrintWriter(sw);<a name="line.533"></a>
+<span class="sourceLineNo">534</span> ex.printStackTrace(pw);<a name="line.534"></a>
+<span class="sourceLineNo">535</span> pw.flush();<a name="line.535"></a>
+<span class="sourceLineNo">536</span> return sw.toString();<a name="line.536"></a>
+<span class="sourceLineNo">537</span> }<a name="line.537"></a>
+<span class="sourceLineNo">538</span><a name="line.538"></a>
+<span class="sourceLineNo">539</span> @Override<a name="line.539"></a>
+<span class="sourceLineNo">540</span> public int compareTo(CompactionRunner o) {<a name="line.540"></a>
+<span class="sourceLineNo">541</span> // Only compare the underlying request (if any), for queue sorting purposes.<a name="line.541"></a>
+<span class="sourceLineNo">542</span> int compareVal = queuedPriority - o.queuedPriority; // compare priority<a name="line.542"></a>
+<span class="sourceLineNo">543</span> if (compareVal != 0) return compareVal;<a name="line.543"></a>
+<span class="sourceLineNo">544</span> CompactionContext tc = this.compaction, oc = o.compaction;<a name="line.544"></a>
+<span class="sourceLineNo">545</span> // Sort pre-selected (user?) compactions before system ones with equal priority.<a name="line.545"></a>
+<span class="sourceLineNo">546</span> return (tc == null) ? ((oc == null) ? 0 : 1)<a name="line.546"></a>
+<span class="sourceLineNo">547</span> : ((oc == null) ? -1 : tc.getRequest().compareTo(oc.getRequest()));<a name="line.547"></a>
+<span class="sourceLineNo">548</span> }<a name="line.548"></a>
+<span class="sourceLineNo">549</span> }<a name="line.549"></a>
+<span class="sourceLineNo">550</span><a name="line.550"></a>
+<span class="sourceLineNo">551</span> /**<a name="line.551"></a>
+<span class="sourceLineNo">552</span> * Cleanup class to use when rejecting a compaction request from the queue.<a name="line.552"></a>
+<span class="sourceLineNo">553</span> */<a name="line.553"></a>
+<span class="sourceLineNo">554</span> private static class Rejection implements RejectedExecutionHandler {<a name="line.554"></a>
+<span class="sourceLineNo">555</span> @Override<a name="line.555"></a>
+<span class="sourceLineNo">556</span> public void rejectedExecution(Runnable runnable, ThreadPoolExecutor pool) {<a name="line.556"></a>
+<span class="sourceLineNo">557</span> if (runnable instanceof CompactionRunner) {<a name="line.557"></a>
+<span class="sourceLineNo">558</span> CompactionRunner runner = (CompactionRunner)runnable;<a name="line.558"></a>
+<span class="sourceLineNo">559</span> LOG.debug("Compaction Rejected: " + runner);<a name="line.559"></a>
+<span class="sourceLineNo">560</span> runner.store.cancelRequestedCompaction(runner.compaction);<a name="line.560"></a>
+<span class="sourceLineNo">561</span> }<a name="line.561"></a>
+<span class="sourceLineNo">562</span> }<a name="line.562"></a>
+<span class="sourceLineNo">563</span> }<a name="line.563"></a>
+<span class="sourceLineNo">564</span><a name="line.564"></a>
+<span class="sourceLineNo">565</span> /**<a name="line.565"></a>
+<span class="sourceLineNo">566</span> * {@inheritDoc}<a name="line.566"></a>
+<span class="sourceLineNo">567</span> */<a name="line.567"></a>
+<span class="sourceLineNo">568</span> @Override<a name="line.568"></a>
+<span class="sourceLineNo">569</span> public void onConfigurationChange(Configuration newConf) {<a name="line.569"></a>
+<span class="sourceLineNo">570</span> // Check if number of large / small compaction threads has changed, and then<a name="line.570"></a>
+<span class="sourceLineNo">571</span> // adjust the core pool size of the thread pools, by using the<a name="line.571"></a>
+<span class="sourceLineNo">572</span> // setCorePoolSize() method. According to the javadocs, it is safe to<a name="line.572"></a>
+<span class="sourceLineNo">573</span> // change the core pool size on-the-fly. We need to reset the maximum<a name="line.573"></a>
+<span class="sourceLineNo">574</span> // pool size, as well.<a name="line.574"></a>
+<span class="sourceLineNo">575</span> int largeThreads = Math.max(1, newConf.getInt(<a name="line.575"></a>
+<span class="sourceLineNo">576</span> LARGE_COMPACTION_THREADS,<a name="line.576"></a>
+<span class="sourceLineNo">577</span> LARGE_COMPACTION_THREADS_DEFAULT));<a name="line.577"></a>
+<span class="sourceLineNo">578</span> if (this.longCompactions.getCorePoolSize() != largeThreads) {<a name="line.578"></a>
+<span class="sourceLineNo">579</span> LOG.info("Changing the value of " + LARGE_COMPACTION_THREADS +<a name="line.579"></a>
+<span class="sourceLineNo">580</span> " from " + this.longCompactions.getCorePoolSize() + " to " +<a name="line.580"></a>
+<span class="sourceLineNo">581</span> largeThreads);<a name="line.581"></a>
+<span class="sourceLineNo">582</span> if(this.longCompactions.getCorePoolSize() < largeThreads) {<a name="line.582"></a>
+<span class="sourceLineNo">583</span> this.longCompactions.setMaximumPoolSize(largeThreads);<a name="line.583"></a>
+<span class="sourceLineNo">584</span> this.longCompactions.setCorePoolSize(largeThreads);<a name="line.584"></a>
+<span class="sourceLineNo">585</span> } else {<a name="line.585"></a>
+<span class="sourceLineNo">586</span> this.longCompactions.setCorePoolSize(largeThreads);<a name="line.586"></a>
+<span class="sourceLineNo">587</span> this.longCompactions.setMaximumPoolSize(largeThreads);<a name="line.587"></a>
+<span class="sourceLineNo">588</span> }<a name="line.588"></a>
+<span class="sourceLineNo">589</span> }<a name="line.589"></a>
+<span class="sourceLineNo">590</span><a name="line.590"></a>
+<span class="sourceLineNo">591</span> int smallThreads = newConf.getInt(SMALL_COMPACTION_THREADS,<a name="line.591"></a>
+<span class="sourceLineNo">592</span> SMALL_COMPACTION_THREADS_DEFAULT);<a name="line.592"></a>
+<span class="sourceLineNo">593</span> if (this.shortCompactions.getCorePoolSize() != smallThreads) {<a name="line.593"></a>
+<span class="sourceLineNo">594</span> LOG.info("Changing the value of " + SMALL_COMPACTION_THREADS +<a name="line.594"></a>
+<span class="sourceLineNo">595</span> " from " + this.shortCompactions.getCorePoolSize() + " to " +<a name="line.595"></a>
+<span class="sourceLineNo">596</span> smallThreads);<a name="line.596"></a>
+<span class="sourceLineNo">597</span> if(this.shortCompactions.getCorePoolSize() < smallThreads) {<a name="line.597"></a>
+<span class="sourceLineNo">598</span> this.shortCompactions.setMaximumPoolSize(smallThreads);<a name="line.598"></a>
+<span class="sourceLineNo">599</span> this.shortCompactions.setCorePoolSize(smallThreads);<a name="line.599"></a>
+<span class="sourceLineNo">600</span> } else {<a name="line.600"></a>
+<span class="sourceLineNo">601</span> this.shortCompactions.setCorePoolSize(smallThreads);<a name="line.601"></a>
+<span class="sourceLineNo">602</span> this.shortCompactions.setMaximumPoolSize(smallThreads);<a name="line.602"></a>
+<span class="sourceLineNo">603</span> }<a name="line.603"></a>
+<span class="sourceLineNo">604</span> }<a name="line.604"></a>
+<span class="sourceLineNo">605</span><a name="line.605"></a>
+<span class="sourceLineNo">606</span> int splitThreads = newConf.getInt(SPLIT_THREADS,<a name="line.606"></a>
+<span class="sourceLineNo">607</span> SPLIT_THREADS_DEFAULT);<a name="line.607"></a>
+<span class="sourceLineNo">608</span> if (this.splits.getCorePoolSize() != splitThreads) {<a name="line.608"></a>
+<span class="sourceLineNo">609</span> LOG.info("Changing the value of " + SPLIT_THREADS +<a name="line.609"></a>
+<span class="sourceLineNo">610</span> " from " + this.splits.getCorePoolSize() + " to " +<a name="line.610"></a>
+<span class="sourceLineNo">611</span> splitThreads);<a name="line.611"></a>
+<span class="sourceLineNo">612</span> if(this.splits.getCorePoolSize() < splitThreads) {<a name="line.612"></a>
+<span class="sourceLineNo">613</span> this.splits.setMaximumPoolSize(splitThreads);<a name="line.613"></a>
+<span class="sourceLineNo">614</span> this.splits.setCorePoolSize(splitThreads);<a name="line.614"></a>
+<span class="sourceLineNo">615</span> } else {<a name="line.615"></a>
+<span class="sourceLineNo">616</span> this.splits.setCorePoolSize(splitThreads);<a name="line.616"></a>
+<span class="sourceLineNo">617</span> this.splits.setMaximumPoolSize(splitThreads);<a name="line.617"></a>
+<span class="sourceLineNo">618</span> }<a name="line.618"></a>
+<span class="sourceLineNo">619</span> }<a name="line.619"></a>
+<span class="sourceLineNo">620</span><a name="line.620"></a>
+<span class="sourceLineNo">621</span> ThroughputController old = this.compactionThroughputController;<a name="line.621"></a>
+<span class="sourceLineNo">622</span> if (old != null) {<a name="line.622"></a>
+<span class="sourceLineNo">623</span> old.stop("configuration change");<a name="line.623"></a>
+<span class="sourceLineNo">624</span> }<a name="line.624"></a>
+<span class="sourceLineNo">625</span> this.compactionThroughputController =<a name="line.625"></a>
+<span class="sourceLineNo">626</span> CompactionThroughputControllerFactory.create(server, newConf);<a name="line.626"></a>
+<span class="sourceLineNo">627</span><a name="line.627"></a>
+<span class="sourceLineNo">628</span> // We change this atomically here instead of reloading the config in order that upstream<a name="line.628"></a>
+<span class="sourceLineNo">629</span> // would be the only one with the flexibility to reload the config.<a name="line.629"></a>
+<span class="sourceLineNo">630</span> this.conf.reloadConfiguration();<a name="line.630"></a>
+<span class="sourceLineNo">631</span> }<a name="line.631"></a>
+<span class="sourceLineNo">632</span><a name="line.632"></a>
+<span class="sourceLineNo">633</span> protected int getSmallCompactionThreadNum() {<a name="line.633"></a>
+<span class="sourceLineNo">634</span> return this.shortCompactions.getCorePoolSize();<a name="line.634"></a>
+<span class="sourceLineNo">635</span> }<a name="line.635"></a>
+<span class="sourceLineNo">636</span><a name="line.636"></a>
+<span class="sourceLineNo">637</span> protected int getLargeCompactionThreadNum() {<a name="line.637"></a>
+<span class="sourceLineNo">638</span> return this.longCompactions.getCorePoolSize();<a name="line.638"></a>
+<span class="sourceLineNo">639</span> }<a name="line.639"></a>
+<span class="sourceLineNo">640</span><a name="line.640"></a>
+<span class="sourceLineNo">641</span> protected int getSplitThreadNum() {<a name="line.641"></a>
+<span class="sourceLineNo">642</span> return this.splits.getCorePoolSize();<a name="line.642"></a>
+<span class="sourceLineNo">643</span> }<a name="line.643"></a>
+<span class="sourceLineNo">644</span><a name="line.644"></a>
+<span class="sourceLineNo">645</span> /**<a name="line.645"></a>
+<span class="sourceLineNo">646</span> * {@inheritDoc}<a name="line.646"></a>
+<span class="sourceLineNo">647</span> */<a name="line.647"></a>
+<span class="sourceLineNo">648</span> @Override<a name="line.648"></a>
+<span class="sourceLineNo">649</span> public void registerChildren(ConfigurationManager manager) {<a name="line.649"></a>
+<span class="sourceLineNo">650</span> // No children to register.<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> /**<a name="line.653"></a>
+<span class="sourceLineNo">654</span> * {@inheritDoc}<a name="line.654"></a>
+<span class="sourceLineNo">655</span> */<a name="line.655"></a>
+<span class="sourceLineNo">656</span> @Override<a name="line.656"></a>
+<span class="sourceLineNo">657</span> public void deregisterChildren(ConfigurationManager manager) {<a name="line.657"></a>
+<span class="sourceLineNo">658</span> // No children to register<a name="line.658"></a>
+<span class="sourceLineNo">659</span> }<a name="line.659"></a>
+<span class="sourceLineNo">660</span><a name="line.660"></a>
+<span class="sourceLineNo">661</span> @VisibleForTesting<a name="line.661"></a>
+<span class="sourceLineNo">662</span> public ThroughputController getCompactionThroughputController() {<a name="line.662"></a>
+<span class="sourceLineNo">663</span> return compactionThroughputController;<a name="line.663"></a>
+<span class="sourceLineNo">664</span> }<a name="line.664"></a>
+<span class="sourceLineNo">665</span><a name="line.665"></a>
+<span class="sourceLineNo">666</span> @VisibleForTesting<a name="line.666"></a>
+<span class="sourceLineNo">667</span> /**<a name="line.667"></a>
+<span class="sourceLineNo">668</span> * Shutdown the long compaction thread pool.<a name="line.668"></a>
+<span class="sourceLineNo">669</span> * Should only be used in unit test to prevent long compaction thread pool from stealing job<a name="line.669"></a>
+<span class="sourceLineNo">670</span> * from short compaction queue<a name="line.670"></a>
+<span class="sourceLineNo">671</span> */<a name="line.671"></a>
+<span class="sourceLineNo">672</span> void shutdownLongCompactions(){<a name="line.672"></a>
+<span class="sourceLineNo">673</span> this.longCompactions.shutdown();<a name="line.673"></a>
+<span class="sourceLineNo">674</span> }<a name="line.674"></a>
+<span class="sourceLineNo">675</span>}<a name="line.675"></a>
[30/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AdminRpcCall.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AdminRpcCall.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AdminRpcCall.html
index 8750fa2..4fd4af0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AdminRpcCall.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AdminRpcCall.html
@@ -48,2133 +48,2409 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span>import io.netty.util.Timeout;<a name="line.41"></a>
<span class="sourceLineNo">042</span>import io.netty.util.TimerTask;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.commons.logging.Log;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.commons.logging.LogFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ServerName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.HConstants;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>/**<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * The implementation of AsyncAdmin.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@InterfaceAudience.Private<a name="line.185"></a>
-<span class="sourceLineNo">186</span>@InterfaceStability.Evolving<a name="line.186"></a>
-<span class="sourceLineNo">187</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.187"></a>
+<span class="sourceLineNo">043</span>import org.apache.commons.io.IOUtils;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.commons.logging.Log;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.commons.logging.LogFactory;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ServerName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HConstants;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.TableName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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.snapshot.ClientSnapshotDescriptionUtils;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.187"></a>
<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> private final AsyncConnectionImpl connection;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span> private final RawAsyncTable metaTable;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final long rpcTimeoutNs;<a name="line.195"></a>
+<span class="sourceLineNo">189</span>/**<a name="line.189"></a>
+<span class="sourceLineNo">190</span> * The implementation of AsyncAdmin.<a name="line.190"></a>
+<span class="sourceLineNo">191</span> */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>@InterfaceAudience.Private<a name="line.192"></a>
+<span class="sourceLineNo">193</span>@InterfaceStability.Evolving<a name="line.193"></a>
+<span class="sourceLineNo">194</span>public class AsyncHBaseAdmin 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 final long operationTimeoutNs;<a name="line.197"></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 long pauseNs;<a name="line.199"></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 int maxAttempts;<a name="line.201"></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 int startLogErrorsCnt;<a name="line.203"></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 NonceGenerator ng;<a name="line.205"></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> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> this.connection = connection;<a name="line.208"></a>
-<span class="sourceLineNo">209</span> this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> this.rpcTimeoutNs = connection.connConf.getRpcTimeoutNs();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.212"></a>
-<span class="sourceLineNo">213</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.213"></a>
-<span class="sourceLineNo">214</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<a name="line.214"></a>
-<span class="sourceLineNo">215</span> this.ng = connection.getNonceGenerator();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> return this.connection.callerFactory.<T> masterRequest()<a name="line.219"></a>
-<span class="sourceLineNo">220</span> .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startLogErrorsCnt(startLogErrorsCnt);<a name="line.223"></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">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> private final int startLogErrorsCnt;<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">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<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 = connection.connConf.getRpcTimeoutNs();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.219"></a>
+<span class="sourceLineNo">220</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.220"></a>
+<span class="sourceLineNo">221</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.221"></a>
+<span class="sourceLineNo">222</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<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 <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> adminRequest()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> 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> @FunctionalInterface<a name="line.234"></a>
-<span class="sourceLineNo">235</span> private interface MasterRpcCall<RESP, REQ> {<a name="line.235"></a>
-<span class="sourceLineNo">236</span> void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.236"></a>
-<span class="sourceLineNo">237</span> RpcCallback<RESP> done);<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> @FunctionalInterface<a name="line.240"></a>
-<span class="sourceLineNo">241</span> private interface AdminRpcCall<RESP, REQ> {<a name="line.241"></a>
-<span class="sourceLineNo">242</span> void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> RpcCallback<RESP> done);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span> @FunctionalInterface<a name="line.246"></a>
-<span class="sourceLineNo">247</span> private interface Converter<D, S> {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> D convert(S src) throws IOException;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.251"></a>
-<span class="sourceLineNo">252</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.252"></a>
-<span class="sourceLineNo">253</span> Converter<RESP, PRESP> respConverter) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.254"></a>
-<span class="sourceLineNo">255</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> @Override<a name="line.257"></a>
-<span class="sourceLineNo">258</span> public void run(PRESP resp) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span> if (controller.failed()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span> future.completeExceptionally(controller.getFailed());<a name="line.260"></a>
-<span class="sourceLineNo">261</span> } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> future.complete(respConverter.convert(resp));<a name="line.263"></a>
-<span class="sourceLineNo">264</span> } catch (IOException e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span> future.completeExceptionally(e);<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> }<a name="line.268"></a>
-<span class="sourceLineNo">269</span> });<a name="line.269"></a>
-<span class="sourceLineNo">270</span> return future;<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> //TODO abstract call and adminCall into a single method.<a name="line.273"></a>
-<span class="sourceLineNo">274</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.274"></a>
-<span class="sourceLineNo">275</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.275"></a>
-<span class="sourceLineNo">276</span> Converter<RESP, PRESP> respConverter) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.279"></a>
+<span class="sourceLineNo">234</span> private <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.connection.callerFactory.<T> 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<RESP, REQ> {<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<RESP> done);<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<RESP, REQ> {<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<RESP> 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<D, S> {<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 <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.259"></a>
+<span class="sourceLineNo">260</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.260"></a>
+<span class="sourceLineNo">261</span> Converter<RESP, PRESP> respConverter) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.262"></a>
+<span class="sourceLineNo">263</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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> @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span> public void run(PRESP resp) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span> if (controller.failed()) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.284"></a>
-<span class="sourceLineNo">285</span> } else {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> future.complete(respConverter.convert(resp));<a name="line.287"></a>
-<span class="sourceLineNo">288</span> } catch (IOException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span> future.completeExceptionally(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span> }<a name="line.290"></a>
-<span class="sourceLineNo">291</span> }<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> return future;<a name="line.294"></a>
-<span class="sourceLineNo">295</span> }<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.298"></a>
-<span class="sourceLineNo">299</span> ProcedureBiConsumer consumer) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> CompletableFuture<Long> procFuture = this<a name="line.300"></a>
-<span class="sourceLineNo">301</span> .<Long> newMasterCaller()<a name="line.301"></a>
-<span class="sourceLineNo">302</span> .action(<a name="line.302"></a>
-<span class="sourceLineNo">303</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> respConverter)).call();<a name="line.304"></a>
-<span class="sourceLineNo">305</span> return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> @FunctionalInterface<a name="line.308"></a>
-<span class="sourceLineNo">309</span> private interface TableOperator {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> CompletableFuture<Void> operate(TableName table);<a name="line.310"></a>
-<span class="sourceLineNo">311</span> }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.313"></a>
-<span class="sourceLineNo">314</span> TableOperator operator, String operationType) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.315"></a>
-<span class="sourceLineNo">316</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> listTables(pattern, false).whenComplete(<a name="line.317"></a>
-<span class="sourceLineNo">318</span> (tables, error) -> {<a name="line.318"></a>
-<span class="sourceLineNo">319</span> if (error != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> future.completeExceptionally(error);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> return;<a name="line.321"></a>
-<span class="sourceLineNo">322</span> }<a name="line.322"></a>
-<span class="sourceLineNo">323</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.323"></a>
-<span class="sourceLineNo">324</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<a name="line.324"></a>
-<span class="sourceLineNo">325</span> if (ex != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.326"></a>
-<span class="sourceLineNo">327</span> failed.add(table);<a name="line.327"></a>
-<span class="sourceLineNo">328</span> }<a name="line.328"></a>
-<span class="sourceLineNo">329</span> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<a name="line.331"></a>
-<span class="sourceLineNo">332</span> });<a name="line.332"></a>
-<span class="sourceLineNo">333</span> });<a name="line.333"></a>
-<span class="sourceLineNo">334</span> return future;<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 AsyncConnectionImpl getConnection() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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<TableDescriptor[]> listTables() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return listTables((Pattern) null, false);<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<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> return listTables(Pattern.compile(regex), false);<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<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return this<a name="line.359"></a>
-<span class="sourceLineNo">360</span> .<TableDescriptor[]>newMasterCaller()<a name="line.360"></a>
-<span class="sourceLineNo">361</span> .action(<a name="line.361"></a>
-<span class="sourceLineNo">362</span> (controller, stub) -> this<a name="line.362"></a>
-<span class="sourceLineNo">363</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.363"></a>
-<span class="sourceLineNo">364</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.365"></a>
-<span class="sourceLineNo">366</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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<TableName[]> listTableNames() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span> return listTableNames((Pattern) null, false);<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<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> return listTableNames(Pattern.compile(regex), false);<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<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span> .<TableName[]>newMasterCaller()<a name="line.382"></a>
-<span class="sourceLineNo">383</span> .action(<a name="line.383"></a>
-<span class="sourceLineNo">384</span> (controller, stub) -> this<a name="line.384"></a>
-<span class="sourceLineNo">385</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.385"></a>
-<span class="sourceLineNo">386</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.386"></a>
-<span class="sourceLineNo">387</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.387"></a>
-<span class="sourceLineNo">388</span> .getTableNameArray(resp.getTableNamesList()))).call();<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<TableDescriptor> getTableDescriptor(TableName tableName) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> CompletableFuture<TableDescriptor> future = new CompletableFuture<>();<a name="line.393"></a>
-<span class="sourceLineNo">394</span> this.<List<TableSchema>> newMasterCaller()<a name="line.394"></a>
-<span class="sourceLineNo">395</span> .action(<a name="line.395"></a>
-<span class="sourceLineNo">396</span> (controller, stub) -> this<a name="line.396"></a>
-<span class="sourceLineNo">397</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, List<TableSchema>> call(<a name="line.397"></a>
-<span class="sourceLineNo">398</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.398"></a>
-<span class="sourceLineNo">399</span> c, req, done) -> s.getTableDescriptors(c, req, done), (resp) -> resp<a name="line.399"></a>
-<span class="sourceLineNo">400</span> .getTableSchemaList())).call().whenComplete((tableSchemas, error) -> {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> if (error != null) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> future.completeExceptionally(error);<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> if (!tableSchemas.isEmpty()) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.406"></a>
-<span class="sourceLineNo">407</span> } else {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<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> return future;<a name="line.411"></a>
-<span class="sourceLineNo">412</span> }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> @Override<a name="line.414"></a>
-<span class="sourceLineNo">415</span> public CompletableFuture<Void> createTable(TableDescriptor desc) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return createTable(desc, null);<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> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.420"></a>
-<span class="sourceLineNo">421</span> int numRegions) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> try {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> return createTable(desc, getSplitKeys(startKey, endKey, numRegions));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> } catch (IllegalArgumentException e) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span> return failedFuture(e);<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><a name="line.428"></a>
-<span class="sourceLineNo">429</span> @Override<a name="line.429"></a>
-<span class="sourceLineNo">430</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span> if (desc.getTableName() == null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (splitKeys != null && splitKeys.length > 0) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);<a name="line.435"></a>
-<span class="sourceLineNo">436</span> // Verify there are no duplicate split keys<a name="line.436"></a>
-<span class="sourceLineNo">437</span> byte[] lastKey = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> for (byte[] splitKey : splitKeys) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> if (Bytes.compareTo(splitKey, HConstants.EMPTY_BYTE_ARRAY) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> return failedFuture(new IllegalArgumentException(<a name="line.440"></a>
-<span class="sourceLineNo">441</span> "Empty split key must not be passed in the split keys."));<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> if (lastKey != null && Bytes.equals(splitKey, lastKey)) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span> return failedFuture(new IllegalArgumentException("All split keys must be unique, "<a name="line.444"></a>
-<span class="sourceLineNo">445</span> + "found duplicate: " + Bytes.toStringBinary(splitKey) + ", "<a name="line.445"></a>
-<span class="sourceLineNo">446</span> + Bytes.toStringBinary(lastKey)));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> }<a name="line.447"></a>
-<span class="sourceLineNo">448</span> lastKey = splitKey;<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><a name="line.451"></a>
-<span class="sourceLineNo">452</span> return this.<CreateTableRequest, CreateTableResponse> procedureCall(<a name="line.452"></a>
-<span class="sourceLineNo">453</span> RequestConverter.buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()),<a name="line.453"></a>
-<span class="sourceLineNo">454</span> (s, c, req, done) -> s.createTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.454"></a>
-<span class="sourceLineNo">455</span> new CreateTableProcedureBiConsumer(this, desc.getTableName()));<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<Void> deleteTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return this.<DeleteTableRequest, DeleteTableResponse> procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span> .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span> (s, c, req, done) -> s.deleteTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span> new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
+<span class="sourceLineNo">281</span> //TODO abstract call and adminCall into a single method.<a name="line.281"></a>
+<span class="sourceLineNo">282</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.282"></a>
+<span class="sourceLineNo">283</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Converter<RESP, PRESP> respConverter) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.286"></a>
+<span class="sourceLineNo">287</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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 void run(PRESP resp) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (controller.failed()) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> try {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> future.complete(respConverter.convert(resp));<a name="line.295"></a>
+<span class="sourceLineNo">296</span> } catch (IOException e) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span> future.completeExceptionally(e);<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> });<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return future;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.305"></a>
+<span class="sourceLineNo">306</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.306"></a>
+<span class="sourceLineNo">307</span> ProcedureBiConsumer consumer) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> CompletableFuture<Long> procFuture = this<a name="line.308"></a>
+<span class="sourceLineNo">309</span> .<Long> newMasterCaller()<a name="line.309"></a>
+<span class="sourceLineNo">310</span> .action(<a name="line.310"></a>
+<span class="sourceLineNo">311</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.311"></a>
+<span class="sourceLineNo">312</span> respConverter)).call();<a name="line.312"></a>
+<span class="sourceLineNo">313</span> return waitProcedureResult(procFuture).whenComplete(consumer);<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> @FunctionalInterface<a name="line.316"></a>
+<span class="sourceLineNo">317</span> private interface TableOperator {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> CompletableFuture<Void> operate(TableName table);<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> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.321"></a>
+<span class="sourceLineNo">322</span> TableOperator operator, String operationType) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> listTables(pattern, false).whenComplete(<a name="line.325"></a>
+<span class="sourceLineNo">326</span> (tables, error) -> {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> if (error != null) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> future.completeExceptionally(error);<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return;<a name="line.329"></a>
+<span class="sourceLineNo">330</span> }<a name="line.330"></a>
+<span class="sourceLineNo">331</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.331"></a>
+<span class="sourceLineNo">332</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<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> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.337"></a>
+<span class="sourceLineNo">338</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.338"></a>
+<span class="sourceLineNo">339</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<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 AsyncConnectionImpl getConnection() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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> @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span> public CompletableFuture<TableDescriptor[]> listTables() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span> return listTables((Pattern) null, false);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span> public CompletableFuture<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return listTables(Pattern.compile(regex), false);<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> @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public CompletableFuture<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span> .<TableDescriptor[]>newMasterCaller()<a name="line.368"></a>
+<span class="sourceLineNo">369</span> .action(<a name="line.369"></a>
+<span class="sourceLineNo">370</span> (controller, stub) -> this<a name="line.370"></a>
+<span class="sourceLineNo">371</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.371"></a>
+<span class="sourceLineNo">372</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.372"></a>
+<span class="sourceLineNo">373</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.373"></a>
+<span class="sourceLineNo">374</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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> @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span> public CompletableFuture<TableName[]> listTableNames() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> return listTableNames((Pattern) null, false);<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> @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public CompletableFuture<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> return listTableNames(Pattern.compile(regex), false);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public CompletableFuture<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return this<a name="line.389"></a>
+<span class="sourceLineNo">390</span> .<TableName[]>newMasterCaller()<a name="line.390"></a>
+<span class="sourceLineNo">391</span> .action(<a name="line.391"></a>
+<span class="sourceLineNo">392</span> (controller, stub) -> this<a name="line.392"></a>
+<span class="sourceLineNo">393</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.393"></a>
+<span class="sourceLineNo">394</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.394"></a>
+<span class="sourceLineNo">395</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.395"></a>
+<span class="sourceLineNo">396</span> .getTableNameArray(resp.getTableNamesList()))).call();<a name="line.396"></a>
+<span class="sourceLineNo">397</span> }<a name="line.397"></a>
+<span class="sourceL
<TRUNCATED>
[13/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html
index 8750fa2..4fd4af0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html
@@ -48,2133 +48,2409 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span>import io.netty.util.Timeout;<a name="line.41"></a>
<span class="sourceLineNo">042</span>import io.netty.util.TimerTask;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.commons.logging.Log;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.commons.logging.LogFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ServerName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.HConstants;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>/**<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * The implementation of AsyncAdmin.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@InterfaceAudience.Private<a name="line.185"></a>
-<span class="sourceLineNo">186</span>@InterfaceStability.Evolving<a name="line.186"></a>
-<span class="sourceLineNo">187</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.187"></a>
+<span class="sourceLineNo">043</span>import org.apache.commons.io.IOUtils;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.commons.logging.Log;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.commons.logging.LogFactory;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ServerName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HConstants;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.TableName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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.snapshot.ClientSnapshotDescriptionUtils;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.187"></a>
<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> private final AsyncConnectionImpl connection;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span> private final RawAsyncTable metaTable;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final long rpcTimeoutNs;<a name="line.195"></a>
+<span class="sourceLineNo">189</span>/**<a name="line.189"></a>
+<span class="sourceLineNo">190</span> * The implementation of AsyncAdmin.<a name="line.190"></a>
+<span class="sourceLineNo">191</span> */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>@InterfaceAudience.Private<a name="line.192"></a>
+<span class="sourceLineNo">193</span>@InterfaceStability.Evolving<a name="line.193"></a>
+<span class="sourceLineNo">194</span>public class AsyncHBaseAdmin 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 final long operationTimeoutNs;<a name="line.197"></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 long pauseNs;<a name="line.199"></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 int maxAttempts;<a name="line.201"></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 int startLogErrorsCnt;<a name="line.203"></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 NonceGenerator ng;<a name="line.205"></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> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> this.connection = connection;<a name="line.208"></a>
-<span class="sourceLineNo">209</span> this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> this.rpcTimeoutNs = connection.connConf.getRpcTimeoutNs();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.212"></a>
-<span class="sourceLineNo">213</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.213"></a>
-<span class="sourceLineNo">214</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<a name="line.214"></a>
-<span class="sourceLineNo">215</span> this.ng = connection.getNonceGenerator();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> return this.connection.callerFactory.<T> masterRequest()<a name="line.219"></a>
-<span class="sourceLineNo">220</span> .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startLogErrorsCnt(startLogErrorsCnt);<a name="line.223"></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">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> private final int startLogErrorsCnt;<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">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<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 = connection.connConf.getRpcTimeoutNs();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.219"></a>
+<span class="sourceLineNo">220</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.220"></a>
+<span class="sourceLineNo">221</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.221"></a>
+<span class="sourceLineNo">222</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<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 <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> adminRequest()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> 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> @FunctionalInterface<a name="line.234"></a>
-<span class="sourceLineNo">235</span> private interface MasterRpcCall<RESP, REQ> {<a name="line.235"></a>
-<span class="sourceLineNo">236</span> void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.236"></a>
-<span class="sourceLineNo">237</span> RpcCallback<RESP> done);<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> @FunctionalInterface<a name="line.240"></a>
-<span class="sourceLineNo">241</span> private interface AdminRpcCall<RESP, REQ> {<a name="line.241"></a>
-<span class="sourceLineNo">242</span> void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> RpcCallback<RESP> done);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span> @FunctionalInterface<a name="line.246"></a>
-<span class="sourceLineNo">247</span> private interface Converter<D, S> {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> D convert(S src) throws IOException;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.251"></a>
-<span class="sourceLineNo">252</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.252"></a>
-<span class="sourceLineNo">253</span> Converter<RESP, PRESP> respConverter) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.254"></a>
-<span class="sourceLineNo">255</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> @Override<a name="line.257"></a>
-<span class="sourceLineNo">258</span> public void run(PRESP resp) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span> if (controller.failed()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span> future.completeExceptionally(controller.getFailed());<a name="line.260"></a>
-<span class="sourceLineNo">261</span> } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> future.complete(respConverter.convert(resp));<a name="line.263"></a>
-<span class="sourceLineNo">264</span> } catch (IOException e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span> future.completeExceptionally(e);<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> }<a name="line.268"></a>
-<span class="sourceLineNo">269</span> });<a name="line.269"></a>
-<span class="sourceLineNo">270</span> return future;<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> //TODO abstract call and adminCall into a single method.<a name="line.273"></a>
-<span class="sourceLineNo">274</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.274"></a>
-<span class="sourceLineNo">275</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.275"></a>
-<span class="sourceLineNo">276</span> Converter<RESP, PRESP> respConverter) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.279"></a>
+<span class="sourceLineNo">234</span> private <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.connection.callerFactory.<T> 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<RESP, REQ> {<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<RESP> done);<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<RESP, REQ> {<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<RESP> 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<D, S> {<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 <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.259"></a>
+<span class="sourceLineNo">260</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.260"></a>
+<span class="sourceLineNo">261</span> Converter<RESP, PRESP> respConverter) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.262"></a>
+<span class="sourceLineNo">263</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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> @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span> public void run(PRESP resp) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span> if (controller.failed()) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.284"></a>
-<span class="sourceLineNo">285</span> } else {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> future.complete(respConverter.convert(resp));<a name="line.287"></a>
-<span class="sourceLineNo">288</span> } catch (IOException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span> future.completeExceptionally(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span> }<a name="line.290"></a>
-<span class="sourceLineNo">291</span> }<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> return future;<a name="line.294"></a>
-<span class="sourceLineNo">295</span> }<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.298"></a>
-<span class="sourceLineNo">299</span> ProcedureBiConsumer consumer) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> CompletableFuture<Long> procFuture = this<a name="line.300"></a>
-<span class="sourceLineNo">301</span> .<Long> newMasterCaller()<a name="line.301"></a>
-<span class="sourceLineNo">302</span> .action(<a name="line.302"></a>
-<span class="sourceLineNo">303</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> respConverter)).call();<a name="line.304"></a>
-<span class="sourceLineNo">305</span> return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> @FunctionalInterface<a name="line.308"></a>
-<span class="sourceLineNo">309</span> private interface TableOperator {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> CompletableFuture<Void> operate(TableName table);<a name="line.310"></a>
-<span class="sourceLineNo">311</span> }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.313"></a>
-<span class="sourceLineNo">314</span> TableOperator operator, String operationType) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.315"></a>
-<span class="sourceLineNo">316</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> listTables(pattern, false).whenComplete(<a name="line.317"></a>
-<span class="sourceLineNo">318</span> (tables, error) -> {<a name="line.318"></a>
-<span class="sourceLineNo">319</span> if (error != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> future.completeExceptionally(error);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> return;<a name="line.321"></a>
-<span class="sourceLineNo">322</span> }<a name="line.322"></a>
-<span class="sourceLineNo">323</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.323"></a>
-<span class="sourceLineNo">324</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<a name="line.324"></a>
-<span class="sourceLineNo">325</span> if (ex != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.326"></a>
-<span class="sourceLineNo">327</span> failed.add(table);<a name="line.327"></a>
-<span class="sourceLineNo">328</span> }<a name="line.328"></a>
-<span class="sourceLineNo">329</span> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<a name="line.331"></a>
-<span class="sourceLineNo">332</span> });<a name="line.332"></a>
-<span class="sourceLineNo">333</span> });<a name="line.333"></a>
-<span class="sourceLineNo">334</span> return future;<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 AsyncConnectionImpl getConnection() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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<TableDescriptor[]> listTables() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return listTables((Pattern) null, false);<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<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> return listTables(Pattern.compile(regex), false);<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<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return this<a name="line.359"></a>
-<span class="sourceLineNo">360</span> .<TableDescriptor[]>newMasterCaller()<a name="line.360"></a>
-<span class="sourceLineNo">361</span> .action(<a name="line.361"></a>
-<span class="sourceLineNo">362</span> (controller, stub) -> this<a name="line.362"></a>
-<span class="sourceLineNo">363</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.363"></a>
-<span class="sourceLineNo">364</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.365"></a>
-<span class="sourceLineNo">366</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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<TableName[]> listTableNames() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span> return listTableNames((Pattern) null, false);<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<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> return listTableNames(Pattern.compile(regex), false);<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<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span> .<TableName[]>newMasterCaller()<a name="line.382"></a>
-<span class="sourceLineNo">383</span> .action(<a name="line.383"></a>
-<span class="sourceLineNo">384</span> (controller, stub) -> this<a name="line.384"></a>
-<span class="sourceLineNo">385</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.385"></a>
-<span class="sourceLineNo">386</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.386"></a>
-<span class="sourceLineNo">387</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.387"></a>
-<span class="sourceLineNo">388</span> .getTableNameArray(resp.getTableNamesList()))).call();<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<TableDescriptor> getTableDescriptor(TableName tableName) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> CompletableFuture<TableDescriptor> future = new CompletableFuture<>();<a name="line.393"></a>
-<span class="sourceLineNo">394</span> this.<List<TableSchema>> newMasterCaller()<a name="line.394"></a>
-<span class="sourceLineNo">395</span> .action(<a name="line.395"></a>
-<span class="sourceLineNo">396</span> (controller, stub) -> this<a name="line.396"></a>
-<span class="sourceLineNo">397</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, List<TableSchema>> call(<a name="line.397"></a>
-<span class="sourceLineNo">398</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.398"></a>
-<span class="sourceLineNo">399</span> c, req, done) -> s.getTableDescriptors(c, req, done), (resp) -> resp<a name="line.399"></a>
-<span class="sourceLineNo">400</span> .getTableSchemaList())).call().whenComplete((tableSchemas, error) -> {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> if (error != null) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> future.completeExceptionally(error);<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> if (!tableSchemas.isEmpty()) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.406"></a>
-<span class="sourceLineNo">407</span> } else {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<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> return future;<a name="line.411"></a>
-<span class="sourceLineNo">412</span> }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> @Override<a name="line.414"></a>
-<span class="sourceLineNo">415</span> public CompletableFuture<Void> createTable(TableDescriptor desc) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return createTable(desc, null);<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> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.420"></a>
-<span class="sourceLineNo">421</span> int numRegions) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> try {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> return createTable(desc, getSplitKeys(startKey, endKey, numRegions));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> } catch (IllegalArgumentException e) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span> return failedFuture(e);<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><a name="line.428"></a>
-<span class="sourceLineNo">429</span> @Override<a name="line.429"></a>
-<span class="sourceLineNo">430</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span> if (desc.getTableName() == null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (splitKeys != null && splitKeys.length > 0) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);<a name="line.435"></a>
-<span class="sourceLineNo">436</span> // Verify there are no duplicate split keys<a name="line.436"></a>
-<span class="sourceLineNo">437</span> byte[] lastKey = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> for (byte[] splitKey : splitKeys) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> if (Bytes.compareTo(splitKey, HConstants.EMPTY_BYTE_ARRAY) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> return failedFuture(new IllegalArgumentException(<a name="line.440"></a>
-<span class="sourceLineNo">441</span> "Empty split key must not be passed in the split keys."));<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> if (lastKey != null && Bytes.equals(splitKey, lastKey)) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span> return failedFuture(new IllegalArgumentException("All split keys must be unique, "<a name="line.444"></a>
-<span class="sourceLineNo">445</span> + "found duplicate: " + Bytes.toStringBinary(splitKey) + ", "<a name="line.445"></a>
-<span class="sourceLineNo">446</span> + Bytes.toStringBinary(lastKey)));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> }<a name="line.447"></a>
-<span class="sourceLineNo">448</span> lastKey = splitKey;<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><a name="line.451"></a>
-<span class="sourceLineNo">452</span> return this.<CreateTableRequest, CreateTableResponse> procedureCall(<a name="line.452"></a>
-<span class="sourceLineNo">453</span> RequestConverter.buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()),<a name="line.453"></a>
-<span class="sourceLineNo">454</span> (s, c, req, done) -> s.createTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.454"></a>
-<span class="sourceLineNo">455</span> new CreateTableProcedureBiConsumer(this, desc.getTableName()));<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<Void> deleteTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return this.<DeleteTableRequest, DeleteTableResponse> procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span> .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span> (s, c, req, done) -> s.deleteTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span> new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
+<span class="sourceLineNo">281</span> //TODO abstract call and adminCall into a single method.<a name="line.281"></a>
+<span class="sourceLineNo">282</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.282"></a>
+<span class="sourceLineNo">283</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Converter<RESP, PRESP> respConverter) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.286"></a>
+<span class="sourceLineNo">287</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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 void run(PRESP resp) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (controller.failed()) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> try {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> future.complete(respConverter.convert(resp));<a name="line.295"></a>
+<span class="sourceLineNo">296</span> } catch (IOException e) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span> future.completeExceptionally(e);<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> });<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return future;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.305"></a>
+<span class="sourceLineNo">306</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.306"></a>
+<span class="sourceLineNo">307</span> ProcedureBiConsumer consumer) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> CompletableFuture<Long> procFuture = this<a name="line.308"></a>
+<span class="sourceLineNo">309</span> .<Long> newMasterCaller()<a name="line.309"></a>
+<span class="sourceLineNo">310</span> .action(<a name="line.310"></a>
+<span class="sourceLineNo">311</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.311"></a>
+<span class="sourceLineNo">312</span> respConverter)).call();<a name="line.312"></a>
+<span class="sourceLineNo">313</span> return waitProcedureResult(procFuture).whenComplete(consumer);<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> @FunctionalInterface<a name="line.316"></a>
+<span class="sourceLineNo">317</span> private interface TableOperator {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> CompletableFuture<Void> operate(TableName table);<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> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.321"></a>
+<span class="sourceLineNo">322</span> TableOperator operator, String operationType) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> listTables(pattern, false).whenComplete(<a name="line.325"></a>
+<span class="sourceLineNo">326</span> (tables, error) -> {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> if (error != null) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> future.completeExceptionally(error);<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return;<a name="line.329"></a>
+<span class="sourceLineNo">330</span> }<a name="line.330"></a>
+<span class="sourceLineNo">331</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.331"></a>
+<span class="sourceLineNo">332</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<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> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.337"></a>
+<span class="sourceLineNo">338</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.338"></a>
+<span class="sourceLineNo">339</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<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 AsyncConnectionImpl getConnection() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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> @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span> public CompletableFuture<TableDescriptor[]> listTables() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span> return listTables((Pattern) null, false);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span> public CompletableFuture<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return listTables(Pattern.compile(regex), false);<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> @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public CompletableFuture<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span> .<TableDescriptor[]>newMasterCaller()<a name="line.368"></a>
+<span class="sourceLineNo">369</span> .action(<a name="line.369"></a>
+<span class="sourceLineNo">370</span> (controller, stub) -> this<a name="line.370"></a>
+<span class="sourceLineNo">371</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.371"></a>
+<span class="sourceLineNo">372</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.372"></a>
+<span class="sourceLineNo">373</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.373"></a>
+<span class="sourceLineNo">374</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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> @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span> public CompletableFuture<TableName[]> listTableNames() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> return listTableNames((Pattern) null, false);<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> @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public CompletableFuture<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> return listTableNames(Pattern.compile(regex), false);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public CompletableFuture<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return this<a name="line.389"></a>
+<span class="sourceLineNo">390</span> .<TableName[]>newMasterCaller()<a name="line.390"></a>
+<span class="sourceLineNo">391</span> .action(<a name="line.391"></a>
+<span class="sourceLineNo">392</span> (controller, stub) -> this<a name="line.392"></a>
+<span class="sourceLineNo">393</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.393"></a>
+<span class="sourceLineNo">394</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.394"></a>
+<span class="sourceLineNo">395</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.395"></a>
+<span class="sourceLineNo">396</span> .getTableNameArray(resp.getTableNamesList()))).call();<a name="l
<TRUNCATED>
[08/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html
index 43cc877..6408c36 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html
@@ -428,256 +428,259 @@
<span class="sourceLineNo">420</span> private int queuedPriority;<a name="line.420"></a>
<span class="sourceLineNo">421</span> private ThreadPoolExecutor parent;<a name="line.421"></a>
<span class="sourceLineNo">422</span> private User user;<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span> public CompactionRunner(Store store, Region region,<a name="line.424"></a>
-<span class="sourceLineNo">425</span> CompactionContext compaction, ThreadPoolExecutor parent, User user) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span> super();<a name="line.426"></a>
-<span class="sourceLineNo">427</span> this.store = store;<a name="line.427"></a>
-<span class="sourceLineNo">428</span> this.region = (HRegion)region;<a name="line.428"></a>
-<span class="sourceLineNo">429</span> this.compaction = compaction;<a name="line.429"></a>
-<span class="sourceLineNo">430</span> this.queuedPriority = (this.compaction == null)<a name="line.430"></a>
-<span class="sourceLineNo">431</span> ? store.getCompactPriority() : compaction.getRequest().getPriority();<a name="line.431"></a>
-<span class="sourceLineNo">432</span> this.parent = parent;<a name="line.432"></a>
-<span class="sourceLineNo">433</span> this.user = user;<a name="line.433"></a>
-<span class="sourceLineNo">434</span> }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span> @Override<a name="line.436"></a>
-<span class="sourceLineNo">437</span> public String toString() {<a name="line.437"></a>
-<span class="sourceLineNo">438</span> return (this.compaction != null) ? ("Request = " + compaction.getRequest())<a name="line.438"></a>
-<span class="sourceLineNo">439</span> : ("Store = " + store.toString() + ", pri = " + queuedPriority);<a name="line.439"></a>
-<span class="sourceLineNo">440</span> }<a name="line.440"></a>
-<span class="sourceLineNo">441</span><a name="line.441"></a>
-<span class="sourceLineNo">442</span> private void doCompaction(User user) {<a name="line.442"></a>
-<span class="sourceLineNo">443</span> // Common case - system compaction without a file selection. Select now.<a name="line.443"></a>
-<span class="sourceLineNo">444</span> if (this.compaction == null) {<a name="line.444"></a>
-<span class="sourceLineNo">445</span> int oldPriority = this.queuedPriority;<a name="line.445"></a>
-<span class="sourceLineNo">446</span> this.queuedPriority = this.store.getCompactPriority();<a name="line.446"></a>
-<span class="sourceLineNo">447</span> if (this.queuedPriority > oldPriority) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span> // Store priority decreased while we were in queue (due to some other compaction?),<a name="line.448"></a>
-<span class="sourceLineNo">449</span> // requeue with new priority to avoid blocking potential higher priorities.<a name="line.449"></a>
-<span class="sourceLineNo">450</span> this.parent.execute(this);<a name="line.450"></a>
-<span class="sourceLineNo">451</span> return;<a name="line.451"></a>
-<span class="sourceLineNo">452</span> }<a name="line.452"></a>
-<span class="sourceLineNo">453</span> try {<a name="line.453"></a>
-<span class="sourceLineNo">454</span> this.compaction = selectCompaction(this.region, this.store, queuedPriority, null, user);<a name="line.454"></a>
-<span class="sourceLineNo">455</span> } catch (IOException ex) {<a name="line.455"></a>
-<span class="sourceLineNo">456</span> LOG.error("Compaction selection failed " + this, ex);<a name="line.456"></a>
-<span class="sourceLineNo">457</span> server.checkFileSystem();<a name="line.457"></a>
-<span class="sourceLineNo">458</span> return;<a name="line.458"></a>
-<span class="sourceLineNo">459</span> }<a name="line.459"></a>
-<span class="sourceLineNo">460</span> if (this.compaction == null) return; // nothing to do<a name="line.460"></a>
-<span class="sourceLineNo">461</span> // Now see if we are in correct pool for the size; if not, go to the correct one.<a name="line.461"></a>
-<span class="sourceLineNo">462</span> // We might end up waiting for a while, so cancel the selection.<a name="line.462"></a>
-<span class="sourceLineNo">463</span> assert this.compaction.hasSelection();<a name="line.463"></a>
-<span class="sourceLineNo">464</span> ThreadPoolExecutor pool = store.throttleCompaction(<a name="line.464"></a>
-<span class="sourceLineNo">465</span> compaction.getRequest().getSize()) ? longCompactions : shortCompactions;<a name="line.465"></a>
-<span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span> // Long compaction pool can process small job<a name="line.467"></a>
-<span class="sourceLineNo">468</span> // Short compaction pool should not process large job<a name="line.468"></a>
-<span class="sourceLineNo">469</span> if (this.parent == shortCompactions && pool == longCompactions) {<a name="line.469"></a>
-<span class="sourceLineNo">470</span> this.store.cancelRequestedCompaction(this.compaction);<a name="line.470"></a>
-<span class="sourceLineNo">471</span> this.compaction = null;<a name="line.471"></a>
-<span class="sourceLineNo">472</span> this.parent = pool;<a name="line.472"></a>
-<span class="sourceLineNo">473</span> this.parent.execute(this);<a name="line.473"></a>
-<span class="sourceLineNo">474</span> return;<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> // Finally we can compact something.<a name="line.477"></a>
-<span class="sourceLineNo">478</span> assert this.compaction != null;<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span> this.compaction.getRequest().beforeExecute();<a name="line.480"></a>
-<span class="sourceLineNo">481</span> try {<a name="line.481"></a>
-<span class="sourceLineNo">482</span> // Note: please don't put single-compaction logic here;<a name="line.482"></a>
-<span class="sourceLineNo">483</span> // put it into region/store/etc. This is CST logic.<a name="line.483"></a>
-<span class="sourceLineNo">484</span> long start = EnvironmentEdgeManager.currentTime();<a name="line.484"></a>
-<span class="sourceLineNo">485</span> boolean completed =<a name="line.485"></a>
-<span class="sourceLineNo">486</span> region.compact(compaction, store, compactionThroughputController, user);<a name="line.486"></a>
-<span class="sourceLineNo">487</span> long now = EnvironmentEdgeManager.currentTime();<a name="line.487"></a>
-<span class="sourceLineNo">488</span> LOG.info(((completed) ? "Completed" : "Aborted") + " compaction: " +<a name="line.488"></a>
-<span class="sourceLineNo">489</span> this + "; duration=" + StringUtils.formatTimeDiff(now, start));<a name="line.489"></a>
-<span class="sourceLineNo">490</span> if (completed) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span> // degenerate case: blocked regions require recursive enqueues<a name="line.491"></a>
-<span class="sourceLineNo">492</span> if (store.getCompactPriority() <= 0) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span> requestSystemCompaction(region, store, "Recursive enqueue");<a name="line.493"></a>
-<span class="sourceLineNo">494</span> } else {<a name="line.494"></a>
-<span class="sourceLineNo">495</span> // see if the compaction has caused us to exceed max region size<a name="line.495"></a>
-<span class="sourceLineNo">496</span> requestSplit(region);<a name="line.496"></a>
-<span class="sourceLineNo">497</span> }<a name="line.497"></a>
-<span class="sourceLineNo">498</span> }<a name="line.498"></a>
-<span class="sourceLineNo">499</span> } catch (IOException ex) {<a name="line.499"></a>
-<span class="sourceLineNo">500</span> IOException remoteEx =<a name="line.500"></a>
-<span class="sourceLineNo">501</span> ex instanceof RemoteException ? ((RemoteException) ex).unwrapRemoteException() : ex;<a name="line.501"></a>
-<span class="sourceLineNo">502</span> LOG.error("Compaction failed " + this, remoteEx);<a name="line.502"></a>
-<span class="sourceLineNo">503</span> if (remoteEx != ex) {<a name="line.503"></a>
-<span class="sourceLineNo">504</span> LOG.info("Compaction failed at original callstack: " + formatStackTrace(ex));<a name="line.504"></a>
-<span class="sourceLineNo">505</span> }<a name="line.505"></a>
-<span class="sourceLineNo">506</span> region.reportCompactionRequestFailure();<a name="line.506"></a>
-<span class="sourceLineNo">507</span> server.checkFileSystem();<a name="line.507"></a>
-<span class="sourceLineNo">508</span> } catch (Exception ex) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span> LOG.error("Compaction failed " + this, ex);<a name="line.509"></a>
-<span class="sourceLineNo">510</span> region.reportCompactionRequestFailure();<a name="line.510"></a>
-<span class="sourceLineNo">511</span> server.checkFileSystem();<a name="line.511"></a>
-<span class="sourceLineNo">512</span> } finally {<a name="line.512"></a>
-<span class="sourceLineNo">513</span> LOG.debug("CompactSplitThread Status: " + CompactSplitThread.this);<a name="line.513"></a>
-<span class="sourceLineNo">514</span> }<a name="line.514"></a>
-<span class="sourceLineNo">515</span> this.compaction.getRequest().afterExecute();<a name="line.515"></a>
-<span class="sourceLineNo">516</span> }<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span> @Override<a name="line.518"></a>
-<span class="sourceLineNo">519</span> public void run() {<a name="line.519"></a>
-<span class="sourceLineNo">520</span> Preconditions.checkNotNull(server);<a name="line.520"></a>
-<span class="sourceLineNo">521</span> if (server.isStopped()<a name="line.521"></a>
-<span class="sourceLineNo">522</span> || (region.getTableDesc() != null && !region.getTableDesc().isCompactionEnabled())) {<a name="line.522"></a>
-<span class="sourceLineNo">523</span> return;<a name="line.523"></a>
-<span class="sourceLineNo">524</span> }<a name="line.524"></a>
-<span class="sourceLineNo">525</span> doCompaction(user);<a name="line.525"></a>
-<span class="sourceLineNo">526</span> }<a name="line.526"></a>
-<span class="sourceLineNo">527</span><a name="line.527"></a>
-<span class="sourceLineNo">528</span> private String formatStackTrace(Exception ex) {<a name="line.528"></a>
-<span class="sourceLineNo">529</span> StringWriter sw = new StringWriter();<a name="line.529"></a>
-<span class="sourceLineNo">530</span> PrintWriter pw = new PrintWriter(sw);<a name="line.530"></a>
-<span class="sourceLineNo">531</span> ex.printStackTrace(pw);<a name="line.531"></a>
-<span class="sourceLineNo">532</span> pw.flush();<a name="line.532"></a>
-<span class="sourceLineNo">533</span> return sw.toString();<a name="line.533"></a>
-<span class="sourceLineNo">534</span> }<a name="line.534"></a>
-<span class="sourceLineNo">535</span><a name="line.535"></a>
-<span class="sourceLineNo">536</span> @Override<a name="line.536"></a>
-<span class="sourceLineNo">537</span> public int compareTo(CompactionRunner o) {<a name="line.537"></a>
-<span class="sourceLineNo">538</span> // Only compare the underlying request (if any), for queue sorting purposes.<a name="line.538"></a>
-<span class="sourceLineNo">539</span> int compareVal = queuedPriority - o.queuedPriority; // compare priority<a name="line.539"></a>
-<span class="sourceLineNo">540</span> if (compareVal != 0) return compareVal;<a name="line.540"></a>
-<span class="sourceLineNo">541</span> CompactionContext tc = this.compaction, oc = o.compaction;<a name="line.541"></a>
-<span class="sourceLineNo">542</span> // Sort pre-selected (user?) compactions before system ones with equal priority.<a name="line.542"></a>
-<span class="sourceLineNo">543</span> return (tc == null) ? ((oc == null) ? 0 : 1)<a name="line.543"></a>
-<span class="sourceLineNo">544</span> : ((oc == null) ? -1 : tc.getRequest().compareTo(oc.getRequest()));<a name="line.544"></a>
-<span class="sourceLineNo">545</span> }<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> /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span> * Cleanup class to use when rejecting a compaction request from the queue.<a name="line.549"></a>
-<span class="sourceLineNo">550</span> */<a name="line.550"></a>
-<span class="sourceLineNo">551</span> private static class Rejection implements RejectedExecutionHandler {<a name="line.551"></a>
-<span class="sourceLineNo">552</span> @Override<a name="line.552"></a>
-<span class="sourceLineNo">553</span> public void rejectedExecution(Runnable runnable, ThreadPoolExecutor pool) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span> if (runnable instanceof CompactionRunner) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span> CompactionRunner runner = (CompactionRunner)runnable;<a name="line.555"></a>
-<span class="sourceLineNo">556</span> LOG.debug("Compaction Rejected: " + runner);<a name="line.556"></a>
-<span class="sourceLineNo">557</span> runner.store.cancelRequestedCompaction(runner.compaction);<a name="line.557"></a>
-<span class="sourceLineNo">558</span> }<a name="line.558"></a>
-<span class="sourceLineNo">559</span> }<a name="line.559"></a>
-<span class="sourceLineNo">560</span> }<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span> /**<a name="line.562"></a>
-<span class="sourceLineNo">563</span> * {@inheritDoc}<a name="line.563"></a>
-<span class="sourceLineNo">564</span> */<a name="line.564"></a>
-<span class="sourceLineNo">565</span> @Override<a name="line.565"></a>
-<span class="sourceLineNo">566</span> public void onConfigurationChange(Configuration newConf) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span> // Check if number of large / small compaction threads has changed, and then<a name="line.567"></a>
-<span class="sourceLineNo">568</span> // adjust the core pool size of the thread pools, by using the<a name="line.568"></a>
-<span class="sourceLineNo">569</span> // setCorePoolSize() method. According to the javadocs, it is safe to<a name="line.569"></a>
-<span class="sourceLineNo">570</span> // change the core pool size on-the-fly. We need to reset the maximum<a name="line.570"></a>
-<span class="sourceLineNo">571</span> // pool size, as well.<a name="line.571"></a>
-<span class="sourceLineNo">572</span> int largeThreads = Math.max(1, newConf.getInt(<a name="line.572"></a>
-<span class="sourceLineNo">573</span> LARGE_COMPACTION_THREADS,<a name="line.573"></a>
-<span class="sourceLineNo">574</span> LARGE_COMPACTION_THREADS_DEFAULT));<a name="line.574"></a>
-<span class="sourceLineNo">575</span> if (this.longCompactions.getCorePoolSize() != largeThreads) {<a name="line.575"></a>
-<span class="sourceLineNo">576</span> LOG.info("Changing the value of " + LARGE_COMPACTION_THREADS +<a name="line.576"></a>
-<span class="sourceLineNo">577</span> " from " + this.longCompactions.getCorePoolSize() + " to " +<a name="line.577"></a>
-<span class="sourceLineNo">578</span> largeThreads);<a name="line.578"></a>
-<span class="sourceLineNo">579</span> if(this.longCompactions.getCorePoolSize() < largeThreads) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span> this.longCompactions.setMaximumPoolSize(largeThreads);<a name="line.580"></a>
-<span class="sourceLineNo">581</span> this.longCompactions.setCorePoolSize(largeThreads);<a name="line.581"></a>
-<span class="sourceLineNo">582</span> } else {<a name="line.582"></a>
-<span class="sourceLineNo">583</span> this.longCompactions.setCorePoolSize(largeThreads);<a name="line.583"></a>
-<span class="sourceLineNo">584</span> this.longCompactions.setMaximumPoolSize(largeThreads);<a name="line.584"></a>
-<span class="sourceLineNo">585</span> }<a name="line.585"></a>
-<span class="sourceLineNo">586</span> }<a name="line.586"></a>
-<span class="sourceLineNo">587</span><a name="line.587"></a>
-<span class="sourceLineNo">588</span> int smallThreads = newConf.getInt(SMALL_COMPACTION_THREADS,<a name="line.588"></a>
-<span class="sourceLineNo">589</span> SMALL_COMPACTION_THREADS_DEFAULT);<a name="line.589"></a>
-<span class="sourceLineNo">590</span> if (this.shortCompactions.getCorePoolSize() != smallThreads) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span> LOG.info("Changing the value of " + SMALL_COMPACTION_THREADS +<a name="line.591"></a>
-<span class="sourceLineNo">592</span> " from " + this.shortCompactions.getCorePoolSize() + " to " +<a name="line.592"></a>
-<span class="sourceLineNo">593</span> smallThreads);<a name="line.593"></a>
-<span class="sourceLineNo">594</span> if(this.shortCompactions.getCorePoolSize() < smallThreads) {<a name="line.594"></a>
-<span class="sourceLineNo">595</span> this.shortCompactions.setMaximumPoolSize(smallThreads);<a name="line.595"></a>
-<span class="sourceLineNo">596</span> this.shortCompactions.setCorePoolSize(smallThreads);<a name="line.596"></a>
-<span class="sourceLineNo">597</span> } else {<a name="line.597"></a>
-<span class="sourceLineNo">598</span> this.shortCompactions.setCorePoolSize(smallThreads);<a name="line.598"></a>
-<span class="sourceLineNo">599</span> this.shortCompactions.setMaximumPoolSize(smallThreads);<a name="line.599"></a>
-<span class="sourceLineNo">600</span> }<a name="line.600"></a>
-<span class="sourceLineNo">601</span> }<a name="line.601"></a>
-<span class="sourceLineNo">602</span><a name="line.602"></a>
-<span class="sourceLineNo">603</span> int splitThreads = newConf.getInt(SPLIT_THREADS,<a name="line.603"></a>
-<span class="sourceLineNo">604</span> SPLIT_THREADS_DEFAULT);<a name="line.604"></a>
-<span class="sourceLineNo">605</span> if (this.splits.getCorePoolSize() != splitThreads) {<a name="line.605"></a>
-<span class="sourceLineNo">606</span> LOG.info("Changing the value of " + SPLIT_THREADS +<a name="line.606"></a>
-<span class="sourceLineNo">607</span> " from " + this.splits.getCorePoolSize() + " to " +<a name="line.607"></a>
-<span class="sourceLineNo">608</span> splitThreads);<a name="line.608"></a>
-<span class="sourceLineNo">609</span> if(this.splits.getCorePoolSize() < splitThreads) {<a name="line.609"></a>
-<span class="sourceLineNo">610</span> this.splits.setMaximumPoolSize(splitThreads);<a name="line.610"></a>
-<span class="sourceLineNo">611</span> this.splits.setCorePoolSize(splitThreads);<a name="line.611"></a>
-<span class="sourceLineNo">612</span> } else {<a name="line.612"></a>
-<span class="sourceLineNo">613</span> this.splits.setCorePoolSize(splitThreads);<a name="line.613"></a>
-<span class="sourceLineNo">614</span> this.splits.setMaximumPoolSize(splitThreads);<a name="line.614"></a>
-<span class="sourceLineNo">615</span> }<a name="line.615"></a>
-<span class="sourceLineNo">616</span> }<a name="line.616"></a>
-<span class="sourceLineNo">617</span><a name="line.617"></a>
-<span class="sourceLineNo">618</span> ThroughputController old = this.compactionThroughputController;<a name="line.618"></a>
-<span class="sourceLineNo">619</span> if (old != null) {<a name="line.619"></a>
-<span class="sourceLineNo">620</span> old.stop("configuration change");<a name="line.620"></a>
-<span class="sourceLineNo">621</span> }<a name="line.621"></a>
-<span class="sourceLineNo">622</span> this.compactionThroughputController =<a name="line.622"></a>
-<span class="sourceLineNo">623</span> CompactionThroughputControllerFactory.create(server, newConf);<a name="line.623"></a>
-<span class="sourceLineNo">624</span><a name="line.624"></a>
-<span class="sourceLineNo">625</span> // We change this atomically here instead of reloading the config in order that upstream<a name="line.625"></a>
-<span class="sourceLineNo">626</span> // would be the only one with the flexibility to reload the config.<a name="line.626"></a>
-<span class="sourceLineNo">627</span> this.conf.reloadConfiguration();<a name="line.627"></a>
-<span class="sourceLineNo">628</span> }<a name="line.628"></a>
-<span class="sourceLineNo">629</span><a name="line.629"></a>
-<span class="sourceLineNo">630</span> protected int getSmallCompactionThreadNum() {<a name="line.630"></a>
-<span class="sourceLineNo">631</span> return this.shortCompactions.getCorePoolSize();<a name="line.631"></a>
-<span class="sourceLineNo">632</span> }<a name="line.632"></a>
-<span class="sourceLineNo">633</span><a name="line.633"></a>
-<span class="sourceLineNo">634</span> protected int getLargeCompactionThreadNum() {<a name="line.634"></a>
-<span class="sourceLineNo">635</span> return this.longCompactions.getCorePoolSize();<a name="line.635"></a>
-<span class="sourceLineNo">636</span> }<a name="line.636"></a>
-<span class="sourceLineNo">637</span><a name="line.637"></a>
-<span class="sourceLineNo">638</span> protected int getSplitThreadNum() {<a name="line.638"></a>
-<span class="sourceLineNo">639</span> return this.splits.getCorePoolSize();<a name="line.639"></a>
-<span class="sourceLineNo">640</span> }<a name="line.640"></a>
-<span class="sourceLineNo">641</span><a name="line.641"></a>
-<span class="sourceLineNo">642</span> /**<a name="line.642"></a>
-<span class="sourceLineNo">643</span> * {@inheritDoc}<a name="line.643"></a>
-<span class="sourceLineNo">644</span> */<a name="line.644"></a>
-<span class="sourceLineNo">645</span> @Override<a name="line.645"></a>
-<span class="sourceLineNo">646</span> public void registerChildren(ConfigurationManager manager) {<a name="line.646"></a>
-<span class="sourceLineNo">647</span> // No children to register.<a name="line.647"></a>
-<span class="sourceLineNo">648</span> }<a name="line.648"></a>
-<span class="sourceLineNo">649</span><a name="line.649"></a>
-<span class="sourceLineNo">650</span> /**<a name="line.650"></a>
-<span class="sourceLineNo">651</span> * {@inheritDoc}<a name="line.651"></a>
-<span class="sourceLineNo">652</span> */<a name="line.652"></a>
-<span class="sourceLineNo">653</span> @Override<a name="line.653"></a>
-<span class="sourceLineNo">654</span> public void deregisterChildren(ConfigurationManager manager) {<a name="line.654"></a>
-<span class="sourceLineNo">655</span> // No children to register<a name="line.655"></a>
-<span class="sourceLineNo">656</span> }<a name="line.656"></a>
-<span class="sourceLineNo">657</span><a name="line.657"></a>
-<span class="sourceLineNo">658</span> @VisibleForTesting<a name="line.658"></a>
-<span class="sourceLineNo">659</span> public ThroughputController getCompactionThroughputController() {<a name="line.659"></a>
-<span class="sourceLineNo">660</span> return compactionThroughputController;<a name="line.660"></a>
-<span class="sourceLineNo">661</span> }<a name="line.661"></a>
-<span class="sourceLineNo">662</span><a name="line.662"></a>
-<span class="sourceLineNo">663</span> @VisibleForTesting<a name="line.663"></a>
-<span class="sourceLineNo">664</span> /**<a name="line.664"></a>
-<span class="sourceLineNo">665</span> * Shutdown the long compaction thread pool.<a name="line.665"></a>
-<span class="sourceLineNo">666</span> * Should only be used in unit test to prevent long compaction thread pool from stealing job<a name="line.666"></a>
-<span class="sourceLineNo">667</span> * from short compaction queue<a name="line.667"></a>
-<span class="sourceLineNo">668</span> */<a name="line.668"></a>
-<span class="sourceLineNo">669</span> void shutdownLongCompactions(){<a name="line.669"></a>
-<span class="sourceLineNo">670</span> this.longCompactions.shutdown();<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">423</span> private long time;<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span> public CompactionRunner(Store store, Region region,<a name="line.425"></a>
+<span class="sourceLineNo">426</span> CompactionContext compaction, ThreadPoolExecutor parent, User user) {<a name="line.426"></a>
+<span class="sourceLineNo">427</span> super();<a name="line.427"></a>
+<span class="sourceLineNo">428</span> this.store = store;<a name="line.428"></a>
+<span class="sourceLineNo">429</span> this.region = (HRegion)region;<a name="line.429"></a>
+<span class="sourceLineNo">430</span> this.compaction = compaction;<a name="line.430"></a>
+<span class="sourceLineNo">431</span> this.queuedPriority = (this.compaction == null)<a name="line.431"></a>
+<span class="sourceLineNo">432</span> ? store.getCompactPriority() : compaction.getRequest().getPriority();<a name="line.432"></a>
+<span class="sourceLineNo">433</span> this.parent = parent;<a name="line.433"></a>
+<span class="sourceLineNo">434</span> this.user = user;<a name="line.434"></a>
+<span class="sourceLineNo">435</span> this.time = System.currentTimeMillis();<a name="line.435"></a>
+<span class="sourceLineNo">436</span> }<a name="line.436"></a>
+<span class="sourceLineNo">437</span><a name="line.437"></a>
+<span class="sourceLineNo">438</span> @Override<a name="line.438"></a>
+<span class="sourceLineNo">439</span> public String toString() {<a name="line.439"></a>
+<span class="sourceLineNo">440</span> return (this.compaction != null) ? ("Request = " + compaction.getRequest())<a name="line.440"></a>
+<span class="sourceLineNo">441</span> : ("regionName = " + region.toString() + ", storeName = " + store.toString() +<a name="line.441"></a>
+<span class="sourceLineNo">442</span> ", priority = " + queuedPriority + ", time = " + time);<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> private void doCompaction(User user) {<a name="line.445"></a>
+<span class="sourceLineNo">446</span> // Common case - system compaction without a file selection. Select now.<a name="line.446"></a>
+<span class="sourceLineNo">447</span> if (this.compaction == null) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span> int oldPriority = this.queuedPriority;<a name="line.448"></a>
+<span class="sourceLineNo">449</span> this.queuedPriority = this.store.getCompactPriority();<a name="line.449"></a>
+<span class="sourceLineNo">450</span> if (this.queuedPriority > oldPriority) {<a name="line.450"></a>
+<span class="sourceLineNo">451</span> // Store priority decreased while we were in queue (due to some other compaction?),<a name="line.451"></a>
+<span class="sourceLineNo">452</span> // requeue with new priority to avoid blocking potential higher priorities.<a name="line.452"></a>
+<span class="sourceLineNo">453</span> this.parent.execute(this);<a name="line.453"></a>
+<span class="sourceLineNo">454</span> return;<a name="line.454"></a>
+<span class="sourceLineNo">455</span> }<a name="line.455"></a>
+<span class="sourceLineNo">456</span> try {<a name="line.456"></a>
+<span class="sourceLineNo">457</span> this.compaction = selectCompaction(this.region, this.store, queuedPriority, null, user);<a name="line.457"></a>
+<span class="sourceLineNo">458</span> } catch (IOException ex) {<a name="line.458"></a>
+<span class="sourceLineNo">459</span> LOG.error("Compaction selection failed " + this, ex);<a name="line.459"></a>
+<span class="sourceLineNo">460</span> server.checkFileSystem();<a name="line.460"></a>
+<span class="sourceLineNo">461</span> return;<a name="line.461"></a>
+<span class="sourceLineNo">462</span> }<a name="line.462"></a>
+<span class="sourceLineNo">463</span> if (this.compaction == null) return; // nothing to do<a name="line.463"></a>
+<span class="sourceLineNo">464</span> // Now see if we are in correct pool for the size; if not, go to the correct one.<a name="line.464"></a>
+<span class="sourceLineNo">465</span> // We might end up waiting for a while, so cancel the selection.<a name="line.465"></a>
+<span class="sourceLineNo">466</span> assert this.compaction.hasSelection();<a name="line.466"></a>
+<span class="sourceLineNo">467</span> ThreadPoolExecutor pool = store.throttleCompaction(<a name="line.467"></a>
+<span class="sourceLineNo">468</span> compaction.getRequest().getSize()) ? longCompactions : shortCompactions;<a name="line.468"></a>
+<span class="sourceLineNo">469</span><a name="line.469"></a>
+<span class="sourceLineNo">470</span> // Long compaction pool can process small job<a name="line.470"></a>
+<span class="sourceLineNo">471</span> // Short compaction pool should not process large job<a name="line.471"></a>
+<span class="sourceLineNo">472</span> if (this.parent == shortCompactions && pool == longCompactions) {<a name="line.472"></a>
+<span class="sourceLineNo">473</span> this.store.cancelRequestedCompaction(this.compaction);<a name="line.473"></a>
+<span class="sourceLineNo">474</span> this.compaction = null;<a name="line.474"></a>
+<span class="sourceLineNo">475</span> this.parent = pool;<a name="line.475"></a>
+<span class="sourceLineNo">476</span> this.parent.execute(this);<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> }<a name="line.479"></a>
+<span class="sourceLineNo">480</span> // Finally we can compact something.<a name="line.480"></a>
+<span class="sourceLineNo">481</span> assert this.compaction != null;<a name="line.481"></a>
+<span class="sourceLineNo">482</span><a name="line.482"></a>
+<span class="sourceLineNo">483</span> this.compaction.getRequest().beforeExecute();<a name="line.483"></a>
+<span class="sourceLineNo">484</span> try {<a name="line.484"></a>
+<span class="sourceLineNo">485</span> // Note: please don't put single-compaction logic here;<a name="line.485"></a>
+<span class="sourceLineNo">486</span> // put it into region/store/etc. This is CST logic.<a name="line.486"></a>
+<span class="sourceLineNo">487</span> long start = EnvironmentEdgeManager.currentTime();<a name="line.487"></a>
+<span class="sourceLineNo">488</span> boolean completed =<a name="line.488"></a>
+<span class="sourceLineNo">489</span> region.compact(compaction, store, compactionThroughputController, user);<a name="line.489"></a>
+<span class="sourceLineNo">490</span> long now = EnvironmentEdgeManager.currentTime();<a name="line.490"></a>
+<span class="sourceLineNo">491</span> LOG.info(((completed) ? "Completed" : "Aborted") + " compaction: " +<a name="line.491"></a>
+<span class="sourceLineNo">492</span> this + "; duration=" + StringUtils.formatTimeDiff(now, start));<a name="line.492"></a>
+<span class="sourceLineNo">493</span> if (completed) {<a name="line.493"></a>
+<span class="sourceLineNo">494</span> // degenerate case: blocked regions require recursive enqueues<a name="line.494"></a>
+<span class="sourceLineNo">495</span> if (store.getCompactPriority() <= 0) {<a name="line.495"></a>
+<span class="sourceLineNo">496</span> requestSystemCompaction(region, store, "Recursive enqueue");<a name="line.496"></a>
+<span class="sourceLineNo">497</span> } else {<a name="line.497"></a>
+<span class="sourceLineNo">498</span> // see if the compaction has caused us to exceed max region size<a name="line.498"></a>
+<span class="sourceLineNo">499</span> requestSplit(region);<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> } catch (IOException ex) {<a name="line.502"></a>
+<span class="sourceLineNo">503</span> IOException remoteEx =<a name="line.503"></a>
+<span class="sourceLineNo">504</span> ex instanceof RemoteException ? ((RemoteException) ex).unwrapRemoteException() : ex;<a name="line.504"></a>
+<span class="sourceLineNo">505</span> LOG.error("Compaction failed " + this, remoteEx);<a name="line.505"></a>
+<span class="sourceLineNo">506</span> if (remoteEx != ex) {<a name="line.506"></a>
+<span class="sourceLineNo">507</span> LOG.info("Compaction failed at original callstack: " + formatStackTrace(ex));<a name="line.507"></a>
+<span class="sourceLineNo">508</span> }<a name="line.508"></a>
+<span class="sourceLineNo">509</span> region.reportCompactionRequestFailure();<a name="line.509"></a>
+<span class="sourceLineNo">510</span> server.checkFileSystem();<a name="line.510"></a>
+<span class="sourceLineNo">511</span> } catch (Exception ex) {<a name="line.511"></a>
+<span class="sourceLineNo">512</span> LOG.error("Compaction failed " + this, ex);<a name="line.512"></a>
+<span class="sourceLineNo">513</span> region.reportCompactionRequestFailure();<a name="line.513"></a>
+<span class="sourceLineNo">514</span> server.checkFileSystem();<a name="line.514"></a>
+<span class="sourceLineNo">515</span> } finally {<a name="line.515"></a>
+<span class="sourceLineNo">516</span> LOG.debug("CompactSplitThread Status: " + CompactSplitThread.this);<a name="line.516"></a>
+<span class="sourceLineNo">517</span> }<a name="line.517"></a>
+<span class="sourceLineNo">518</span> this.compaction.getRequest().afterExecute();<a name="line.518"></a>
+<span class="sourceLineNo">519</span> }<a name="line.519"></a>
+<span class="sourceLineNo">520</span><a name="line.520"></a>
+<span class="sourceLineNo">521</span> @Override<a name="line.521"></a>
+<span class="sourceLineNo">522</span> public void run() {<a name="line.522"></a>
+<span class="sourceLineNo">523</span> Preconditions.checkNotNull(server);<a name="line.523"></a>
+<span class="sourceLineNo">524</span> if (server.isStopped()<a name="line.524"></a>
+<span class="sourceLineNo">525</span> || (region.getTableDesc() != null && !region.getTableDesc().isCompactionEnabled())) {<a name="line.525"></a>
+<span class="sourceLineNo">526</span> return;<a name="line.526"></a>
+<span class="sourceLineNo">527</span> }<a name="line.527"></a>
+<span class="sourceLineNo">528</span> doCompaction(user);<a name="line.528"></a>
+<span class="sourceLineNo">529</span> }<a name="line.529"></a>
+<span class="sourceLineNo">530</span><a name="line.530"></a>
+<span class="sourceLineNo">531</span> private String formatStackTrace(Exception ex) {<a name="line.531"></a>
+<span class="sourceLineNo">532</span> StringWriter sw = new StringWriter();<a name="line.532"></a>
+<span class="sourceLineNo">533</span> PrintWriter pw = new PrintWriter(sw);<a name="line.533"></a>
+<span class="sourceLineNo">534</span> ex.printStackTrace(pw);<a name="line.534"></a>
+<span class="sourceLineNo">535</span> pw.flush();<a name="line.535"></a>
+<span class="sourceLineNo">536</span> return sw.toString();<a name="line.536"></a>
+<span class="sourceLineNo">537</span> }<a name="line.537"></a>
+<span class="sourceLineNo">538</span><a name="line.538"></a>
+<span class="sourceLineNo">539</span> @Override<a name="line.539"></a>
+<span class="sourceLineNo">540</span> public int compareTo(CompactionRunner o) {<a name="line.540"></a>
+<span class="sourceLineNo">541</span> // Only compare the underlying request (if any), for queue sorting purposes.<a name="line.541"></a>
+<span class="sourceLineNo">542</span> int compareVal = queuedPriority - o.queuedPriority; // compare priority<a name="line.542"></a>
+<span class="sourceLineNo">543</span> if (compareVal != 0) return compareVal;<a name="line.543"></a>
+<span class="sourceLineNo">544</span> CompactionContext tc = this.compaction, oc = o.compaction;<a name="line.544"></a>
+<span class="sourceLineNo">545</span> // Sort pre-selected (user?) compactions before system ones with equal priority.<a name="line.545"></a>
+<span class="sourceLineNo">546</span> return (tc == null) ? ((oc == null) ? 0 : 1)<a name="line.546"></a>
+<span class="sourceLineNo">547</span> : ((oc == null) ? -1 : tc.getRequest().compareTo(oc.getRequest()));<a name="line.547"></a>
+<span class="sourceLineNo">548</span> }<a name="line.548"></a>
+<span class="sourceLineNo">549</span> }<a name="line.549"></a>
+<span class="sourceLineNo">550</span><a name="line.550"></a>
+<span class="sourceLineNo">551</span> /**<a name="line.551"></a>
+<span class="sourceLineNo">552</span> * Cleanup class to use when rejecting a compaction request from the queue.<a name="line.552"></a>
+<span class="sourceLineNo">553</span> */<a name="line.553"></a>
+<span class="sourceLineNo">554</span> private static class Rejection implements RejectedExecutionHandler {<a name="line.554"></a>
+<span class="sourceLineNo">555</span> @Override<a name="line.555"></a>
+<span class="sourceLineNo">556</span> public void rejectedExecution(Runnable runnable, ThreadPoolExecutor pool) {<a name="line.556"></a>
+<span class="sourceLineNo">557</span> if (runnable instanceof CompactionRunner) {<a name="line.557"></a>
+<span class="sourceLineNo">558</span> CompactionRunner runner = (CompactionRunner)runnable;<a name="line.558"></a>
+<span class="sourceLineNo">559</span> LOG.debug("Compaction Rejected: " + runner);<a name="line.559"></a>
+<span class="sourceLineNo">560</span> runner.store.cancelRequestedCompaction(runner.compaction);<a name="line.560"></a>
+<span class="sourceLineNo">561</span> }<a name="line.561"></a>
+<span class="sourceLineNo">562</span> }<a name="line.562"></a>
+<span class="sourceLineNo">563</span> }<a name="line.563"></a>
+<span class="sourceLineNo">564</span><a name="line.564"></a>
+<span class="sourceLineNo">565</span> /**<a name="line.565"></a>
+<span class="sourceLineNo">566</span> * {@inheritDoc}<a name="line.566"></a>
+<span class="sourceLineNo">567</span> */<a name="line.567"></a>
+<span class="sourceLineNo">568</span> @Override<a name="line.568"></a>
+<span class="sourceLineNo">569</span> public void onConfigurationChange(Configuration newConf) {<a name="line.569"></a>
+<span class="sourceLineNo">570</span> // Check if number of large / small compaction threads has changed, and then<a name="line.570"></a>
+<span class="sourceLineNo">571</span> // adjust the core pool size of the thread pools, by using the<a name="line.571"></a>
+<span class="sourceLineNo">572</span> // setCorePoolSize() method. According to the javadocs, it is safe to<a name="line.572"></a>
+<span class="sourceLineNo">573</span> // change the core pool size on-the-fly. We need to reset the maximum<a name="line.573"></a>
+<span class="sourceLineNo">574</span> // pool size, as well.<a name="line.574"></a>
+<span class="sourceLineNo">575</span> int largeThreads = Math.max(1, newConf.getInt(<a name="line.575"></a>
+<span class="sourceLineNo">576</span> LARGE_COMPACTION_THREADS,<a name="line.576"></a>
+<span class="sourceLineNo">577</span> LARGE_COMPACTION_THREADS_DEFAULT));<a name="line.577"></a>
+<span class="sourceLineNo">578</span> if (this.longCompactions.getCorePoolSize() != largeThreads) {<a name="line.578"></a>
+<span class="sourceLineNo">579</span> LOG.info("Changing the value of " + LARGE_COMPACTION_THREADS +<a name="line.579"></a>
+<span class="sourceLineNo">580</span> " from " + this.longCompactions.getCorePoolSize() + " to " +<a name="line.580"></a>
+<span class="sourceLineNo">581</span> largeThreads);<a name="line.581"></a>
+<span class="sourceLineNo">582</span> if(this.longCompactions.getCorePoolSize() < largeThreads) {<a name="line.582"></a>
+<span class="sourceLineNo">583</span> this.longCompactions.setMaximumPoolSize(largeThreads);<a name="line.583"></a>
+<span class="sourceLineNo">584</span> this.longCompactions.setCorePoolSize(largeThreads);<a name="line.584"></a>
+<span class="sourceLineNo">585</span> } else {<a name="line.585"></a>
+<span class="sourceLineNo">586</span> this.longCompactions.setCorePoolSize(largeThreads);<a name="line.586"></a>
+<span class="sourceLineNo">587</span> this.longCompactions.setMaximumPoolSize(largeThreads);<a name="line.587"></a>
+<span class="sourceLineNo">588</span> }<a name="line.588"></a>
+<span class="sourceLineNo">589</span> }<a name="line.589"></a>
+<span class="sourceLineNo">590</span><a name="line.590"></a>
+<span class="sourceLineNo">591</span> int smallThreads = newConf.getInt(SMALL_COMPACTION_THREADS,<a name="line.591"></a>
+<span class="sourceLineNo">592</span> SMALL_COMPACTION_THREADS_DEFAULT);<a name="line.592"></a>
+<span class="sourceLineNo">593</span> if (this.shortCompactions.getCorePoolSize() != smallThreads) {<a name="line.593"></a>
+<span class="sourceLineNo">594</span> LOG.info("Changing the value of " + SMALL_COMPACTION_THREADS +<a name="line.594"></a>
+<span class="sourceLineNo">595</span> " from " + this.shortCompactions.getCorePoolSize() + " to " +<a name="line.595"></a>
+<span class="sourceLineNo">596</span> smallThreads);<a name="line.596"></a>
+<span class="sourceLineNo">597</span> if(this.shortCompactions.getCorePoolSize() < smallThreads) {<a name="line.597"></a>
+<span class="sourceLineNo">598</span> this.shortCompactions.setMaximumPoolSize(smallThreads);<a name="line.598"></a>
+<span class="sourceLineNo">599</span> this.shortCompactions.setCorePoolSize(smallThreads);<a name="line.599"></a>
+<span class="sourceLineNo">600</span> } else {<a name="line.600"></a>
+<span class="sourceLineNo">601</span> this.shortCompactions.setCorePoolSize(smallThreads);<a name="line.601"></a>
+<span class="sourceLineNo">602</span> this.shortCompactions.setMaximumPoolSize(smallThreads);<a name="line.602"></a>
+<span class="sourceLineNo">603</span> }<a name="line.603"></a>
+<span class="sourceLineNo">604</span> }<a name="line.604"></a>
+<span class="sourceLineNo">605</span><a name="line.605"></a>
+<span class="sourceLineNo">606</span> int splitThreads = newConf.getInt(SPLIT_THREADS,<a name="line.606"></a>
+<span class="sourceLineNo">607</span> SPLIT_THREADS_DEFAULT);<a name="line.607"></a>
+<span class="sourceLineNo">608</span> if (this.splits.getCorePoolSize() != splitThreads) {<a name="line.608"></a>
+<span class="sourceLineNo">609</span> LOG.info("Changing the value of " + SPLIT_THREADS +<a name="line.609"></a>
+<span class="sourceLineNo">610</span> " from " + this.splits.getCorePoolSize() + " to " +<a name="line.610"></a>
+<span class="sourceLineNo">611</span> splitThreads);<a name="line.611"></a>
+<span class="sourceLineNo">612</span> if(this.splits.getCorePoolSize() < splitThreads) {<a name="line.612"></a>
+<span class="sourceLineNo">613</span> this.splits.setMaximumPoolSize(splitThreads);<a name="line.613"></a>
+<span class="sourceLineNo">614</span> this.splits.setCorePoolSize(splitThreads);<a name="line.614"></a>
+<span class="sourceLineNo">615</span> } else {<a name="line.615"></a>
+<span class="sourceLineNo">616</span> this.splits.setCorePoolSize(splitThreads);<a name="line.616"></a>
+<span class="sourceLineNo">617</span> this.splits.setMaximumPoolSize(splitThreads);<a name="line.617"></a>
+<span class="sourceLineNo">618</span> }<a name="line.618"></a>
+<span class="sourceLineNo">619</span> }<a name="line.619"></a>
+<span class="sourceLineNo">620</span><a name="line.620"></a>
+<span class="sourceLineNo">621</span> ThroughputController old = this.compactionThroughputController;<a name="line.621"></a>
+<span class="sourceLineNo">622</span> if (old != null) {<a name="line.622"></a>
+<span class="sourceLineNo">623</span> old.stop("configuration change");<a name="line.623"></a>
+<span class="sourceLineNo">624</span> }<a name="line.624"></a>
+<span class="sourceLineNo">625</span> this.compactionThroughputController =<a name="line.625"></a>
+<span class="sourceLineNo">626</span> CompactionThroughputControllerFactory.create(server, newConf);<a name="line.626"></a>
+<span class="sourceLineNo">627</span><a name="line.627"></a>
+<span class="sourceLineNo">628</span> // We change this atomically here instead of reloading the config in order that upstream<a name="line.628"></a>
+<span class="sourceLineNo">629</span> // would be the only one with the flexibility to reload the config.<a name="line.629"></a>
+<span class="sourceLineNo">630</span> this.conf.reloadConfiguration();<a name="line.630"></a>
+<span class="sourceLineNo">631</span> }<a name="line.631"></a>
+<span class="sourceLineNo">632</span><a name="line.632"></a>
+<span class="sourceLineNo">633</span> protected int getSmallCompactionThreadNum() {<a name="line.633"></a>
+<span class="sourceLineNo">634</span> return this.shortCompactions.getCorePoolSize();<a name="line.634"></a>
+<span class="sourceLineNo">635</span> }<a name="line.635"></a>
+<span class="sourceLineNo">636</span><a name="line.636"></a>
+<span class="sourceLineNo">637</span> protected int getLargeCompactionThreadNum() {<a name="line.637"></a>
+<span class="sourceLineNo">638</span> return this.longCompactions.getCorePoolSize();<a name="line.638"></a>
+<span class="sourceLineNo">639</span> }<a name="line.639"></a>
+<span class="sourceLineNo">640</span><a name="line.640"></a>
+<span class="sourceLineNo">641</span> protected int getSplitThreadNum() {<a name="line.641"></a>
+<span class="sourceLineNo">642</span> return this.splits.getCorePoolSize();<a name="line.642"></a>
+<span class="sourceLineNo">643</span> }<a name="line.643"></a>
+<span class="sourceLineNo">644</span><a name="line.644"></a>
+<span class="sourceLineNo">645</span> /**<a name="line.645"></a>
+<span class="sourceLineNo">646</span> * {@inheritDoc}<a name="line.646"></a>
+<span class="sourceLineNo">647</span> */<a name="line.647"></a>
+<span class="sourceLineNo">648</span> @Override<a name="line.648"></a>
+<span class="sourceLineNo">649</span> public void registerChildren(ConfigurationManager manager) {<a name="line.649"></a>
+<span class="sourceLineNo">650</span> // No children to register.<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> /**<a name="line.653"></a>
+<span class="sourceLineNo">654</span> * {@inheritDoc}<a name="line.654"></a>
+<span class="sourceLineNo">655</span> */<a name="line.655"></a>
+<span class="sourceLineNo">656</span> @Override<a name="line.656"></a>
+<span class="sourceLineNo">657</span> public void deregisterChildren(ConfigurationManager manager) {<a name="line.657"></a>
+<span class="sourceLineNo">658</span> // No children to register<a name="line.658"></a>
+<span class="sourceLineNo">659</span> }<a name="line.659"></a>
+<span class="sourceLineNo">660</span><a name="line.660"></a>
+<span class="sourceLineNo">661</span> @VisibleForTesting<a name="line.661"></a>
+<span class="sourceLineNo">662</span> public ThroughputController getCompactionThroughputController() {<a name="line.662"></a>
+<span class="sourceLineNo">663</span> return compactionThroughputController;<a name="line.663"></a>
+<span class="sourceLineNo">664</span> }<a name="line.664"></a>
+<span class="sourceLineNo">665</span><a name="line.665"></a>
+<span class="sourceLineNo">666</span> @VisibleForTesting<a name="line.666"></a>
+<span class="sourceLineNo">667</span> /**<a name="line.667"></a>
+<span class="sourceLineNo">668</span> * Shutdown the long compaction thread pool.<a name="line.668"></a>
+<span class="sourceLineNo">669</span> * Should only be used in unit test to prevent long compaction thread pool from stealing job<a name="line.669"></a>
+<span class="sourceLineNo">670</span> * from short compaction queue<a name="line.670"></a>
+<span class="sourceLineNo">671</span> */<a name="line.671"></a>
+<span class="sourceLineNo">672</span> void shutdownLongCompactions(){<a name="line.672"></a>
+<span class="sourceLineNo">673</span> this.longCompactions.shutdown();<a name="line.673"></a>
+<span class="sourceLineNo">674</span> }<a name="line.674"></a>
+<span class="sourceLineNo">675</span>}<a name="line.675"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
index d7bb035..57dd74b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
@@ -69,15 +69,15 @@
<span class="sourceLineNo">061</span> requiredArguments = {<a name="line.61"></a>
<span class="sourceLineNo">062</span> @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.62"></a>
<span class="sourceLineNo">063</span> optionalArguments = {<a name="line.63"></a>
-<span class="sourceLineNo">064</span> @org.jamon.annotations.Argument(name = "servers", type = "List<ServerName>"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span> @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span> @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span> @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span> @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.68"></a>
-<span class="sourceLineNo">069</span> @org.jamon.annotations.Argument(name = "frags", type = "Map<String,Integer>"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span> @org.jamon.annotations.Argument(name = "deadServers", type = "Set<ServerName>"),<a name="line.70"></a>
-<span class="sourceLineNo">071</span> @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.71"></a>
-<span class="sourceLineNo">072</span> @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager")})<a name="line.72"></a>
+<span class="sourceLineNo">064</span> @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.64"></a>
+<span class="sourceLineNo">065</span> @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span> @org.jamon.annotations.Argument(name = "servers", type = "List<ServerName>"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span> @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span> @org.jamon.annotations.Argument(name = "frags", type = "Map<String,Integer>"),<a name="line.68"></a>
+<span class="sourceLineNo">069</span> @org.jamon.annotations.Argument(name = "deadServers", type = "Set<ServerName>"),<a name="line.69"></a>
+<span class="sourceLineNo">070</span> @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.70"></a>
+<span class="sourceLineNo">071</span> @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.71"></a>
+<span class="sourceLineNo">072</span> @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean")})<a name="line.72"></a>
<span class="sourceLineNo">073</span>public class MasterStatusTmpl<a name="line.73"></a>
<span class="sourceLineNo">074</span> extends org.jamon.AbstractTemplateProxy<a name="line.74"></a>
<span class="sourceLineNo">075</span>{<a name="line.75"></a>
@@ -118,159 +118,159 @@
<span class="sourceLineNo">110</span> return m_master;<a name="line.110"></a>
<span class="sourceLineNo">111</span> }<a name="line.111"></a>
<span class="sourceLineNo">112</span> private HMaster m_master;<a name="line.112"></a>
-<span class="sourceLineNo">113</span> // 23, 1<a name="line.113"></a>
-<span class="sourceLineNo">114</span> public void setServers(List<ServerName> servers)<a name="line.114"></a>
+<span class="sourceLineNo">113</span> // 22, 1<a name="line.113"></a>
+<span class="sourceLineNo">114</span> public void setMetaLocation(ServerName metaLocation)<a name="line.114"></a>
<span class="sourceLineNo">115</span> {<a name="line.115"></a>
-<span class="sourceLineNo">116</span> // 23, 1<a name="line.116"></a>
-<span class="sourceLineNo">117</span> m_servers = servers;<a name="line.117"></a>
-<span class="sourceLineNo">118</span> m_servers__IsNotDefault = true;<a name="line.118"></a>
+<span class="sourceLineNo">116</span> // 22, 1<a name="line.116"></a>
+<span class="sourceLineNo">117</span> m_metaLocation = metaLocation;<a name="line.117"></a>
+<span class="sourceLineNo">118</span> m_metaLocation__IsNotDefault = true;<a name="line.118"></a>
<span class="sourceLineNo">119</span> }<a name="line.119"></a>
-<span class="sourceLineNo">120</span> public List<ServerName> getServers()<a name="line.120"></a>
+<span class="sourceLineNo">120</span> public ServerName getMetaLocation()<a name="line.120"></a>
<span class="sourceLineNo">121</span> {<a name="line.121"></a>
-<span class="sourceLineNo">122</span> return m_servers;<a name="line.122"></a>
+<span class="sourceLineNo">122</span> return m_metaLocation;<a name="line.122"></a>
<span class="sourceLineNo">123</span> }<a name="line.123"></a>
-<span class="sourceLineNo">124</span> private List<ServerName> m_servers;<a name="line.124"></a>
-<span class="sourceLineNo">125</span> public boolean getServers__IsNotDefault()<a name="line.125"></a>
+<span class="sourceLineNo">124</span> private ServerName m_metaLocation;<a name="line.124"></a>
+<span class="sourceLineNo">125</span> public boolean getMetaLocation__IsNotDefault()<a name="line.125"></a>
<span class="sourceLineNo">126</span> {<a name="line.126"></a>
-<span class="sourceLineNo">127</span> return m_servers__IsNotDefault;<a name="line.127"></a>
+<span class="sourceLineNo">127</span> return m_metaLocation__IsNotDefault;<a name="line.127"></a>
<span class="sourceLineNo">128</span> }<a name="line.128"></a>
-<span class="sourceLineNo">129</span> private boolean m_servers__IsNotDefault;<a name="line.129"></a>
-<span class="sourceLineNo">130</span> // 26, 1<a name="line.130"></a>
-<span class="sourceLineNo">131</span> public void setFilter(String filter)<a name="line.131"></a>
+<span class="sourceLineNo">129</span> private boolean m_metaLocation__IsNotDefault;<a name="line.129"></a>
+<span class="sourceLineNo">130</span> // 27, 1<a name="line.130"></a>
+<span class="sourceLineNo">131</span> public void setFormat(String format)<a name="line.131"></a>
<span class="sourceLineNo">132</span> {<a name="line.132"></a>
-<span class="sourceLineNo">133</span> // 26, 1<a name="line.133"></a>
-<span class="sourceLineNo">134</span> m_filter = filter;<a name="line.134"></a>
-<span class="sourceLineNo">135</span> m_filter__IsNotDefault = true;<a name="line.135"></a>
+<span class="sourceLineNo">133</span> // 27, 1<a name="line.133"></a>
+<span class="sourceLineNo">134</span> m_format = format;<a name="line.134"></a>
+<span class="sourceLineNo">135</span> m_format__IsNotDefault = true;<a name="line.135"></a>
<span class="sourceLineNo">136</span> }<a name="line.136"></a>
-<span class="sourceLineNo">137</span> public String getFilter()<a name="line.137"></a>
+<span class="sourceLineNo">137</span> public String getFormat()<a name="line.137"></a>
<span class="sourceLineNo">138</span> {<a name="line.138"></a>
-<span class="sourceLineNo">139</span> return m_filter;<a name="line.139"></a>
+<span class="sourceLineNo">139</span> return m_format;<a name="line.139"></a>
<span class="sourceLineNo">140</span> }<a name="line.140"></a>
-<span class="sourceLineNo">141</span> private String m_filter;<a name="line.141"></a>
-<span class="sourceLineNo">142</span> public boolean getFilter__IsNotDefault()<a name="line.142"></a>
+<span class="sourceLineNo">141</span> private String m_format;<a name="line.141"></a>
+<span class="sourceLineNo">142</span> public boolean getFormat__IsNotDefault()<a name="line.142"></a>
<span class="sourceLineNo">143</span> {<a name="line.143"></a>
-<span class="sourceLineNo">144</span> return m_filter__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">144</span> return m_format__IsNotDefault;<a name="line.144"></a>
<span class="sourceLineNo">145</span> }<a name="line.145"></a>
-<span class="sourceLineNo">146</span> private boolean m_filter__IsNotDefault;<a name="line.146"></a>
-<span class="sourceLineNo">147</span> // 25, 1<a name="line.147"></a>
-<span class="sourceLineNo">148</span> public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.148"></a>
+<span class="sourceLineNo">146</span> private boolean m_format__IsNotDefault;<a name="line.146"></a>
+<span class="sourceLineNo">147</span> // 23, 1<a name="line.147"></a>
+<span class="sourceLineNo">148</span> public void setServers(List<ServerName> servers)<a name="line.148"></a>
<span class="sourceLineNo">149</span> {<a name="line.149"></a>
-<span class="sourceLineNo">150</span> // 25, 1<a name="line.150"></a>
-<span class="sourceLineNo">151</span> m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.151"></a>
-<span class="sourceLineNo">152</span> m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.152"></a>
+<span class="sourceLineNo">150</span> // 23, 1<a name="line.150"></a>
+<span class="sourceLineNo">151</span> m_servers = servers;<a name="line.151"></a>
+<span class="sourceLineNo">152</span> m_servers__IsNotDefault = true;<a name="line.152"></a>
<span class="sourceLineNo">153</span> }<a name="line.153"></a>
-<span class="sourceLineNo">154</span> public boolean getCatalogJanitorEnabled()<a name="line.154"></a>
+<span class="sourceLineNo">154</span> public List<ServerName> getServers()<a name="line.154"></a>
<span class="sourceLineNo">155</span> {<a name="line.155"></a>
-<span class="sourceLineNo">156</span> return m_catalogJanitorEnabled;<a name="line.156"></a>
+<span class="sourceLineNo">156</span> return m_servers;<a name="line.156"></a>
<span class="sourceLineNo">157</span> }<a name="line.157"></a>
-<span class="sourceLineNo">158</span> private boolean m_catalogJanitorEnabled;<a name="line.158"></a>
-<span class="sourceLineNo">159</span> public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.159"></a>
+<span class="sourceLineNo">158</span> private List<ServerName> m_servers;<a name="line.158"></a>
+<span class="sourceLineNo">159</span> public boolean getServers__IsNotDefault()<a name="line.159"></a>
<span class="sourceLineNo">160</span> {<a name="line.160"></a>
-<span class="sourceLineNo">161</span> return m_catalogJanitorEnabled__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">161</span> return m_servers__IsNotDefault;<a name="line.161"></a>
<span class="sourceLineNo">162</span> }<a name="line.162"></a>
-<span class="sourceLineNo">163</span> private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.163"></a>
-<span class="sourceLineNo">164</span> // 22, 1<a name="line.164"></a>
-<span class="sourceLineNo">165</span> public void setMetaLocation(ServerName metaLocation)<a name="line.165"></a>
+<span class="sourceLineNo">163</span> private boolean m_servers__IsNotDefault;<a name="line.163"></a>
+<span class="sourceLineNo">164</span> // 28, 1<a name="line.164"></a>
+<span class="sourceLineNo">165</span> public void setServerManager(ServerManager serverManager)<a name="line.165"></a>
<span class="sourceLineNo">166</span> {<a name="line.166"></a>
-<span class="sourceLineNo">167</span> // 22, 1<a name="line.167"></a>
-<span class="sourceLineNo">168</span> m_metaLocation = metaLocation;<a name="line.168"></a>
-<span class="sourceLineNo">169</span> m_metaLocation__IsNotDefault = true;<a name="line.169"></a>
+<span class="sourceLineNo">167</span> // 28, 1<a name="line.167"></a>
+<span class="sourceLineNo">168</span> m_serverManager = serverManager;<a name="line.168"></a>
+<span class="sourceLineNo">169</span> m_serverManager__IsNotDefault = true;<a name="line.169"></a>
<span class="sourceLineNo">170</span> }<a name="line.170"></a>
-<span class="sourceLineNo">171</span> public ServerName getMetaLocation()<a name="line.171"></a>
+<span class="sourceLineNo">171</span> public ServerManager getServerManager()<a name="line.171"></a>
<span class="sourceLineNo">172</span> {<a name="line.172"></a>
-<span class="sourceLineNo">173</span> return m_metaLocation;<a name="line.173"></a>
+<span class="sourceLineNo">173</span> return m_serverManager;<a name="line.173"></a>
<span class="sourceLineNo">174</span> }<a name="line.174"></a>
-<span class="sourceLineNo">175</span> private ServerName m_metaLocation;<a name="line.175"></a>
-<span class="sourceLineNo">176</span> public boolean getMetaLocation__IsNotDefault()<a name="line.176"></a>
+<span class="sourceLineNo">175</span> private ServerManager m_serverManager;<a name="line.175"></a>
+<span class="sourceLineNo">176</span> public boolean getServerManager__IsNotDefault()<a name="line.176"></a>
<span class="sourceLineNo">177</span> {<a name="line.177"></a>
-<span class="sourceLineNo">178</span> return m_metaLocation__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">178</span> return m_serverManager__IsNotDefault;<a name="line.178"></a>
<span class="sourceLineNo">179</span> }<a name="line.179"></a>
-<span class="sourceLineNo">180</span> private boolean m_metaLocation__IsNotDefault;<a name="line.180"></a>
-<span class="sourceLineNo">181</span> // 29, 1<a name="line.181"></a>
-<span class="sourceLineNo">182</span> public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.182"></a>
+<span class="sourceLineNo">180</span> private boolean m_serverManager__IsNotDefault;<a name="line.180"></a>
+<span class="sourceLineNo">181</span> // 21, 1<a name="line.181"></a>
+<span class="sourceLineNo">182</span> public void setFrags(Map<String,Integer> frags)<a name="line.182"></a>
<span class="sourceLineNo">183</span> {<a name="line.183"></a>
-<span class="sourceLineNo">184</span> // 29, 1<a name="line.184"></a>
-<span class="sourceLineNo">185</span> m_assignmentManager = assignmentManager;<a name="line.185"></a>
-<span class="sourceLineNo">186</span> m_assignmentManager__IsNotDefault = true;<a name="line.186"></a>
+<span class="sourceLineNo">184</span> // 21, 1<a name="line.184"></a>
+<span class="sourceLineNo">185</span> m_frags = frags;<a name="line.185"></a>
+<span class="sourceLineNo">186</span> m_frags__IsNotDefault = true;<a name="line.186"></a>
<span class="sourceLineNo">187</span> }<a name="line.187"></a>
-<span class="sourceLineNo">188</span> public AssignmentManager getAssignmentManager()<a name="line.188"></a>
+<span class="sourceLineNo">188</span> public Map<String,Integer> getFrags()<a name="line.188"></a>
<span class="sourceLineNo">189</span> {<a name="line.189"></a>
-<span class="sourceLineNo">190</span> return m_assignmentManager;<a name="line.190"></a>
+<span class="sourceLineNo">190</span> return m_frags;<a name="line.190"></a>
<span class="sourceLineNo">191</span> }<a name="line.191"></a>
-<span class="sourceLineNo">192</span> private AssignmentManager m_assignmentManager;<a name="line.192"></a>
-<span class="sourceLineNo">193</span> public boolean getAssignmentManager__IsNotDefault()<a name="line.193"></a>
+<span class="sourceLineNo">192</span> private Map<String,Integer> m_frags;<a name="line.192"></a>
+<span class="sourceLineNo">193</span> public boolean getFrags__IsNotDefault()<a name="line.193"></a>
<span class="sourceLineNo">194</span> {<a name="line.194"></a>
-<span class="sourceLineNo">195</span> return m_assignmentManager__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">195</span> return m_frags__IsNotDefault;<a name="line.195"></a>
<span class="sourceLineNo">196</span> }<a name="line.196"></a>
-<span class="sourceLineNo">197</span> private boolean m_assignmentManager__IsNotDefault;<a name="line.197"></a>
-<span class="sourceLineNo">198</span> // 21, 1<a name="line.198"></a>
-<span class="sourceLineNo">199</span> public void setFrags(Map<String,Integer> frags)<a name="line.199"></a>
+<span class="sourceLineNo">197</span> private boolean m_frags__IsNotDefault;<a name="line.197"></a>
+<span class="sourceLineNo">198</span> // 24, 1<a name="line.198"></a>
+<span class="sourceLineNo">199</span> public void setDeadServers(Set<ServerName> deadServers)<a name="line.199"></a>
<span class="sourceLineNo">200</span> {<a name="line.200"></a>
-<span class="sourceLineNo">201</span> // 21, 1<a name="line.201"></a>
-<span class="sourceLineNo">202</span> m_frags = frags;<a name="line.202"></a>
-<span class="sourceLineNo">203</span> m_frags__IsNotDefault = true;<a name="line.203"></a>
+<span class="sourceLineNo">201</span> // 24, 1<a name="line.201"></a>
+<span class="sourceLineNo">202</span> m_deadServers = deadServers;<a name="line.202"></a>
+<span class="sourceLineNo">203</span> m_deadServers__IsNotDefault = true;<a name="line.203"></a>
<span class="sourceLineNo">204</span> }<a name="line.204"></a>
-<span class="sourceLineNo">205</span> public Map<String,Integer> getFrags()<a name="line.205"></a>
+<span class="sourceLineNo">205</span> public Set<ServerName> getDeadServers()<a name="line.205"></a>
<span class="sourceLineNo">206</span> {<a name="line.206"></a>
-<span class="sourceLineNo">207</span> return m_frags;<a name="line.207"></a>
+<span class="sourceLineNo">207</span> return m_deadServers;<a name="line.207"></a>
<span class="sourceLineNo">208</span> }<a name="line.208"></a>
-<span class="sourceLineNo">209</span> private Map<String,Integer> m_frags;<a name="line.209"></a>
-<span class="sourceLineNo">210</span> public boolean getFrags__IsNotDefault()<a name="line.210"></a>
+<span class="sourceLineNo">209</span> private Set<ServerName> m_deadServers;<a name="line.209"></a>
+<span class="sourceLineNo">210</span> public boolean getDeadServers__IsNotDefault()<a name="line.210"></a>
<span class="sourceLineNo">211</span> {<a name="line.211"></a>
-<span class="sourceLineNo">212</span> return m_frags__IsNotDefault;<a name="line.212"></a>
+<span class="sourceLineNo">212</span> return m_deadServers__IsNotDefault;<a name="line.212"></a>
<span class="sourceLineNo">213</span> }<a name="line.213"></a>
-<span class="sourceLineNo">214</span> private boolean m_frags__IsNotDefault;<a name="line.214"></a>
-<span class="sourceLineNo">215</span> // 24, 1<a name="line.215"></a>
-<span class="sourceLineNo">216</span> public void setDeadServers(Set<ServerName> deadServers)<a name="line.216"></a>
+<span class="sourceLineNo">214</span> private boolean m_deadServers__IsNotDefault;<a name="line.214"></a>
+<span class="sourceLineNo">215</span> // 29, 1<a name="line.215"></a>
+<span class="sourceLineNo">216</span> public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.216"></a>
<span class="sourceLineNo">217</span> {<a name="line.217"></a>
-<span class="sourceLineNo">218</span> // 24, 1<a name="line.218"></a>
-<span class="sourceLineNo">219</span> m_deadServers = deadServers;<a name="line.219"></a>
-<span class="sourceLineNo">220</span> m_deadServers__IsNotDefault = true;<a name="line.220"></a>
+<span class="sourceLineNo">218</span> // 29, 1<a name="line.218"></a>
+<span class="sourceLineNo">219</span> m_assignmentManager = assignmentManager;<a name="line.219"></a>
+<span class="sourceLineNo">220</span> m_assignmentManager__IsNotDefault = true;<a name="line.220"></a>
<span class="sourceLineNo">221</span> }<a name="line.221"></a>
-<span class="sourceLineNo">222</span> public Set<ServerName> getDeadServers()<a name="line.222"></a>
+<span class="sourceLineNo">222</span> public AssignmentManager getAssignmentManager()<a name="line.222"></a>
<span class="sourceLineNo">223</span> {<a name="line.223"></a>
-<span class="sourceLineNo">224</span> return m_deadServers;<a name="line.224"></a>
+<span class="sourceLineNo">224</span> return m_assignmentManager;<a name="line.224"></a>
<span class="sourceLineNo">225</span> }<a name="line.225"></a>
-<span class="sourceLineNo">226</span> private Set<ServerName> m_deadServers;<a name="line.226"></a>
-<span class="sourceLineNo">227</span> public boolean getDeadServers__IsNotDefault()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private AssignmentManager m_assignmentManager;<a name="line.226"></a>
+<span class="sourceLineNo">227</span> public boolean getAssignmentManager__IsNotDefault()<a name="line.227"></a>
<span class="sourceLineNo">228</span> {<a name="line.228"></a>
-<span class="sourceLineNo">229</span> return m_deadServers__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span> return m_assignmentManager__IsNotDefault;<a name="line.229"></a>
<span class="sourceLineNo">230</span> }<a name="line.230"></a>
-<span class="sourceLineNo">231</span> private boolean m_deadServers__IsNotDefault;<a name="line.231"></a>
-<span class="sourceLineNo">232</span> // 27, 1<a name="line.232"></a>
-<span class="sourceLineNo">233</span> public void setFormat(String format)<a name="line.233"></a>
+<span class="sourceLineNo">231</span> private boolean m_assignmentManager__IsNotDefault;<a name="line.231"></a>
+<span class="sourceLineNo">232</span> // 26, 1<a name="line.232"></a>
+<span class="sourceLineNo">233</span> public void setFilter(String filter)<a name="line.233"></a>
<span class="sourceLineNo">234</span> {<a name="line.234"></a>
-<span class="sourceLineNo">235</span> // 27, 1<a name="line.235"></a>
-<span class="sourceLineNo">236</span> m_format = format;<a name="line.236"></a>
-<span class="sourceLineNo">237</span> m_format__IsNotDefault = true;<a name="line.237"></a>
+<span class="sourceLineNo">235</span> // 26, 1<a name="line.235"></a>
+<span class="sourceLineNo">236</span> m_filter = filter;<a name="line.236"></a>
+<span class="sourceLineNo">237</span> m_filter__IsNotDefault = true;<a name="line.237"></a>
<span class="sourceLineNo">238</span> }<a name="line.238"></a>
-<span class="sourceLineNo">239</span> public String getFormat()<a name="line.239"></a>
+<span class="sourceLineNo">239</span> public String getFilter()<a name="line.239"></a>
<span class="sourceLineNo">240</span> {<a name="line.240"></a>
-<span class="sourceLineNo">241</span> return m_format;<a name="line.241"></a>
+<span class="sourceLineNo">241</span> return m_filter;<a name="line.241"></a>
<span class="sourceLineNo">242</span> }<a name="line.242"></a>
-<span class="sourceLineNo">243</span> private String m_format;<a name="line.243"></a>
-<span class="sourceLineNo">244</span> public boolean getFormat__IsNotDefault()<a name="line.244"></a>
+<span class="sourceLineNo">243</span> private String m_filter;<a name="line.243"></a>
+<span class="sourceLineNo">244</span> public boolean getFilter__IsNotDefault()<a name="line.244"></a>
<span class="sourceLineNo">245</span> {<a name="line.245"></a>
-<span class="sourceLineNo">246</span> return m_format__IsNotDefault;<a name="line.246"></a>
+<span class="sourceLineNo">246</span> return m_filter__IsNotDefault;<a name="line.246"></a>
<span class="sourceLineNo">247</span> }<a name="line.247"></a>
-<span class="sourceLineNo">248</span> private boolean m_format__IsNotDefault;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> // 28, 1<a name="line.249"></a>
-<span class="sourceLineNo">250</span> public void setServerManager(ServerManager serverManager)<a name="line.250"></a>
+<span class="sourceLineNo">248</span> private boolean m_filter__IsNotDefault;<a name="line.248"></a>
+<span class="sourceLineNo">249</span> // 25, 1<a name="line.249"></a>
+<span class="sourceLineNo">250</span> public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.250"></a>
<span class="sourceLineNo">251</span> {<a name="line.251"></a>
-<span class="sourceLineNo">252</span> // 28, 1<a name="line.252"></a>
-<span class="sourceLineNo">253</span> m_serverManager = serverManager;<a name="line.253"></a>
-<span class="sourceLineNo">254</span> m_serverManager__IsNotDefault = true;<a name="line.254"></a>
+<span class="sourceLineNo">252</span> // 25, 1<a name="line.252"></a>
+<span class="sourceLineNo">253</span> m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.253"></a>
+<span class="sourceLineNo">254</span> m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.254"></a>
<span class="sourceLineNo">255</span> }<a name="line.255"></a>
-<span class="sourceLineNo">256</span> public ServerManager getServerManager()<a name="line.256"></a>
+<span class="sourceLineNo">256</span> public boolean getCatalogJanitorEnabled()<a name="line.256"></a>
<span class="sourceLineNo">257</span> {<a name="line.257"></a>
-<span class="sourceLineNo">258</span> return m_serverManager;<a name="line.258"></a>
+<span class="sourceLineNo">258</span> return m_catalogJanitorEnabled;<a name="line.258"></a>
<span class="sourceLineNo">259</span> }<a name="line.259"></a>
-<span class="sourceLineNo">260</span> private ServerManager m_serverManager;<a name="line.260"></a>
-<span class="sourceLineNo">261</span> public boolean getServerManager__IsNotDefault()<a name="line.261"></a>
+<span class="sourceLineNo">260</span> private boolean m_catalogJanitorEnabled;<a name="line.260"></a>
+<span class="sourceLineNo">261</span> public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.261"></a>
<span class="sourceLineNo">262</span> {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> return m_serverManager__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span> return m_catalogJanitorEnabled__IsNotDefault;<a name="line.263"></a>
<span class="sourceLineNo">264</span> }<a name="line.264"></a>
-<span class="sourceLineNo">265</span> private boolean m_serverManager__IsNotDefault;<a name="line.265"></a>
+<span class="sourceLineNo">265</span> private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.265"></a>
<span class="sourceLineNo">266</span> }<a name="line.266"></a>
<span class="sourceLineNo">267</span> @Override<a name="line.267"></a>
<span class="sourceLineNo">268</span> protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.268"></a>
@@ -282,66 +282,66 @@
<span class="sourceLineNo">274</span> return (ImplData) super.getImplData();<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> protected List<ServerName> servers;<a name="line.277"></a>
-<span class="sourceLineNo">278</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List<ServerName> p_servers)<a name="line.278"></a>
+<span class="sourceLineNo">277</span> protected ServerName metaLocation;<a name="line.277"></a>
+<span class="sourceLineNo">278</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.278"></a>
<span class="sourceLineNo">279</span> {<a name="line.279"></a>
-<span class="sourceLineNo">280</span> (getImplData()).setServers(p_servers);<a name="line.280"></a>
+<span class="sourceLineNo">280</span> (getImplData()).setMetaLocation(p_metaLocation);<a name="line.280"></a>
<span class="sourceLineNo">281</span> return this;<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> protected String filter;<a name="line.284"></a>
-<span class="sourceLineNo">285</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.285"></a>
+<span class="sourceLineNo">284</span> protected String format;<a name="line.284"></a>
+<span class="sourceLineNo">285</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.285"></a>
<span class="sourceLineNo">286</span> {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> (getImplData()).setFilter(p_filter);<a name="line.287"></a>
+<span class="sourceLineNo">287</span> (getImplData()).setFormat(p_format);<a name="line.287"></a>
<span class="sourceLineNo">288</span> return this;<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> protected boolean catalogJanitorEnabled;<a name="line.291"></a>
-<span class="sourceLineNo">292</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.292"></a>
+<span class="sourceLineNo">291</span> protected List<ServerName> servers;<a name="line.291"></a>
+<span class="sourceLineNo">292</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List<ServerName> p_servers)<a name="line.292"></a>
<span class="sourceLineNo">293</span> {<a name="line.293"></a>
-<span class="sourceLineNo">294</span> (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.294"></a>
+<span class="sourceLineNo">294</span> (getImplData()).setServers(p_servers);<a name="line.294"></a>
<span class="sourceLineNo">295</span> return this;<a name="line.295"></a>
<span class="sourceLineNo">296</span> }<a name="line.296"></a>
<span class="sourceLineNo">297</span> <a name="line.297"></a>
-<span class="sourceLineNo">298</span> protected ServerName metaLocation;<a name="line.298"></a>
-<span class="sourceLineNo">299</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.299"></a>
+<span class="sourceLineNo">298</span> protected ServerManager serverManager;<a name="line.298"></a>
+<span class="sourceLineNo">299</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.299"></a>
<span class="sourceLineNo">300</span> {<a name="line.300"></a>
-<span class="sourceLineNo">301</span> (getImplData()).setMetaLocation(p_metaLocation);<a name="line.301"></a>
+<span class="sourceLineNo">301</span> (getImplData()).setServerManager(p_serverManager);<a name="line.301"></a>
<span class="sourceLineNo">302</span> return this;<a name="line.302"></a>
<span class="sourceLineNo">303</span> }<a name="line.303"></a>
<span class="sourceLineNo">304</span> <a name="line.304"></a>
-<span class="sourceLineNo">305</span> protected AssignmentManager assignmentManager;<a name="line.305"></a>
-<span class="sourceLineNo">306</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.306"></a>
+<span class="sourceLineNo">305</span> protected Map<String,Integer> frags;<a name="line.305"></a>
+<span class="sourceLineNo">306</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map<String,Integer> p_frags)<a name="line.306"></a>
<span class="sourceLineNo">307</span> {<a name="line.307"></a>
-<span class="sourceLineNo">308</span> (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.308"></a>
+<span class="sourceLineNo">308</span> (getImplData()).setFrags(p_frags);<a name="line.308"></a>
<span class="sourceLineNo">309</span> return this;<a name="line.309"></a>
<span class="sourceLineNo">310</span> }<a name="line.310"></a>
<span class="sourceLineNo">311</span> <a name="line.311"></a>
-<span class="sourceLineNo">312</span> protected Map<String,Integer> frags;<a name="line.312"></a>
-<span class="sourceLineNo">313</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map<String,Integer> p_frags)<a name="line.313"></a>
+<span class="sourceLineNo">312</span> protected Set<ServerName> deadServers;<a name="line.312"></a>
+<span class="sourceLineNo">313</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set<ServerName> p_deadServers)<a name="line.313"></a>
<span class="sourceLineNo">314</span> {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> (getImplData()).setFrags(p_frags);<a name="line.315"></a>
+<span class="sourceLineNo">315</span> (getImplData()).setDeadServers(p_deadServers);<a name="line.315"></a>
<span class="sourceLineNo">316</span> return this;<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> protected Set<ServerName> deadServers;<a name="line.319"></a>
-<span class="sourceLineNo">320</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set<ServerName> p_deadServers)<a name="line.320"></a>
+<span class="sourceLineNo">319</span> protected AssignmentManager assignmentManager;<a name="line.319"></a>
+<span class="sourceLineNo">320</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.320"></a>
<span class="sourceLineNo">321</span> {<a name="line.321"></a>
-<span class="sourceLineNo">322</span> (getImplData()).setDeadServers(p_deadServers);<a name="line.322"></a>
+<span class="sourceLineNo">322</span> (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.322"></a>
<span class="sourceLineNo">323</span> return this;<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> protected String format;<a name="line.326"></a>
-<span class="sourceLineNo">327</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.327"></a>
+<span class="sourceLineNo">326</span> protected String filter;<a name="line.326"></a>
+<span class="sourceLineNo">327</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.327"></a>
<span class="sourceLineNo">328</span> {<a name="line.328"></a>
-<span class="sourceLineNo">329</span> (getImplData()).setFormat(p_format);<a name="line.329"></a>
+<span class="sourceLineNo">329</span> (getImplData()).setFilter(p_filter);<a name="line.329"></a>
<span class="sourceLineNo">330</span> return this;<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> protected ServerManager serverManager;<a name="line.333"></a>
-<span class="sourceLineNo">334</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.334"></a>
+<span class="sourceLineNo">333</span> protected boolean catalogJanitorEnabled;<a name="line.333"></a>
+<span class="sourceLineNo">334</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.334"></a>
<span class="sourceLineNo">335</span> {<a name="line.335"></a>
-<span class="sourceLineNo">336</span> (getImplData()).setServerManager(p_serverManager);<a name="line.336"></a>
+<span class="sourceLineNo">336</span> (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.336"></a>
<span class="sourceLineNo">337</span> return this;<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>
[11/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
index bf0bc21..bd316ac 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
@@ -795,242 +795,243 @@
<span class="sourceLineNo">787</span> org.apache.hadoop.hbase.CompatibilityFactory.class, // hbase-hadoop-compat<a name="line.787"></a>
<span class="sourceLineNo">788</span> org.apache.hadoop.hbase.mapreduce.TableMapper.class, // hbase-server<a name="line.788"></a>
<span class="sourceLineNo">789</span> org.apache.hadoop.hbase.metrics.impl.FastLongHistogram.class, // hbase-metrics<a name="line.789"></a>
-<span class="sourceLineNo">790</span> prefixTreeCodecClass, // hbase-prefix-tree (if null will be skipped)<a name="line.790"></a>
-<span class="sourceLineNo">791</span> // pull necessary dependencies<a name="line.791"></a>
-<span class="sourceLineNo">792</span> org.apache.zookeeper.ZooKeeper.class,<a name="line.792"></a>
-<span class="sourceLineNo">793</span> io.netty.channel.Channel.class,<a name="line.793"></a>
-<span class="sourceLineNo">794</span> com.google.protobuf.Message.class,<a name="line.794"></a>
-<span class="sourceLineNo">795</span> com.google.common.collect.Lists.class,<a name="line.795"></a>
-<span class="sourceLineNo">796</span> org.apache.htrace.Trace.class,<a name="line.796"></a>
-<span class="sourceLineNo">797</span> com.codahale.metrics.MetricRegistry.class);<a name="line.797"></a>
-<span class="sourceLineNo">798</span> }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span> /**<a name="line.800"></a>
-<span class="sourceLineNo">801</span> * Returns a classpath string built from the content of the "tmpjars" value in {@code conf}.<a name="line.801"></a>
-<span class="sourceLineNo">802</span> * Also exposed to shell scripts via `bin/hbase mapredcp`.<a name="line.802"></a>
-<span class="sourceLineNo">803</span> */<a name="line.803"></a>
-<span class="sourceLineNo">804</span> public static String buildDependencyClasspath(Configuration conf) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span> if (conf == null) {<a name="line.805"></a>
-<span class="sourceLineNo">806</span> throw new IllegalArgumentException("Must provide a configuration object.");<a name="line.806"></a>
-<span class="sourceLineNo">807</span> }<a name="line.807"></a>
-<span class="sourceLineNo">808</span> Set<String> paths = new HashSet<>(conf.getStringCollection("tmpjars"));<a name="line.808"></a>
-<span class="sourceLineNo">809</span> if (paths.isEmpty()) {<a name="line.809"></a>
-<span class="sourceLineNo">810</span> throw new IllegalArgumentException("Configuration contains no tmpjars.");<a name="line.810"></a>
-<span class="sourceLineNo">811</span> }<a name="line.811"></a>
-<span class="sourceLineNo">812</span> StringBuilder sb = new StringBuilder();<a name="line.812"></a>
-<span class="sourceLineNo">813</span> for (String s : paths) {<a name="line.813"></a>
-<span class="sourceLineNo">814</span> // entries can take the form 'file:/path/to/file.jar'.<a name="line.814"></a>
-<span class="sourceLineNo">815</span> int idx = s.indexOf(":");<a name="line.815"></a>
-<span class="sourceLineNo">816</span> if (idx != -1) s = s.substring(idx + 1);<a name="line.816"></a>
-<span class="sourceLineNo">817</span> if (sb.length() > 0) sb.append(File.pathSeparator);<a name="line.817"></a>
-<span class="sourceLineNo">818</span> sb.append(s);<a name="line.818"></a>
-<span class="sourceLineNo">819</span> }<a name="line.819"></a>
-<span class="sourceLineNo">820</span> return sb.toString();<a name="line.820"></a>
-<span class="sourceLineNo">821</span> }<a name="line.821"></a>
-<span class="sourceLineNo">822</span><a name="line.822"></a>
-<span class="sourceLineNo">823</span> /**<a name="line.823"></a>
-<span class="sourceLineNo">824</span> * Add the HBase dependency jars as well as jars for any of the configured<a name="line.824"></a>
-<span class="sourceLineNo">825</span> * job classes to the job configuration, so that JobClient will ship them<a name="line.825"></a>
-<span class="sourceLineNo">826</span> * to the cluster and add them to the DistributedCache.<a name="line.826"></a>
-<span class="sourceLineNo">827</span> */<a name="line.827"></a>
-<span class="sourceLineNo">828</span> public static void addDependencyJars(Job job) throws IOException {<a name="line.828"></a>
-<span class="sourceLineNo">829</span> addHBaseDependencyJars(job.getConfiguration());<a name="line.829"></a>
-<span class="sourceLineNo">830</span> try {<a name="line.830"></a>
-<span class="sourceLineNo">831</span> addDependencyJarsForClasses(job.getConfiguration(),<a name="line.831"></a>
-<span class="sourceLineNo">832</span> // when making changes here, consider also mapred.TableMapReduceUtil<a name="line.832"></a>
-<span class="sourceLineNo">833</span> // pull job classes<a name="line.833"></a>
-<span class="sourceLineNo">834</span> job.getMapOutputKeyClass(),<a name="line.834"></a>
-<span class="sourceLineNo">835</span> job.getMapOutputValueClass(),<a name="line.835"></a>
-<span class="sourceLineNo">836</span> job.getInputFormatClass(),<a name="line.836"></a>
-<span class="sourceLineNo">837</span> job.getOutputKeyClass(),<a name="line.837"></a>
-<span class="sourceLineNo">838</span> job.getOutputValueClass(),<a name="line.838"></a>
-<span class="sourceLineNo">839</span> job.getOutputFormatClass(),<a name="line.839"></a>
-<span class="sourceLineNo">840</span> job.getPartitionerClass(),<a name="line.840"></a>
-<span class="sourceLineNo">841</span> job.getCombinerClass());<a name="line.841"></a>
-<span class="sourceLineNo">842</span> } catch (ClassNotFoundException e) {<a name="line.842"></a>
-<span class="sourceLineNo">843</span> throw new IOException(e);<a name="line.843"></a>
-<span class="sourceLineNo">844</span> }<a name="line.844"></a>
-<span class="sourceLineNo">845</span> }<a name="line.845"></a>
-<span class="sourceLineNo">846</span><a name="line.846"></a>
-<span class="sourceLineNo">847</span> /**<a name="line.847"></a>
-<span class="sourceLineNo">848</span> * Add the jars containing the given classes to the job's configuration<a name="line.848"></a>
-<span class="sourceLineNo">849</span> * such that JobClient will ship them to the cluster and add them to<a name="line.849"></a>
-<span class="sourceLineNo">850</span> * the DistributedCache.<a name="line.850"></a>
-<span class="sourceLineNo">851</span> * @deprecated rely on {@link #addDependencyJars(Job)} instead.<a name="line.851"></a>
-<span class="sourceLineNo">852</span> */<a name="line.852"></a>
-<span class="sourceLineNo">853</span> @Deprecated<a name="line.853"></a>
-<span class="sourceLineNo">854</span> public static void addDependencyJars(Configuration conf,<a name="line.854"></a>
-<span class="sourceLineNo">855</span> Class<?>... classes) throws IOException {<a name="line.855"></a>
-<span class="sourceLineNo">856</span> LOG.warn("The addDependencyJars(Configuration, Class<?>...) method has been deprecated since it"<a name="line.856"></a>
-<span class="sourceLineNo">857</span> + " is easy to use incorrectly. Most users should rely on addDependencyJars(Job) " +<a name="line.857"></a>
-<span class="sourceLineNo">858</span> "instead. See HBASE-8386 for more details.");<a name="line.858"></a>
-<span class="sourceLineNo">859</span> addDependencyJarsForClasses(conf, classes);<a name="line.859"></a>
-<span class="sourceLineNo">860</span> }<a name="line.860"></a>
-<span class="sourceLineNo">861</span><a name="line.861"></a>
-<span class="sourceLineNo">862</span> /**<a name="line.862"></a>
-<span class="sourceLineNo">863</span> * Add the jars containing the given classes to the job's configuration<a name="line.863"></a>
-<span class="sourceLineNo">864</span> * such that JobClient will ship them to the cluster and add them to<a name="line.864"></a>
-<span class="sourceLineNo">865</span> * the DistributedCache.<a name="line.865"></a>
-<span class="sourceLineNo">866</span> *<a name="line.866"></a>
-<span class="sourceLineNo">867</span> * N.B. that this method at most adds one jar per class given. If there is more than one<a name="line.867"></a>
-<span class="sourceLineNo">868</span> * jar available containing a class with the same name as a given class, we don't define<a name="line.868"></a>
-<span class="sourceLineNo">869</span> * which of those jars might be chosen.<a name="line.869"></a>
-<span class="sourceLineNo">870</span> *<a name="line.870"></a>
-<span class="sourceLineNo">871</span> * @param conf The Hadoop Configuration to modify<a name="line.871"></a>
-<span class="sourceLineNo">872</span> * @param classes will add just those dependencies needed to find the given classes<a name="line.872"></a>
-<span class="sourceLineNo">873</span> * @throws IOException if an underlying library call fails.<a name="line.873"></a>
-<span class="sourceLineNo">874</span> */<a name="line.874"></a>
-<span class="sourceLineNo">875</span> @InterfaceAudience.Private<a name="line.875"></a>
-<span class="sourceLineNo">876</span> public static void addDependencyJarsForClasses(Configuration conf,<a name="line.876"></a>
-<span class="sourceLineNo">877</span> Class<?>... classes) throws IOException {<a name="line.877"></a>
-<span class="sourceLineNo">878</span><a name="line.878"></a>
-<span class="sourceLineNo">879</span> FileSystem localFs = FileSystem.getLocal(conf);<a name="line.879"></a>
-<span class="sourceLineNo">880</span> Set<String> jars = new HashSet<>();<a name="line.880"></a>
-<span class="sourceLineNo">881</span> // Add jars that are already in the tmpjars variable<a name="line.881"></a>
-<span class="sourceLineNo">882</span> jars.addAll(conf.getStringCollection("tmpjars"));<a name="line.882"></a>
-<span class="sourceLineNo">883</span><a name="line.883"></a>
-<span class="sourceLineNo">884</span> // add jars as we find them to a map of contents jar name so that we can avoid<a name="line.884"></a>
-<span class="sourceLineNo">885</span> // creating new jars for classes that have already been packaged.<a name="line.885"></a>
-<span class="sourceLineNo">886</span> Map<String, String> packagedClasses = new HashMap<>();<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span> // Add jars containing the specified classes<a name="line.888"></a>
-<span class="sourceLineNo">889</span> for (Class<?> clazz : classes) {<a name="line.889"></a>
-<span class="sourceLineNo">890</span> if (clazz == null) continue;<a name="line.890"></a>
-<span class="sourceLineNo">891</span><a name="line.891"></a>
-<span class="sourceLineNo">892</span> Path path = findOrCreateJar(clazz, localFs, packagedClasses);<a name="line.892"></a>
-<span class="sourceLineNo">893</span> if (path == null) {<a name="line.893"></a>
-<span class="sourceLineNo">894</span> LOG.warn("Could not find jar for class " + clazz +<a name="line.894"></a>
-<span class="sourceLineNo">895</span> " in order to ship it to the cluster.");<a name="line.895"></a>
-<span class="sourceLineNo">896</span> continue;<a name="line.896"></a>
-<span class="sourceLineNo">897</span> }<a name="line.897"></a>
-<span class="sourceLineNo">898</span> if (!localFs.exists(path)) {<a name="line.898"></a>
-<span class="sourceLineNo">899</span> LOG.warn("Could not validate jar file " + path + " for class "<a name="line.899"></a>
-<span class="sourceLineNo">900</span> + clazz);<a name="line.900"></a>
-<span class="sourceLineNo">901</span> continue;<a name="line.901"></a>
-<span class="sourceLineNo">902</span> }<a name="line.902"></a>
-<span class="sourceLineNo">903</span> jars.add(path.toString());<a name="line.903"></a>
-<span class="sourceLineNo">904</span> }<a name="line.904"></a>
-<span class="sourceLineNo">905</span> if (jars.isEmpty()) return;<a name="line.905"></a>
-<span class="sourceLineNo">906</span><a name="line.906"></a>
-<span class="sourceLineNo">907</span> conf.set("tmpjars", StringUtils.arrayToString(jars.toArray(new String[jars.size()])));<a name="line.907"></a>
-<span class="sourceLineNo">908</span> }<a name="line.908"></a>
-<span class="sourceLineNo">909</span><a name="line.909"></a>
-<span class="sourceLineNo">910</span> /**<a name="line.910"></a>
-<span class="sourceLineNo">911</span> * Finds the Jar for a class or creates it if it doesn't exist. If the class is in<a name="line.911"></a>
-<span class="sourceLineNo">912</span> * a directory in the classpath, it creates a Jar on the fly with the<a name="line.912"></a>
-<span class="sourceLineNo">913</span> * contents of the directory and returns the path to that Jar. If a Jar is<a name="line.913"></a>
-<span class="sourceLineNo">914</span> * created, it is created in the system temporary directory. Otherwise,<a name="line.914"></a>
-<span class="sourceLineNo">915</span> * returns an existing jar that contains a class of the same name. Maintains<a name="line.915"></a>
-<span class="sourceLineNo">916</span> * a mapping from jar contents to the tmp jar created.<a name="line.916"></a>
-<span class="sourceLineNo">917</span> * @param my_class the class to find.<a name="line.917"></a>
-<span class="sourceLineNo">918</span> * @param fs the FileSystem with which to qualify the returned path.<a name="line.918"></a>
-<span class="sourceLineNo">919</span> * @param packagedClasses a map of class name to path.<a name="line.919"></a>
-<span class="sourceLineNo">920</span> * @return a jar file that contains the class.<a name="line.920"></a>
-<span class="sourceLineNo">921</span> * @throws IOException<a name="line.921"></a>
-<span class="sourceLineNo">922</span> */<a name="line.922"></a>
-<span class="sourceLineNo">923</span> private static Path findOrCreateJar(Class<?> my_class, FileSystem fs,<a name="line.923"></a>
-<span class="sourceLineNo">924</span> Map<String, String> packagedClasses)<a name="line.924"></a>
-<span class="sourceLineNo">925</span> throws IOException {<a name="line.925"></a>
-<span class="sourceLineNo">926</span> // attempt to locate an existing jar for the class.<a name="line.926"></a>
-<span class="sourceLineNo">927</span> String jar = findContainingJar(my_class, packagedClasses);<a name="line.927"></a>
-<span class="sourceLineNo">928</span> if (null == jar || jar.isEmpty()) {<a name="line.928"></a>
-<span class="sourceLineNo">929</span> jar = getJar(my_class);<a name="line.929"></a>
-<span class="sourceLineNo">930</span> updateMap(jar, packagedClasses);<a name="line.930"></a>
-<span class="sourceLineNo">931</span> }<a name="line.931"></a>
-<span class="sourceLineNo">932</span><a name="line.932"></a>
-<span class="sourceLineNo">933</span> if (null == jar || jar.isEmpty()) {<a name="line.933"></a>
-<span class="sourceLineNo">934</span> return null;<a name="line.934"></a>
-<span class="sourceLineNo">935</span> }<a name="line.935"></a>
-<span class="sourceLineNo">936</span><a name="line.936"></a>
-<span class="sourceLineNo">937</span> LOG.debug(String.format("For class %s, using jar %s", my_class.getName(), jar));<a name="line.937"></a>
-<span class="sourceLineNo">938</span> return new Path(jar).makeQualified(fs);<a name="line.938"></a>
-<span class="sourceLineNo">939</span> }<a name="line.939"></a>
-<span class="sourceLineNo">940</span><a name="line.940"></a>
-<span class="sourceLineNo">941</span> /**<a name="line.941"></a>
-<span class="sourceLineNo">942</span> * Add entries to <code>packagedClasses</code> corresponding to class files<a name="line.942"></a>
-<span class="sourceLineNo">943</span> * contained in <code>jar</code>.<a name="line.943"></a>
-<span class="sourceLineNo">944</span> * @param jar The jar who's content to list.<a name="line.944"></a>
-<span class="sourceLineNo">945</span> * @param packagedClasses map[class -> jar]<a name="line.945"></a>
-<span class="sourceLineNo">946</span> */<a name="line.946"></a>
-<span class="sourceLineNo">947</span> private static void updateMap(String jar, Map<String, String> packagedClasses) throws IOException {<a name="line.947"></a>
-<span class="sourceLineNo">948</span> if (null == jar || jar.isEmpty()) {<a name="line.948"></a>
-<span class="sourceLineNo">949</span> return;<a name="line.949"></a>
-<span class="sourceLineNo">950</span> }<a name="line.950"></a>
-<span class="sourceLineNo">951</span> ZipFile zip = null;<a name="line.951"></a>
-<span class="sourceLineNo">952</span> try {<a name="line.952"></a>
-<span class="sourceLineNo">953</span> zip = new ZipFile(jar);<a name="line.953"></a>
-<span class="sourceLineNo">954</span> for (Enumeration<? extends ZipEntry> iter = zip.entries(); iter.hasMoreElements();) {<a name="line.954"></a>
-<span class="sourceLineNo">955</span> ZipEntry entry = iter.nextElement();<a name="line.955"></a>
-<span class="sourceLineNo">956</span> if (entry.getName().endsWith("class")) {<a name="line.956"></a>
-<span class="sourceLineNo">957</span> packagedClasses.put(entry.getName(), jar);<a name="line.957"></a>
-<span class="sourceLineNo">958</span> }<a name="line.958"></a>
-<span class="sourceLineNo">959</span> }<a name="line.959"></a>
-<span class="sourceLineNo">960</span> } finally {<a name="line.960"></a>
-<span class="sourceLineNo">961</span> if (null != zip) zip.close();<a name="line.961"></a>
-<span class="sourceLineNo">962</span> }<a name="line.962"></a>
-<span class="sourceLineNo">963</span> }<a name="line.963"></a>
-<span class="sourceLineNo">964</span><a name="line.964"></a>
-<span class="sourceLineNo">965</span> /**<a name="line.965"></a>
-<span class="sourceLineNo">966</span> * Find a jar that contains a class of the same name, if any. It will return<a name="line.966"></a>
-<span class="sourceLineNo">967</span> * a jar file, even if that is not the first thing on the class path that<a name="line.967"></a>
-<span class="sourceLineNo">968</span> * has a class with the same name. Looks first on the classpath and then in<a name="line.968"></a>
-<span class="sourceLineNo">969</span> * the <code>packagedClasses</code> map.<a name="line.969"></a>
-<span class="sourceLineNo">970</span> * @param my_class the class to find.<a name="line.970"></a>
-<span class="sourceLineNo">971</span> * @return a jar file that contains the class, or null.<a name="line.971"></a>
-<span class="sourceLineNo">972</span> * @throws IOException<a name="line.972"></a>
-<span class="sourceLineNo">973</span> */<a name="line.973"></a>
-<span class="sourceLineNo">974</span> private static String findContainingJar(Class<?> my_class, Map<String, String> packagedClasses)<a name="line.974"></a>
-<span class="sourceLineNo">975</span> throws IOException {<a name="line.975"></a>
-<span class="sourceLineNo">976</span> ClassLoader loader = my_class.getClassLoader();<a name="line.976"></a>
-<span class="sourceLineNo">977</span><a name="line.977"></a>
-<span class="sourceLineNo">978</span> String class_file = my_class.getName().replaceAll("\\.", "/") + ".class";<a name="line.978"></a>
-<span class="sourceLineNo">979</span><a name="line.979"></a>
-<span class="sourceLineNo">980</span> if (loader != null) {<a name="line.980"></a>
-<span class="sourceLineNo">981</span> // first search the classpath<a name="line.981"></a>
-<span class="sourceLineNo">982</span> for (Enumeration<URL> itr = loader.getResources(class_file); itr.hasMoreElements();) {<a name="line.982"></a>
-<span class="sourceLineNo">983</span> URL url = itr.nextElement();<a name="line.983"></a>
-<span class="sourceLineNo">984</span> if ("jar".equals(url.getProtocol())) {<a name="line.984"></a>
-<span class="sourceLineNo">985</span> String toReturn = url.getPath();<a name="line.985"></a>
-<span class="sourceLineNo">986</span> if (toReturn.startsWith("file:")) {<a name="line.986"></a>
-<span class="sourceLineNo">987</span> toReturn = toReturn.substring("file:".length());<a name="line.987"></a>
-<span class="sourceLineNo">988</span> }<a name="line.988"></a>
-<span class="sourceLineNo">989</span> // URLDecoder is a misnamed class, since it actually decodes<a name="line.989"></a>
-<span class="sourceLineNo">990</span> // x-www-form-urlencoded MIME type rather than actual<a name="line.990"></a>
-<span class="sourceLineNo">991</span> // URL encoding (which the file path has). Therefore it would<a name="line.991"></a>
-<span class="sourceLineNo">992</span> // decode +s to ' 's which is incorrect (spaces are actually<a name="line.992"></a>
-<span class="sourceLineNo">993</span> // either unencoded or encoded as "%20"). Replace +s first, so<a name="line.993"></a>
-<span class="sourceLineNo">994</span> // that they are kept sacred during the decoding process.<a name="line.994"></a>
-<span class="sourceLineNo">995</span> toReturn = toReturn.replaceAll("\\+", "%2B");<a name="line.995"></a>
-<span class="sourceLineNo">996</span> toReturn = URLDecoder.decode(toReturn, "UTF-8");<a name="line.996"></a>
-<span class="sourceLineNo">997</span> return toReturn.replaceAll("!.*$", "");<a name="line.997"></a>
-<span class="sourceLineNo">998</span> }<a name="line.998"></a>
-<span class="sourceLineNo">999</span> }<a name="line.999"></a>
-<span class="sourceLineNo">1000</span> }<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span><a name="line.1001"></a>
-<span class="sourceLineNo">1002</span> // now look in any jars we've packaged using JarFinder. Returns null when<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span> // no jar is found.<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span> return packagedClasses.get(class_file);<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span> }<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span><a name="line.1006"></a>
-<span class="sourceLineNo">1007</span> /**<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span> * Invoke 'getJar' on a custom JarFinder implementation. Useful for some job<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span> * configuration contexts (HBASE-8140) and also for testing on MRv2.<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span> * check if we have HADOOP-9426.<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span> * @param my_class the class to find.<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span> * @return a jar file that contains the class, or null.<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span> */<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span> private static String getJar(Class<?> my_class) {<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span> String ret = null;<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span> try {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span> ret = JarFinder.getJar(my_class);<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span> } catch (Exception e) {<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span> // toss all other exceptions, related to reflection failure<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span> throw new RuntimeException("getJar invocation failed.", e);<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span> }<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span><a name="line.1022"></a>
-<span class="sourceLineNo">1023</span> return ret;<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span> }<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>}<a name="line.1025"></a>
+<span class="sourceLineNo">790</span> org.apache.hadoop.hbase.metrics.Snapshot.class, // hbase-metrics-api<a name="line.790"></a>
+<span class="sourceLineNo">791</span> prefixTreeCodecClass, // hbase-prefix-tree (if null will be skipped)<a name="line.791"></a>
+<span class="sourceLineNo">792</span> // pull necessary dependencies<a name="line.792"></a>
+<span class="sourceLineNo">793</span> org.apache.zookeeper.ZooKeeper.class,<a name="line.793"></a>
+<span class="sourceLineNo">794</span> io.netty.channel.Channel.class,<a name="line.794"></a>
+<span class="sourceLineNo">795</span> com.google.protobuf.Message.class,<a name="line.795"></a>
+<span class="sourceLineNo">796</span> com.google.common.collect.Lists.class,<a name="line.796"></a>
+<span class="sourceLineNo">797</span> org.apache.htrace.Trace.class,<a name="line.797"></a>
+<span class="sourceLineNo">798</span> com.codahale.metrics.MetricRegistry.class);<a name="line.798"></a>
+<span class="sourceLineNo">799</span> }<a name="line.799"></a>
+<span class="sourceLineNo">800</span><a name="line.800"></a>
+<span class="sourceLineNo">801</span> /**<a name="line.801"></a>
+<span class="sourceLineNo">802</span> * Returns a classpath string built from the content of the "tmpjars" value in {@code conf}.<a name="line.802"></a>
+<span class="sourceLineNo">803</span> * Also exposed to shell scripts via `bin/hbase mapredcp`.<a name="line.803"></a>
+<span class="sourceLineNo">804</span> */<a name="line.804"></a>
+<span class="sourceLineNo">805</span> public static String buildDependencyClasspath(Configuration conf) {<a name="line.805"></a>
+<span class="sourceLineNo">806</span> if (conf == null) {<a name="line.806"></a>
+<span class="sourceLineNo">807</span> throw new IllegalArgumentException("Must provide a configuration object.");<a name="line.807"></a>
+<span class="sourceLineNo">808</span> }<a name="line.808"></a>
+<span class="sourceLineNo">809</span> Set<String> paths = new HashSet<>(conf.getStringCollection("tmpjars"));<a name="line.809"></a>
+<span class="sourceLineNo">810</span> if (paths.isEmpty()) {<a name="line.810"></a>
+<span class="sourceLineNo">811</span> throw new IllegalArgumentException("Configuration contains no tmpjars.");<a name="line.811"></a>
+<span class="sourceLineNo">812</span> }<a name="line.812"></a>
+<span class="sourceLineNo">813</span> StringBuilder sb = new StringBuilder();<a name="line.813"></a>
+<span class="sourceLineNo">814</span> for (String s : paths) {<a name="line.814"></a>
+<span class="sourceLineNo">815</span> // entries can take the form 'file:/path/to/file.jar'.<a name="line.815"></a>
+<span class="sourceLineNo">816</span> int idx = s.indexOf(":");<a name="line.816"></a>
+<span class="sourceLineNo">817</span> if (idx != -1) s = s.substring(idx + 1);<a name="line.817"></a>
+<span class="sourceLineNo">818</span> if (sb.length() > 0) sb.append(File.pathSeparator);<a name="line.818"></a>
+<span class="sourceLineNo">819</span> sb.append(s);<a name="line.819"></a>
+<span class="sourceLineNo">820</span> }<a name="line.820"></a>
+<span class="sourceLineNo">821</span> return sb.toString();<a name="line.821"></a>
+<span class="sourceLineNo">822</span> }<a name="line.822"></a>
+<span class="sourceLineNo">823</span><a name="line.823"></a>
+<span class="sourceLineNo">824</span> /**<a name="line.824"></a>
+<span class="sourceLineNo">825</span> * Add the HBase dependency jars as well as jars for any of the configured<a name="line.825"></a>
+<span class="sourceLineNo">826</span> * job classes to the job configuration, so that JobClient will ship them<a name="line.826"></a>
+<span class="sourceLineNo">827</span> * to the cluster and add them to the DistributedCache.<a name="line.827"></a>
+<span class="sourceLineNo">828</span> */<a name="line.828"></a>
+<span class="sourceLineNo">829</span> public static void addDependencyJars(Job job) throws IOException {<a name="line.829"></a>
+<span class="sourceLineNo">830</span> addHBaseDependencyJars(job.getConfiguration());<a name="line.830"></a>
+<span class="sourceLineNo">831</span> try {<a name="line.831"></a>
+<span class="sourceLineNo">832</span> addDependencyJarsForClasses(job.getConfiguration(),<a name="line.832"></a>
+<span class="sourceLineNo">833</span> // when making changes here, consider also mapred.TableMapReduceUtil<a name="line.833"></a>
+<span class="sourceLineNo">834</span> // pull job classes<a name="line.834"></a>
+<span class="sourceLineNo">835</span> job.getMapOutputKeyClass(),<a name="line.835"></a>
+<span class="sourceLineNo">836</span> job.getMapOutputValueClass(),<a name="line.836"></a>
+<span class="sourceLineNo">837</span> job.getInputFormatClass(),<a name="line.837"></a>
+<span class="sourceLineNo">838</span> job.getOutputKeyClass(),<a name="line.838"></a>
+<span class="sourceLineNo">839</span> job.getOutputValueClass(),<a name="line.839"></a>
+<span class="sourceLineNo">840</span> job.getOutputFormatClass(),<a name="line.840"></a>
+<span class="sourceLineNo">841</span> job.getPartitionerClass(),<a name="line.841"></a>
+<span class="sourceLineNo">842</span> job.getCombinerClass());<a name="line.842"></a>
+<span class="sourceLineNo">843</span> } catch (ClassNotFoundException e) {<a name="line.843"></a>
+<span class="sourceLineNo">844</span> throw new IOException(e);<a name="line.844"></a>
+<span class="sourceLineNo">845</span> }<a name="line.845"></a>
+<span class="sourceLineNo">846</span> }<a name="line.846"></a>
+<span class="sourceLineNo">847</span><a name="line.847"></a>
+<span class="sourceLineNo">848</span> /**<a name="line.848"></a>
+<span class="sourceLineNo">849</span> * Add the jars containing the given classes to the job's configuration<a name="line.849"></a>
+<span class="sourceLineNo">850</span> * such that JobClient will ship them to the cluster and add them to<a name="line.850"></a>
+<span class="sourceLineNo">851</span> * the DistributedCache.<a name="line.851"></a>
+<span class="sourceLineNo">852</span> * @deprecated rely on {@link #addDependencyJars(Job)} instead.<a name="line.852"></a>
+<span class="sourceLineNo">853</span> */<a name="line.853"></a>
+<span class="sourceLineNo">854</span> @Deprecated<a name="line.854"></a>
+<span class="sourceLineNo">855</span> public static void addDependencyJars(Configuration conf,<a name="line.855"></a>
+<span class="sourceLineNo">856</span> Class<?>... classes) throws IOException {<a name="line.856"></a>
+<span class="sourceLineNo">857</span> LOG.warn("The addDependencyJars(Configuration, Class<?>...) method has been deprecated since it"<a name="line.857"></a>
+<span class="sourceLineNo">858</span> + " is easy to use incorrectly. Most users should rely on addDependencyJars(Job) " +<a name="line.858"></a>
+<span class="sourceLineNo">859</span> "instead. See HBASE-8386 for more details.");<a name="line.859"></a>
+<span class="sourceLineNo">860</span> addDependencyJarsForClasses(conf, classes);<a name="line.860"></a>
+<span class="sourceLineNo">861</span> }<a name="line.861"></a>
+<span class="sourceLineNo">862</span><a name="line.862"></a>
+<span class="sourceLineNo">863</span> /**<a name="line.863"></a>
+<span class="sourceLineNo">864</span> * Add the jars containing the given classes to the job's configuration<a name="line.864"></a>
+<span class="sourceLineNo">865</span> * such that JobClient will ship them to the cluster and add them to<a name="line.865"></a>
+<span class="sourceLineNo">866</span> * the DistributedCache.<a name="line.866"></a>
+<span class="sourceLineNo">867</span> *<a name="line.867"></a>
+<span class="sourceLineNo">868</span> * N.B. that this method at most adds one jar per class given. If there is more than one<a name="line.868"></a>
+<span class="sourceLineNo">869</span> * jar available containing a class with the same name as a given class, we don't define<a name="line.869"></a>
+<span class="sourceLineNo">870</span> * which of those jars might be chosen.<a name="line.870"></a>
+<span class="sourceLineNo">871</span> *<a name="line.871"></a>
+<span class="sourceLineNo">872</span> * @param conf The Hadoop Configuration to modify<a name="line.872"></a>
+<span class="sourceLineNo">873</span> * @param classes will add just those dependencies needed to find the given classes<a name="line.873"></a>
+<span class="sourceLineNo">874</span> * @throws IOException if an underlying library call fails.<a name="line.874"></a>
+<span class="sourceLineNo">875</span> */<a name="line.875"></a>
+<span class="sourceLineNo">876</span> @InterfaceAudience.Private<a name="line.876"></a>
+<span class="sourceLineNo">877</span> public static void addDependencyJarsForClasses(Configuration conf,<a name="line.877"></a>
+<span class="sourceLineNo">878</span> Class<?>... classes) throws IOException {<a name="line.878"></a>
+<span class="sourceLineNo">879</span><a name="line.879"></a>
+<span class="sourceLineNo">880</span> FileSystem localFs = FileSystem.getLocal(conf);<a name="line.880"></a>
+<span class="sourceLineNo">881</span> Set<String> jars = new HashSet<>();<a name="line.881"></a>
+<span class="sourceLineNo">882</span> // Add jars that are already in the tmpjars variable<a name="line.882"></a>
+<span class="sourceLineNo">883</span> jars.addAll(conf.getStringCollection("tmpjars"));<a name="line.883"></a>
+<span class="sourceLineNo">884</span><a name="line.884"></a>
+<span class="sourceLineNo">885</span> // add jars as we find them to a map of contents jar name so that we can avoid<a name="line.885"></a>
+<span class="sourceLineNo">886</span> // creating new jars for classes that have already been packaged.<a name="line.886"></a>
+<span class="sourceLineNo">887</span> Map<String, String> packagedClasses = new HashMap<>();<a name="line.887"></a>
+<span class="sourceLineNo">888</span><a name="line.888"></a>
+<span class="sourceLineNo">889</span> // Add jars containing the specified classes<a name="line.889"></a>
+<span class="sourceLineNo">890</span> for (Class<?> clazz : classes) {<a name="line.890"></a>
+<span class="sourceLineNo">891</span> if (clazz == null) continue;<a name="line.891"></a>
+<span class="sourceLineNo">892</span><a name="line.892"></a>
+<span class="sourceLineNo">893</span> Path path = findOrCreateJar(clazz, localFs, packagedClasses);<a name="line.893"></a>
+<span class="sourceLineNo">894</span> if (path == null) {<a name="line.894"></a>
+<span class="sourceLineNo">895</span> LOG.warn("Could not find jar for class " + clazz +<a name="line.895"></a>
+<span class="sourceLineNo">896</span> " in order to ship it to the cluster.");<a name="line.896"></a>
+<span class="sourceLineNo">897</span> continue;<a name="line.897"></a>
+<span class="sourceLineNo">898</span> }<a name="line.898"></a>
+<span class="sourceLineNo">899</span> if (!localFs.exists(path)) {<a name="line.899"></a>
+<span class="sourceLineNo">900</span> LOG.warn("Could not validate jar file " + path + " for class "<a name="line.900"></a>
+<span class="sourceLineNo">901</span> + clazz);<a name="line.901"></a>
+<span class="sourceLineNo">902</span> continue;<a name="line.902"></a>
+<span class="sourceLineNo">903</span> }<a name="line.903"></a>
+<span class="sourceLineNo">904</span> jars.add(path.toString());<a name="line.904"></a>
+<span class="sourceLineNo">905</span> }<a name="line.905"></a>
+<span class="sourceLineNo">906</span> if (jars.isEmpty()) return;<a name="line.906"></a>
+<span class="sourceLineNo">907</span><a name="line.907"></a>
+<span class="sourceLineNo">908</span> conf.set("tmpjars", StringUtils.arrayToString(jars.toArray(new String[jars.size()])));<a name="line.908"></a>
+<span class="sourceLineNo">909</span> }<a name="line.909"></a>
+<span class="sourceLineNo">910</span><a name="line.910"></a>
+<span class="sourceLineNo">911</span> /**<a name="line.911"></a>
+<span class="sourceLineNo">912</span> * Finds the Jar for a class or creates it if it doesn't exist. If the class is in<a name="line.912"></a>
+<span class="sourceLineNo">913</span> * a directory in the classpath, it creates a Jar on the fly with the<a name="line.913"></a>
+<span class="sourceLineNo">914</span> * contents of the directory and returns the path to that Jar. If a Jar is<a name="line.914"></a>
+<span class="sourceLineNo">915</span> * created, it is created in the system temporary directory. Otherwise,<a name="line.915"></a>
+<span class="sourceLineNo">916</span> * returns an existing jar that contains a class of the same name. Maintains<a name="line.916"></a>
+<span class="sourceLineNo">917</span> * a mapping from jar contents to the tmp jar created.<a name="line.917"></a>
+<span class="sourceLineNo">918</span> * @param my_class the class to find.<a name="line.918"></a>
+<span class="sourceLineNo">919</span> * @param fs the FileSystem with which to qualify the returned path.<a name="line.919"></a>
+<span class="sourceLineNo">920</span> * @param packagedClasses a map of class name to path.<a name="line.920"></a>
+<span class="sourceLineNo">921</span> * @return a jar file that contains the class.<a name="line.921"></a>
+<span class="sourceLineNo">922</span> * @throws IOException<a name="line.922"></a>
+<span class="sourceLineNo">923</span> */<a name="line.923"></a>
+<span class="sourceLineNo">924</span> private static Path findOrCreateJar(Class<?> my_class, FileSystem fs,<a name="line.924"></a>
+<span class="sourceLineNo">925</span> Map<String, String> packagedClasses)<a name="line.925"></a>
+<span class="sourceLineNo">926</span> throws IOException {<a name="line.926"></a>
+<span class="sourceLineNo">927</span> // attempt to locate an existing jar for the class.<a name="line.927"></a>
+<span class="sourceLineNo">928</span> String jar = findContainingJar(my_class, packagedClasses);<a name="line.928"></a>
+<span class="sourceLineNo">929</span> if (null == jar || jar.isEmpty()) {<a name="line.929"></a>
+<span class="sourceLineNo">930</span> jar = getJar(my_class);<a name="line.930"></a>
+<span class="sourceLineNo">931</span> updateMap(jar, packagedClasses);<a name="line.931"></a>
+<span class="sourceLineNo">932</span> }<a name="line.932"></a>
+<span class="sourceLineNo">933</span><a name="line.933"></a>
+<span class="sourceLineNo">934</span> if (null == jar || jar.isEmpty()) {<a name="line.934"></a>
+<span class="sourceLineNo">935</span> return null;<a name="line.935"></a>
+<span class="sourceLineNo">936</span> }<a name="line.936"></a>
+<span class="sourceLineNo">937</span><a name="line.937"></a>
+<span class="sourceLineNo">938</span> LOG.debug(String.format("For class %s, using jar %s", my_class.getName(), jar));<a name="line.938"></a>
+<span class="sourceLineNo">939</span> return new Path(jar).makeQualified(fs);<a name="line.939"></a>
+<span class="sourceLineNo">940</span> }<a name="line.940"></a>
+<span class="sourceLineNo">941</span><a name="line.941"></a>
+<span class="sourceLineNo">942</span> /**<a name="line.942"></a>
+<span class="sourceLineNo">943</span> * Add entries to <code>packagedClasses</code> corresponding to class files<a name="line.943"></a>
+<span class="sourceLineNo">944</span> * contained in <code>jar</code>.<a name="line.944"></a>
+<span class="sourceLineNo">945</span> * @param jar The jar who's content to list.<a name="line.945"></a>
+<span class="sourceLineNo">946</span> * @param packagedClasses map[class -> jar]<a name="line.946"></a>
+<span class="sourceLineNo">947</span> */<a name="line.947"></a>
+<span class="sourceLineNo">948</span> private static void updateMap(String jar, Map<String, String> packagedClasses) throws IOException {<a name="line.948"></a>
+<span class="sourceLineNo">949</span> if (null == jar || jar.isEmpty()) {<a name="line.949"></a>
+<span class="sourceLineNo">950</span> return;<a name="line.950"></a>
+<span class="sourceLineNo">951</span> }<a name="line.951"></a>
+<span class="sourceLineNo">952</span> ZipFile zip = null;<a name="line.952"></a>
+<span class="sourceLineNo">953</span> try {<a name="line.953"></a>
+<span class="sourceLineNo">954</span> zip = new ZipFile(jar);<a name="line.954"></a>
+<span class="sourceLineNo">955</span> for (Enumeration<? extends ZipEntry> iter = zip.entries(); iter.hasMoreElements();) {<a name="line.955"></a>
+<span class="sourceLineNo">956</span> ZipEntry entry = iter.nextElement();<a name="line.956"></a>
+<span class="sourceLineNo">957</span> if (entry.getName().endsWith("class")) {<a name="line.957"></a>
+<span class="sourceLineNo">958</span> packagedClasses.put(entry.getName(), jar);<a name="line.958"></a>
+<span class="sourceLineNo">959</span> }<a name="line.959"></a>
+<span class="sourceLineNo">960</span> }<a name="line.960"></a>
+<span class="sourceLineNo">961</span> } finally {<a name="line.961"></a>
+<span class="sourceLineNo">962</span> if (null != zip) zip.close();<a name="line.962"></a>
+<span class="sourceLineNo">963</span> }<a name="line.963"></a>
+<span class="sourceLineNo">964</span> }<a name="line.964"></a>
+<span class="sourceLineNo">965</span><a name="line.965"></a>
+<span class="sourceLineNo">966</span> /**<a name="line.966"></a>
+<span class="sourceLineNo">967</span> * Find a jar that contains a class of the same name, if any. It will return<a name="line.967"></a>
+<span class="sourceLineNo">968</span> * a jar file, even if that is not the first thing on the class path that<a name="line.968"></a>
+<span class="sourceLineNo">969</span> * has a class with the same name. Looks first on the classpath and then in<a name="line.969"></a>
+<span class="sourceLineNo">970</span> * the <code>packagedClasses</code> map.<a name="line.970"></a>
+<span class="sourceLineNo">971</span> * @param my_class the class to find.<a name="line.971"></a>
+<span class="sourceLineNo">972</span> * @return a jar file that contains the class, or null.<a name="line.972"></a>
+<span class="sourceLineNo">973</span> * @throws IOException<a name="line.973"></a>
+<span class="sourceLineNo">974</span> */<a name="line.974"></a>
+<span class="sourceLineNo">975</span> private static String findContainingJar(Class<?> my_class, Map<String, String> packagedClasses)<a name="line.975"></a>
+<span class="sourceLineNo">976</span> throws IOException {<a name="line.976"></a>
+<span class="sourceLineNo">977</span> ClassLoader loader = my_class.getClassLoader();<a name="line.977"></a>
+<span class="sourceLineNo">978</span><a name="line.978"></a>
+<span class="sourceLineNo">979</span> String class_file = my_class.getName().replaceAll("\\.", "/") + ".class";<a name="line.979"></a>
+<span class="sourceLineNo">980</span><a name="line.980"></a>
+<span class="sourceLineNo">981</span> if (loader != null) {<a name="line.981"></a>
+<span class="sourceLineNo">982</span> // first search the classpath<a name="line.982"></a>
+<span class="sourceLineNo">983</span> for (Enumeration<URL> itr = loader.getResources(class_file); itr.hasMoreElements();) {<a name="line.983"></a>
+<span class="sourceLineNo">984</span> URL url = itr.nextElement();<a name="line.984"></a>
+<span class="sourceLineNo">985</span> if ("jar".equals(url.getProtocol())) {<a name="line.985"></a>
+<span class="sourceLineNo">986</span> String toReturn = url.getPath();<a name="line.986"></a>
+<span class="sourceLineNo">987</span> if (toReturn.startsWith("file:")) {<a name="line.987"></a>
+<span class="sourceLineNo">988</span> toReturn = toReturn.substring("file:".length());<a name="line.988"></a>
+<span class="sourceLineNo">989</span> }<a name="line.989"></a>
+<span class="sourceLineNo">990</span> // URLDecoder is a misnamed class, since it actually decodes<a name="line.990"></a>
+<span class="sourceLineNo">991</span> // x-www-form-urlencoded MIME type rather than actual<a name="line.991"></a>
+<span class="sourceLineNo">992</span> // URL encoding (which the file path has). Therefore it would<a name="line.992"></a>
+<span class="sourceLineNo">993</span> // decode +s to ' 's which is incorrect (spaces are actually<a name="line.993"></a>
+<span class="sourceLineNo">994</span> // either unencoded or encoded as "%20"). Replace +s first, so<a name="line.994"></a>
+<span class="sourceLineNo">995</span> // that they are kept sacred during the decoding process.<a name="line.995"></a>
+<span class="sourceLineNo">996</span> toReturn = toReturn.replaceAll("\\+", "%2B");<a name="line.996"></a>
+<span class="sourceLineNo">997</span> toReturn = URLDecoder.decode(toReturn, "UTF-8");<a name="line.997"></a>
+<span class="sourceLineNo">998</span> return toReturn.replaceAll("!.*$", "");<a name="line.998"></a>
+<span class="sourceLineNo">999</span> }<a name="line.999"></a>
+<span class="sourceLineNo">1000</span> }<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span> }<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span><a name="line.1002"></a>
+<span class="sourceLineNo">1003</span> // now look in any jars we've packaged using JarFinder. Returns null when<a name="line.1003"></a>
+<span class="sourceLineNo">1004</span> // no jar is found.<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span> return packagedClasses.get(class_file);<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span> }<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span><a name="line.1007"></a>
+<span class="sourceLineNo">1008</span> /**<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span> * Invoke 'getJar' on a custom JarFinder implementation. Useful for some job<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span> * configuration contexts (HBASE-8140) and also for testing on MRv2.<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span> * check if we have HADOOP-9426.<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span> * @param my_class the class to find.<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span> * @return a jar file that contains the class, or null.<a name="line.1013"></a>
+<span class="sourceLineNo">1014</span> */<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span> private static String getJar(Class<?> my_class) {<a name="line.1015"></a>
+<span class="sourceLineNo">1016</span> String ret = null;<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span> try {<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span> ret = JarFinder.getJar(my_class);<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span> } catch (Exception e) {<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span> // toss all other exceptions, related to reflection failure<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span> throw new RuntimeException("getJar invocation failed.", e);<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span> }<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span><a name="line.1023"></a>
+<span class="sourceLineNo">1024</span> return ret;<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span> }<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span>}<a name="line.1026"></a>
[10/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html
index 43cc877..6408c36 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html
@@ -428,256 +428,259 @@
<span class="sourceLineNo">420</span> private int queuedPriority;<a name="line.420"></a>
<span class="sourceLineNo">421</span> private ThreadPoolExecutor parent;<a name="line.421"></a>
<span class="sourceLineNo">422</span> private User user;<a name="line.422"></a>
-<span class="sourceLineNo">423</span><a name="line.423"></a>
-<span class="sourceLineNo">424</span> public CompactionRunner(Store store, Region region,<a name="line.424"></a>
-<span class="sourceLineNo">425</span> CompactionContext compaction, ThreadPoolExecutor parent, User user) {<a name="line.425"></a>
-<span class="sourceLineNo">426</span> super();<a name="line.426"></a>
-<span class="sourceLineNo">427</span> this.store = store;<a name="line.427"></a>
-<span class="sourceLineNo">428</span> this.region = (HRegion)region;<a name="line.428"></a>
-<span class="sourceLineNo">429</span> this.compaction = compaction;<a name="line.429"></a>
-<span class="sourceLineNo">430</span> this.queuedPriority = (this.compaction == null)<a name="line.430"></a>
-<span class="sourceLineNo">431</span> ? store.getCompactPriority() : compaction.getRequest().getPriority();<a name="line.431"></a>
-<span class="sourceLineNo">432</span> this.parent = parent;<a name="line.432"></a>
-<span class="sourceLineNo">433</span> this.user = user;<a name="line.433"></a>
-<span class="sourceLineNo">434</span> }<a name="line.434"></a>
-<span class="sourceLineNo">435</span><a name="line.435"></a>
-<span class="sourceLineNo">436</span> @Override<a name="line.436"></a>
-<span class="sourceLineNo">437</span> public String toString() {<a name="line.437"></a>
-<span class="sourceLineNo">438</span> return (this.compaction != null) ? ("Request = " + compaction.getRequest())<a name="line.438"></a>
-<span class="sourceLineNo">439</span> : ("Store = " + store.toString() + ", pri = " + queuedPriority);<a name="line.439"></a>
-<span class="sourceLineNo">440</span> }<a name="line.440"></a>
-<span class="sourceLineNo">441</span><a name="line.441"></a>
-<span class="sourceLineNo">442</span> private void doCompaction(User user) {<a name="line.442"></a>
-<span class="sourceLineNo">443</span> // Common case - system compaction without a file selection. Select now.<a name="line.443"></a>
-<span class="sourceLineNo">444</span> if (this.compaction == null) {<a name="line.444"></a>
-<span class="sourceLineNo">445</span> int oldPriority = this.queuedPriority;<a name="line.445"></a>
-<span class="sourceLineNo">446</span> this.queuedPriority = this.store.getCompactPriority();<a name="line.446"></a>
-<span class="sourceLineNo">447</span> if (this.queuedPriority > oldPriority) {<a name="line.447"></a>
-<span class="sourceLineNo">448</span> // Store priority decreased while we were in queue (due to some other compaction?),<a name="line.448"></a>
-<span class="sourceLineNo">449</span> // requeue with new priority to avoid blocking potential higher priorities.<a name="line.449"></a>
-<span class="sourceLineNo">450</span> this.parent.execute(this);<a name="line.450"></a>
-<span class="sourceLineNo">451</span> return;<a name="line.451"></a>
-<span class="sourceLineNo">452</span> }<a name="line.452"></a>
-<span class="sourceLineNo">453</span> try {<a name="line.453"></a>
-<span class="sourceLineNo">454</span> this.compaction = selectCompaction(this.region, this.store, queuedPriority, null, user);<a name="line.454"></a>
-<span class="sourceLineNo">455</span> } catch (IOException ex) {<a name="line.455"></a>
-<span class="sourceLineNo">456</span> LOG.error("Compaction selection failed " + this, ex);<a name="line.456"></a>
-<span class="sourceLineNo">457</span> server.checkFileSystem();<a name="line.457"></a>
-<span class="sourceLineNo">458</span> return;<a name="line.458"></a>
-<span class="sourceLineNo">459</span> }<a name="line.459"></a>
-<span class="sourceLineNo">460</span> if (this.compaction == null) return; // nothing to do<a name="line.460"></a>
-<span class="sourceLineNo">461</span> // Now see if we are in correct pool for the size; if not, go to the correct one.<a name="line.461"></a>
-<span class="sourceLineNo">462</span> // We might end up waiting for a while, so cancel the selection.<a name="line.462"></a>
-<span class="sourceLineNo">463</span> assert this.compaction.hasSelection();<a name="line.463"></a>
-<span class="sourceLineNo">464</span> ThreadPoolExecutor pool = store.throttleCompaction(<a name="line.464"></a>
-<span class="sourceLineNo">465</span> compaction.getRequest().getSize()) ? longCompactions : shortCompactions;<a name="line.465"></a>
-<span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span> // Long compaction pool can process small job<a name="line.467"></a>
-<span class="sourceLineNo">468</span> // Short compaction pool should not process large job<a name="line.468"></a>
-<span class="sourceLineNo">469</span> if (this.parent == shortCompactions && pool == longCompactions) {<a name="line.469"></a>
-<span class="sourceLineNo">470</span> this.store.cancelRequestedCompaction(this.compaction);<a name="line.470"></a>
-<span class="sourceLineNo">471</span> this.compaction = null;<a name="line.471"></a>
-<span class="sourceLineNo">472</span> this.parent = pool;<a name="line.472"></a>
-<span class="sourceLineNo">473</span> this.parent.execute(this);<a name="line.473"></a>
-<span class="sourceLineNo">474</span> return;<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> // Finally we can compact something.<a name="line.477"></a>
-<span class="sourceLineNo">478</span> assert this.compaction != null;<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span> this.compaction.getRequest().beforeExecute();<a name="line.480"></a>
-<span class="sourceLineNo">481</span> try {<a name="line.481"></a>
-<span class="sourceLineNo">482</span> // Note: please don't put single-compaction logic here;<a name="line.482"></a>
-<span class="sourceLineNo">483</span> // put it into region/store/etc. This is CST logic.<a name="line.483"></a>
-<span class="sourceLineNo">484</span> long start = EnvironmentEdgeManager.currentTime();<a name="line.484"></a>
-<span class="sourceLineNo">485</span> boolean completed =<a name="line.485"></a>
-<span class="sourceLineNo">486</span> region.compact(compaction, store, compactionThroughputController, user);<a name="line.486"></a>
-<span class="sourceLineNo">487</span> long now = EnvironmentEdgeManager.currentTime();<a name="line.487"></a>
-<span class="sourceLineNo">488</span> LOG.info(((completed) ? "Completed" : "Aborted") + " compaction: " +<a name="line.488"></a>
-<span class="sourceLineNo">489</span> this + "; duration=" + StringUtils.formatTimeDiff(now, start));<a name="line.489"></a>
-<span class="sourceLineNo">490</span> if (completed) {<a name="line.490"></a>
-<span class="sourceLineNo">491</span> // degenerate case: blocked regions require recursive enqueues<a name="line.491"></a>
-<span class="sourceLineNo">492</span> if (store.getCompactPriority() <= 0) {<a name="line.492"></a>
-<span class="sourceLineNo">493</span> requestSystemCompaction(region, store, "Recursive enqueue");<a name="line.493"></a>
-<span class="sourceLineNo">494</span> } else {<a name="line.494"></a>
-<span class="sourceLineNo">495</span> // see if the compaction has caused us to exceed max region size<a name="line.495"></a>
-<span class="sourceLineNo">496</span> requestSplit(region);<a name="line.496"></a>
-<span class="sourceLineNo">497</span> }<a name="line.497"></a>
-<span class="sourceLineNo">498</span> }<a name="line.498"></a>
-<span class="sourceLineNo">499</span> } catch (IOException ex) {<a name="line.499"></a>
-<span class="sourceLineNo">500</span> IOException remoteEx =<a name="line.500"></a>
-<span class="sourceLineNo">501</span> ex instanceof RemoteException ? ((RemoteException) ex).unwrapRemoteException() : ex;<a name="line.501"></a>
-<span class="sourceLineNo">502</span> LOG.error("Compaction failed " + this, remoteEx);<a name="line.502"></a>
-<span class="sourceLineNo">503</span> if (remoteEx != ex) {<a name="line.503"></a>
-<span class="sourceLineNo">504</span> LOG.info("Compaction failed at original callstack: " + formatStackTrace(ex));<a name="line.504"></a>
-<span class="sourceLineNo">505</span> }<a name="line.505"></a>
-<span class="sourceLineNo">506</span> region.reportCompactionRequestFailure();<a name="line.506"></a>
-<span class="sourceLineNo">507</span> server.checkFileSystem();<a name="line.507"></a>
-<span class="sourceLineNo">508</span> } catch (Exception ex) {<a name="line.508"></a>
-<span class="sourceLineNo">509</span> LOG.error("Compaction failed " + this, ex);<a name="line.509"></a>
-<span class="sourceLineNo">510</span> region.reportCompactionRequestFailure();<a name="line.510"></a>
-<span class="sourceLineNo">511</span> server.checkFileSystem();<a name="line.511"></a>
-<span class="sourceLineNo">512</span> } finally {<a name="line.512"></a>
-<span class="sourceLineNo">513</span> LOG.debug("CompactSplitThread Status: " + CompactSplitThread.this);<a name="line.513"></a>
-<span class="sourceLineNo">514</span> }<a name="line.514"></a>
-<span class="sourceLineNo">515</span> this.compaction.getRequest().afterExecute();<a name="line.515"></a>
-<span class="sourceLineNo">516</span> }<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span> @Override<a name="line.518"></a>
-<span class="sourceLineNo">519</span> public void run() {<a name="line.519"></a>
-<span class="sourceLineNo">520</span> Preconditions.checkNotNull(server);<a name="line.520"></a>
-<span class="sourceLineNo">521</span> if (server.isStopped()<a name="line.521"></a>
-<span class="sourceLineNo">522</span> || (region.getTableDesc() != null && !region.getTableDesc().isCompactionEnabled())) {<a name="line.522"></a>
-<span class="sourceLineNo">523</span> return;<a name="line.523"></a>
-<span class="sourceLineNo">524</span> }<a name="line.524"></a>
-<span class="sourceLineNo">525</span> doCompaction(user);<a name="line.525"></a>
-<span class="sourceLineNo">526</span> }<a name="line.526"></a>
-<span class="sourceLineNo">527</span><a name="line.527"></a>
-<span class="sourceLineNo">528</span> private String formatStackTrace(Exception ex) {<a name="line.528"></a>
-<span class="sourceLineNo">529</span> StringWriter sw = new StringWriter();<a name="line.529"></a>
-<span class="sourceLineNo">530</span> PrintWriter pw = new PrintWriter(sw);<a name="line.530"></a>
-<span class="sourceLineNo">531</span> ex.printStackTrace(pw);<a name="line.531"></a>
-<span class="sourceLineNo">532</span> pw.flush();<a name="line.532"></a>
-<span class="sourceLineNo">533</span> return sw.toString();<a name="line.533"></a>
-<span class="sourceLineNo">534</span> }<a name="line.534"></a>
-<span class="sourceLineNo">535</span><a name="line.535"></a>
-<span class="sourceLineNo">536</span> @Override<a name="line.536"></a>
-<span class="sourceLineNo">537</span> public int compareTo(CompactionRunner o) {<a name="line.537"></a>
-<span class="sourceLineNo">538</span> // Only compare the underlying request (if any), for queue sorting purposes.<a name="line.538"></a>
-<span class="sourceLineNo">539</span> int compareVal = queuedPriority - o.queuedPriority; // compare priority<a name="line.539"></a>
-<span class="sourceLineNo">540</span> if (compareVal != 0) return compareVal;<a name="line.540"></a>
-<span class="sourceLineNo">541</span> CompactionContext tc = this.compaction, oc = o.compaction;<a name="line.541"></a>
-<span class="sourceLineNo">542</span> // Sort pre-selected (user?) compactions before system ones with equal priority.<a name="line.542"></a>
-<span class="sourceLineNo">543</span> return (tc == null) ? ((oc == null) ? 0 : 1)<a name="line.543"></a>
-<span class="sourceLineNo">544</span> : ((oc == null) ? -1 : tc.getRequest().compareTo(oc.getRequest()));<a name="line.544"></a>
-<span class="sourceLineNo">545</span> }<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> /**<a name="line.548"></a>
-<span class="sourceLineNo">549</span> * Cleanup class to use when rejecting a compaction request from the queue.<a name="line.549"></a>
-<span class="sourceLineNo">550</span> */<a name="line.550"></a>
-<span class="sourceLineNo">551</span> private static class Rejection implements RejectedExecutionHandler {<a name="line.551"></a>
-<span class="sourceLineNo">552</span> @Override<a name="line.552"></a>
-<span class="sourceLineNo">553</span> public void rejectedExecution(Runnable runnable, ThreadPoolExecutor pool) {<a name="line.553"></a>
-<span class="sourceLineNo">554</span> if (runnable instanceof CompactionRunner) {<a name="line.554"></a>
-<span class="sourceLineNo">555</span> CompactionRunner runner = (CompactionRunner)runnable;<a name="line.555"></a>
-<span class="sourceLineNo">556</span> LOG.debug("Compaction Rejected: " + runner);<a name="line.556"></a>
-<span class="sourceLineNo">557</span> runner.store.cancelRequestedCompaction(runner.compaction);<a name="line.557"></a>
-<span class="sourceLineNo">558</span> }<a name="line.558"></a>
-<span class="sourceLineNo">559</span> }<a name="line.559"></a>
-<span class="sourceLineNo">560</span> }<a name="line.560"></a>
-<span class="sourceLineNo">561</span><a name="line.561"></a>
-<span class="sourceLineNo">562</span> /**<a name="line.562"></a>
-<span class="sourceLineNo">563</span> * {@inheritDoc}<a name="line.563"></a>
-<span class="sourceLineNo">564</span> */<a name="line.564"></a>
-<span class="sourceLineNo">565</span> @Override<a name="line.565"></a>
-<span class="sourceLineNo">566</span> public void onConfigurationChange(Configuration newConf) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span> // Check if number of large / small compaction threads has changed, and then<a name="line.567"></a>
-<span class="sourceLineNo">568</span> // adjust the core pool size of the thread pools, by using the<a name="line.568"></a>
-<span class="sourceLineNo">569</span> // setCorePoolSize() method. According to the javadocs, it is safe to<a name="line.569"></a>
-<span class="sourceLineNo">570</span> // change the core pool size on-the-fly. We need to reset the maximum<a name="line.570"></a>
-<span class="sourceLineNo">571</span> // pool size, as well.<a name="line.571"></a>
-<span class="sourceLineNo">572</span> int largeThreads = Math.max(1, newConf.getInt(<a name="line.572"></a>
-<span class="sourceLineNo">573</span> LARGE_COMPACTION_THREADS,<a name="line.573"></a>
-<span class="sourceLineNo">574</span> LARGE_COMPACTION_THREADS_DEFAULT));<a name="line.574"></a>
-<span class="sourceLineNo">575</span> if (this.longCompactions.getCorePoolSize() != largeThreads) {<a name="line.575"></a>
-<span class="sourceLineNo">576</span> LOG.info("Changing the value of " + LARGE_COMPACTION_THREADS +<a name="line.576"></a>
-<span class="sourceLineNo">577</span> " from " + this.longCompactions.getCorePoolSize() + " to " +<a name="line.577"></a>
-<span class="sourceLineNo">578</span> largeThreads);<a name="line.578"></a>
-<span class="sourceLineNo">579</span> if(this.longCompactions.getCorePoolSize() < largeThreads) {<a name="line.579"></a>
-<span class="sourceLineNo">580</span> this.longCompactions.setMaximumPoolSize(largeThreads);<a name="line.580"></a>
-<span class="sourceLineNo">581</span> this.longCompactions.setCorePoolSize(largeThreads);<a name="line.581"></a>
-<span class="sourceLineNo">582</span> } else {<a name="line.582"></a>
-<span class="sourceLineNo">583</span> this.longCompactions.setCorePoolSize(largeThreads);<a name="line.583"></a>
-<span class="sourceLineNo">584</span> this.longCompactions.setMaximumPoolSize(largeThreads);<a name="line.584"></a>
-<span class="sourceLineNo">585</span> }<a name="line.585"></a>
-<span class="sourceLineNo">586</span> }<a name="line.586"></a>
-<span class="sourceLineNo">587</span><a name="line.587"></a>
-<span class="sourceLineNo">588</span> int smallThreads = newConf.getInt(SMALL_COMPACTION_THREADS,<a name="line.588"></a>
-<span class="sourceLineNo">589</span> SMALL_COMPACTION_THREADS_DEFAULT);<a name="line.589"></a>
-<span class="sourceLineNo">590</span> if (this.shortCompactions.getCorePoolSize() != smallThreads) {<a name="line.590"></a>
-<span class="sourceLineNo">591</span> LOG.info("Changing the value of " + SMALL_COMPACTION_THREADS +<a name="line.591"></a>
-<span class="sourceLineNo">592</span> " from " + this.shortCompactions.getCorePoolSize() + " to " +<a name="line.592"></a>
-<span class="sourceLineNo">593</span> smallThreads);<a name="line.593"></a>
-<span class="sourceLineNo">594</span> if(this.shortCompactions.getCorePoolSize() < smallThreads) {<a name="line.594"></a>
-<span class="sourceLineNo">595</span> this.shortCompactions.setMaximumPoolSize(smallThreads);<a name="line.595"></a>
-<span class="sourceLineNo">596</span> this.shortCompactions.setCorePoolSize(smallThreads);<a name="line.596"></a>
-<span class="sourceLineNo">597</span> } else {<a name="line.597"></a>
-<span class="sourceLineNo">598</span> this.shortCompactions.setCorePoolSize(smallThreads);<a name="line.598"></a>
-<span class="sourceLineNo">599</span> this.shortCompactions.setMaximumPoolSize(smallThreads);<a name="line.599"></a>
-<span class="sourceLineNo">600</span> }<a name="line.600"></a>
-<span class="sourceLineNo">601</span> }<a name="line.601"></a>
-<span class="sourceLineNo">602</span><a name="line.602"></a>
-<span class="sourceLineNo">603</span> int splitThreads = newConf.getInt(SPLIT_THREADS,<a name="line.603"></a>
-<span class="sourceLineNo">604</span> SPLIT_THREADS_DEFAULT);<a name="line.604"></a>
-<span class="sourceLineNo">605</span> if (this.splits.getCorePoolSize() != splitThreads) {<a name="line.605"></a>
-<span class="sourceLineNo">606</span> LOG.info("Changing the value of " + SPLIT_THREADS +<a name="line.606"></a>
-<span class="sourceLineNo">607</span> " from " + this.splits.getCorePoolSize() + " to " +<a name="line.607"></a>
-<span class="sourceLineNo">608</span> splitThreads);<a name="line.608"></a>
-<span class="sourceLineNo">609</span> if(this.splits.getCorePoolSize() < splitThreads) {<a name="line.609"></a>
-<span class="sourceLineNo">610</span> this.splits.setMaximumPoolSize(splitThreads);<a name="line.610"></a>
-<span class="sourceLineNo">611</span> this.splits.setCorePoolSize(splitThreads);<a name="line.611"></a>
-<span class="sourceLineNo">612</span> } else {<a name="line.612"></a>
-<span class="sourceLineNo">613</span> this.splits.setCorePoolSize(splitThreads);<a name="line.613"></a>
-<span class="sourceLineNo">614</span> this.splits.setMaximumPoolSize(splitThreads);<a name="line.614"></a>
-<span class="sourceLineNo">615</span> }<a name="line.615"></a>
-<span class="sourceLineNo">616</span> }<a name="line.616"></a>
-<span class="sourceLineNo">617</span><a name="line.617"></a>
-<span class="sourceLineNo">618</span> ThroughputController old = this.compactionThroughputController;<a name="line.618"></a>
-<span class="sourceLineNo">619</span> if (old != null) {<a name="line.619"></a>
-<span class="sourceLineNo">620</span> old.stop("configuration change");<a name="line.620"></a>
-<span class="sourceLineNo">621</span> }<a name="line.621"></a>
-<span class="sourceLineNo">622</span> this.compactionThroughputController =<a name="line.622"></a>
-<span class="sourceLineNo">623</span> CompactionThroughputControllerFactory.create(server, newConf);<a name="line.623"></a>
-<span class="sourceLineNo">624</span><a name="line.624"></a>
-<span class="sourceLineNo">625</span> // We change this atomically here instead of reloading the config in order that upstream<a name="line.625"></a>
-<span class="sourceLineNo">626</span> // would be the only one with the flexibility to reload the config.<a name="line.626"></a>
-<span class="sourceLineNo">627</span> this.conf.reloadConfiguration();<a name="line.627"></a>
-<span class="sourceLineNo">628</span> }<a name="line.628"></a>
-<span class="sourceLineNo">629</span><a name="line.629"></a>
-<span class="sourceLineNo">630</span> protected int getSmallCompactionThreadNum() {<a name="line.630"></a>
-<span class="sourceLineNo">631</span> return this.shortCompactions.getCorePoolSize();<a name="line.631"></a>
-<span class="sourceLineNo">632</span> }<a name="line.632"></a>
-<span class="sourceLineNo">633</span><a name="line.633"></a>
-<span class="sourceLineNo">634</span> protected int getLargeCompactionThreadNum() {<a name="line.634"></a>
-<span class="sourceLineNo">635</span> return this.longCompactions.getCorePoolSize();<a name="line.635"></a>
-<span class="sourceLineNo">636</span> }<a name="line.636"></a>
-<span class="sourceLineNo">637</span><a name="line.637"></a>
-<span class="sourceLineNo">638</span> protected int getSplitThreadNum() {<a name="line.638"></a>
-<span class="sourceLineNo">639</span> return this.splits.getCorePoolSize();<a name="line.639"></a>
-<span class="sourceLineNo">640</span> }<a name="line.640"></a>
-<span class="sourceLineNo">641</span><a name="line.641"></a>
-<span class="sourceLineNo">642</span> /**<a name="line.642"></a>
-<span class="sourceLineNo">643</span> * {@inheritDoc}<a name="line.643"></a>
-<span class="sourceLineNo">644</span> */<a name="line.644"></a>
-<span class="sourceLineNo">645</span> @Override<a name="line.645"></a>
-<span class="sourceLineNo">646</span> public void registerChildren(ConfigurationManager manager) {<a name="line.646"></a>
-<span class="sourceLineNo">647</span> // No children to register.<a name="line.647"></a>
-<span class="sourceLineNo">648</span> }<a name="line.648"></a>
-<span class="sourceLineNo">649</span><a name="line.649"></a>
-<span class="sourceLineNo">650</span> /**<a name="line.650"></a>
-<span class="sourceLineNo">651</span> * {@inheritDoc}<a name="line.651"></a>
-<span class="sourceLineNo">652</span> */<a name="line.652"></a>
-<span class="sourceLineNo">653</span> @Override<a name="line.653"></a>
-<span class="sourceLineNo">654</span> public void deregisterChildren(ConfigurationManager manager) {<a name="line.654"></a>
-<span class="sourceLineNo">655</span> // No children to register<a name="line.655"></a>
-<span class="sourceLineNo">656</span> }<a name="line.656"></a>
-<span class="sourceLineNo">657</span><a name="line.657"></a>
-<span class="sourceLineNo">658</span> @VisibleForTesting<a name="line.658"></a>
-<span class="sourceLineNo">659</span> public ThroughputController getCompactionThroughputController() {<a name="line.659"></a>
-<span class="sourceLineNo">660</span> return compactionThroughputController;<a name="line.660"></a>
-<span class="sourceLineNo">661</span> }<a name="line.661"></a>
-<span class="sourceLineNo">662</span><a name="line.662"></a>
-<span class="sourceLineNo">663</span> @VisibleForTesting<a name="line.663"></a>
-<span class="sourceLineNo">664</span> /**<a name="line.664"></a>
-<span class="sourceLineNo">665</span> * Shutdown the long compaction thread pool.<a name="line.665"></a>
-<span class="sourceLineNo">666</span> * Should only be used in unit test to prevent long compaction thread pool from stealing job<a name="line.666"></a>
-<span class="sourceLineNo">667</span> * from short compaction queue<a name="line.667"></a>
-<span class="sourceLineNo">668</span> */<a name="line.668"></a>
-<span class="sourceLineNo">669</span> void shutdownLongCompactions(){<a name="line.669"></a>
-<span class="sourceLineNo">670</span> this.longCompactions.shutdown();<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">423</span> private long time;<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span> public CompactionRunner(Store store, Region region,<a name="line.425"></a>
+<span class="sourceLineNo">426</span> CompactionContext compaction, ThreadPoolExecutor parent, User user) {<a name="line.426"></a>
+<span class="sourceLineNo">427</span> super();<a name="line.427"></a>
+<span class="sourceLineNo">428</span> this.store = store;<a name="line.428"></a>
+<span class="sourceLineNo">429</span> this.region = (HRegion)region;<a name="line.429"></a>
+<span class="sourceLineNo">430</span> this.compaction = compaction;<a name="line.430"></a>
+<span class="sourceLineNo">431</span> this.queuedPriority = (this.compaction == null)<a name="line.431"></a>
+<span class="sourceLineNo">432</span> ? store.getCompactPriority() : compaction.getRequest().getPriority();<a name="line.432"></a>
+<span class="sourceLineNo">433</span> this.parent = parent;<a name="line.433"></a>
+<span class="sourceLineNo">434</span> this.user = user;<a name="line.434"></a>
+<span class="sourceLineNo">435</span> this.time = System.currentTimeMillis();<a name="line.435"></a>
+<span class="sourceLineNo">436</span> }<a name="line.436"></a>
+<span class="sourceLineNo">437</span><a name="line.437"></a>
+<span class="sourceLineNo">438</span> @Override<a name="line.438"></a>
+<span class="sourceLineNo">439</span> public String toString() {<a name="line.439"></a>
+<span class="sourceLineNo">440</span> return (this.compaction != null) ? ("Request = " + compaction.getRequest())<a name="line.440"></a>
+<span class="sourceLineNo">441</span> : ("regionName = " + region.toString() + ", storeName = " + store.toString() +<a name="line.441"></a>
+<span class="sourceLineNo">442</span> ", priority = " + queuedPriority + ", time = " + time);<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> private void doCompaction(User user) {<a name="line.445"></a>
+<span class="sourceLineNo">446</span> // Common case - system compaction without a file selection. Select now.<a name="line.446"></a>
+<span class="sourceLineNo">447</span> if (this.compaction == null) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span> int oldPriority = this.queuedPriority;<a name="line.448"></a>
+<span class="sourceLineNo">449</span> this.queuedPriority = this.store.getCompactPriority();<a name="line.449"></a>
+<span class="sourceLineNo">450</span> if (this.queuedPriority > oldPriority) {<a name="line.450"></a>
+<span class="sourceLineNo">451</span> // Store priority decreased while we were in queue (due to some other compaction?),<a name="line.451"></a>
+<span class="sourceLineNo">452</span> // requeue with new priority to avoid blocking potential higher priorities.<a name="line.452"></a>
+<span class="sourceLineNo">453</span> this.parent.execute(this);<a name="line.453"></a>
+<span class="sourceLineNo">454</span> return;<a name="line.454"></a>
+<span class="sourceLineNo">455</span> }<a name="line.455"></a>
+<span class="sourceLineNo">456</span> try {<a name="line.456"></a>
+<span class="sourceLineNo">457</span> this.compaction = selectCompaction(this.region, this.store, queuedPriority, null, user);<a name="line.457"></a>
+<span class="sourceLineNo">458</span> } catch (IOException ex) {<a name="line.458"></a>
+<span class="sourceLineNo">459</span> LOG.error("Compaction selection failed " + this, ex);<a name="line.459"></a>
+<span class="sourceLineNo">460</span> server.checkFileSystem();<a name="line.460"></a>
+<span class="sourceLineNo">461</span> return;<a name="line.461"></a>
+<span class="sourceLineNo">462</span> }<a name="line.462"></a>
+<span class="sourceLineNo">463</span> if (this.compaction == null) return; // nothing to do<a name="line.463"></a>
+<span class="sourceLineNo">464</span> // Now see if we are in correct pool for the size; if not, go to the correct one.<a name="line.464"></a>
+<span class="sourceLineNo">465</span> // We might end up waiting for a while, so cancel the selection.<a name="line.465"></a>
+<span class="sourceLineNo">466</span> assert this.compaction.hasSelection();<a name="line.466"></a>
+<span class="sourceLineNo">467</span> ThreadPoolExecutor pool = store.throttleCompaction(<a name="line.467"></a>
+<span class="sourceLineNo">468</span> compaction.getRequest().getSize()) ? longCompactions : shortCompactions;<a name="line.468"></a>
+<span class="sourceLineNo">469</span><a name="line.469"></a>
+<span class="sourceLineNo">470</span> // Long compaction pool can process small job<a name="line.470"></a>
+<span class="sourceLineNo">471</span> // Short compaction pool should not process large job<a name="line.471"></a>
+<span class="sourceLineNo">472</span> if (this.parent == shortCompactions && pool == longCompactions) {<a name="line.472"></a>
+<span class="sourceLineNo">473</span> this.store.cancelRequestedCompaction(this.compaction);<a name="line.473"></a>
+<span class="sourceLineNo">474</span> this.compaction = null;<a name="line.474"></a>
+<span class="sourceLineNo">475</span> this.parent = pool;<a name="line.475"></a>
+<span class="sourceLineNo">476</span> this.parent.execute(this);<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> }<a name="line.479"></a>
+<span class="sourceLineNo">480</span> // Finally we can compact something.<a name="line.480"></a>
+<span class="sourceLineNo">481</span> assert this.compaction != null;<a name="line.481"></a>
+<span class="sourceLineNo">482</span><a name="line.482"></a>
+<span class="sourceLineNo">483</span> this.compaction.getRequest().beforeExecute();<a name="line.483"></a>
+<span class="sourceLineNo">484</span> try {<a name="line.484"></a>
+<span class="sourceLineNo">485</span> // Note: please don't put single-compaction logic here;<a name="line.485"></a>
+<span class="sourceLineNo">486</span> // put it into region/store/etc. This is CST logic.<a name="line.486"></a>
+<span class="sourceLineNo">487</span> long start = EnvironmentEdgeManager.currentTime();<a name="line.487"></a>
+<span class="sourceLineNo">488</span> boolean completed =<a name="line.488"></a>
+<span class="sourceLineNo">489</span> region.compact(compaction, store, compactionThroughputController, user);<a name="line.489"></a>
+<span class="sourceLineNo">490</span> long now = EnvironmentEdgeManager.currentTime();<a name="line.490"></a>
+<span class="sourceLineNo">491</span> LOG.info(((completed) ? "Completed" : "Aborted") + " compaction: " +<a name="line.491"></a>
+<span class="sourceLineNo">492</span> this + "; duration=" + StringUtils.formatTimeDiff(now, start));<a name="line.492"></a>
+<span class="sourceLineNo">493</span> if (completed) {<a name="line.493"></a>
+<span class="sourceLineNo">494</span> // degenerate case: blocked regions require recursive enqueues<a name="line.494"></a>
+<span class="sourceLineNo">495</span> if (store.getCompactPriority() <= 0) {<a name="line.495"></a>
+<span class="sourceLineNo">496</span> requestSystemCompaction(region, store, "Recursive enqueue");<a name="line.496"></a>
+<span class="sourceLineNo">497</span> } else {<a name="line.497"></a>
+<span class="sourceLineNo">498</span> // see if the compaction has caused us to exceed max region size<a name="line.498"></a>
+<span class="sourceLineNo">499</span> requestSplit(region);<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> } catch (IOException ex) {<a name="line.502"></a>
+<span class="sourceLineNo">503</span> IOException remoteEx =<a name="line.503"></a>
+<span class="sourceLineNo">504</span> ex instanceof RemoteException ? ((RemoteException) ex).unwrapRemoteException() : ex;<a name="line.504"></a>
+<span class="sourceLineNo">505</span> LOG.error("Compaction failed " + this, remoteEx);<a name="line.505"></a>
+<span class="sourceLineNo">506</span> if (remoteEx != ex) {<a name="line.506"></a>
+<span class="sourceLineNo">507</span> LOG.info("Compaction failed at original callstack: " + formatStackTrace(ex));<a name="line.507"></a>
+<span class="sourceLineNo">508</span> }<a name="line.508"></a>
+<span class="sourceLineNo">509</span> region.reportCompactionRequestFailure();<a name="line.509"></a>
+<span class="sourceLineNo">510</span> server.checkFileSystem();<a name="line.510"></a>
+<span class="sourceLineNo">511</span> } catch (Exception ex) {<a name="line.511"></a>
+<span class="sourceLineNo">512</span> LOG.error("Compaction failed " + this, ex);<a name="line.512"></a>
+<span class="sourceLineNo">513</span> region.reportCompactionRequestFailure();<a name="line.513"></a>
+<span class="sourceLineNo">514</span> server.checkFileSystem();<a name="line.514"></a>
+<span class="sourceLineNo">515</span> } finally {<a name="line.515"></a>
+<span class="sourceLineNo">516</span> LOG.debug("CompactSplitThread Status: " + CompactSplitThread.this);<a name="line.516"></a>
+<span class="sourceLineNo">517</span> }<a name="line.517"></a>
+<span class="sourceLineNo">518</span> this.compaction.getRequest().afterExecute();<a name="line.518"></a>
+<span class="sourceLineNo">519</span> }<a name="line.519"></a>
+<span class="sourceLineNo">520</span><a name="line.520"></a>
+<span class="sourceLineNo">521</span> @Override<a name="line.521"></a>
+<span class="sourceLineNo">522</span> public void run() {<a name="line.522"></a>
+<span class="sourceLineNo">523</span> Preconditions.checkNotNull(server);<a name="line.523"></a>
+<span class="sourceLineNo">524</span> if (server.isStopped()<a name="line.524"></a>
+<span class="sourceLineNo">525</span> || (region.getTableDesc() != null && !region.getTableDesc().isCompactionEnabled())) {<a name="line.525"></a>
+<span class="sourceLineNo">526</span> return;<a name="line.526"></a>
+<span class="sourceLineNo">527</span> }<a name="line.527"></a>
+<span class="sourceLineNo">528</span> doCompaction(user);<a name="line.528"></a>
+<span class="sourceLineNo">529</span> }<a name="line.529"></a>
+<span class="sourceLineNo">530</span><a name="line.530"></a>
+<span class="sourceLineNo">531</span> private String formatStackTrace(Exception ex) {<a name="line.531"></a>
+<span class="sourceLineNo">532</span> StringWriter sw = new StringWriter();<a name="line.532"></a>
+<span class="sourceLineNo">533</span> PrintWriter pw = new PrintWriter(sw);<a name="line.533"></a>
+<span class="sourceLineNo">534</span> ex.printStackTrace(pw);<a name="line.534"></a>
+<span class="sourceLineNo">535</span> pw.flush();<a name="line.535"></a>
+<span class="sourceLineNo">536</span> return sw.toString();<a name="line.536"></a>
+<span class="sourceLineNo">537</span> }<a name="line.537"></a>
+<span class="sourceLineNo">538</span><a name="line.538"></a>
+<span class="sourceLineNo">539</span> @Override<a name="line.539"></a>
+<span class="sourceLineNo">540</span> public int compareTo(CompactionRunner o) {<a name="line.540"></a>
+<span class="sourceLineNo">541</span> // Only compare the underlying request (if any), for queue sorting purposes.<a name="line.541"></a>
+<span class="sourceLineNo">542</span> int compareVal = queuedPriority - o.queuedPriority; // compare priority<a name="line.542"></a>
+<span class="sourceLineNo">543</span> if (compareVal != 0) return compareVal;<a name="line.543"></a>
+<span class="sourceLineNo">544</span> CompactionContext tc = this.compaction, oc = o.compaction;<a name="line.544"></a>
+<span class="sourceLineNo">545</span> // Sort pre-selected (user?) compactions before system ones with equal priority.<a name="line.545"></a>
+<span class="sourceLineNo">546</span> return (tc == null) ? ((oc == null) ? 0 : 1)<a name="line.546"></a>
+<span class="sourceLineNo">547</span> : ((oc == null) ? -1 : tc.getRequest().compareTo(oc.getRequest()));<a name="line.547"></a>
+<span class="sourceLineNo">548</span> }<a name="line.548"></a>
+<span class="sourceLineNo">549</span> }<a name="line.549"></a>
+<span class="sourceLineNo">550</span><a name="line.550"></a>
+<span class="sourceLineNo">551</span> /**<a name="line.551"></a>
+<span class="sourceLineNo">552</span> * Cleanup class to use when rejecting a compaction request from the queue.<a name="line.552"></a>
+<span class="sourceLineNo">553</span> */<a name="line.553"></a>
+<span class="sourceLineNo">554</span> private static class Rejection implements RejectedExecutionHandler {<a name="line.554"></a>
+<span class="sourceLineNo">555</span> @Override<a name="line.555"></a>
+<span class="sourceLineNo">556</span> public void rejectedExecution(Runnable runnable, ThreadPoolExecutor pool) {<a name="line.556"></a>
+<span class="sourceLineNo">557</span> if (runnable instanceof CompactionRunner) {<a name="line.557"></a>
+<span class="sourceLineNo">558</span> CompactionRunner runner = (CompactionRunner)runnable;<a name="line.558"></a>
+<span class="sourceLineNo">559</span> LOG.debug("Compaction Rejected: " + runner);<a name="line.559"></a>
+<span class="sourceLineNo">560</span> runner.store.cancelRequestedCompaction(runner.compaction);<a name="line.560"></a>
+<span class="sourceLineNo">561</span> }<a name="line.561"></a>
+<span class="sourceLineNo">562</span> }<a name="line.562"></a>
+<span class="sourceLineNo">563</span> }<a name="line.563"></a>
+<span class="sourceLineNo">564</span><a name="line.564"></a>
+<span class="sourceLineNo">565</span> /**<a name="line.565"></a>
+<span class="sourceLineNo">566</span> * {@inheritDoc}<a name="line.566"></a>
+<span class="sourceLineNo">567</span> */<a name="line.567"></a>
+<span class="sourceLineNo">568</span> @Override<a name="line.568"></a>
+<span class="sourceLineNo">569</span> public void onConfigurationChange(Configuration newConf) {<a name="line.569"></a>
+<span class="sourceLineNo">570</span> // Check if number of large / small compaction threads has changed, and then<a name="line.570"></a>
+<span class="sourceLineNo">571</span> // adjust the core pool size of the thread pools, by using the<a name="line.571"></a>
+<span class="sourceLineNo">572</span> // setCorePoolSize() method. According to the javadocs, it is safe to<a name="line.572"></a>
+<span class="sourceLineNo">573</span> // change the core pool size on-the-fly. We need to reset the maximum<a name="line.573"></a>
+<span class="sourceLineNo">574</span> // pool size, as well.<a name="line.574"></a>
+<span class="sourceLineNo">575</span> int largeThreads = Math.max(1, newConf.getInt(<a name="line.575"></a>
+<span class="sourceLineNo">576</span> LARGE_COMPACTION_THREADS,<a name="line.576"></a>
+<span class="sourceLineNo">577</span> LARGE_COMPACTION_THREADS_DEFAULT));<a name="line.577"></a>
+<span class="sourceLineNo">578</span> if (this.longCompactions.getCorePoolSize() != largeThreads) {<a name="line.578"></a>
+<span class="sourceLineNo">579</span> LOG.info("Changing the value of " + LARGE_COMPACTION_THREADS +<a name="line.579"></a>
+<span class="sourceLineNo">580</span> " from " + this.longCompactions.getCorePoolSize() + " to " +<a name="line.580"></a>
+<span class="sourceLineNo">581</span> largeThreads);<a name="line.581"></a>
+<span class="sourceLineNo">582</span> if(this.longCompactions.getCorePoolSize() < largeThreads) {<a name="line.582"></a>
+<span class="sourceLineNo">583</span> this.longCompactions.setMaximumPoolSize(largeThreads);<a name="line.583"></a>
+<span class="sourceLineNo">584</span> this.longCompactions.setCorePoolSize(largeThreads);<a name="line.584"></a>
+<span class="sourceLineNo">585</span> } else {<a name="line.585"></a>
+<span class="sourceLineNo">586</span> this.longCompactions.setCorePoolSize(largeThreads);<a name="line.586"></a>
+<span class="sourceLineNo">587</span> this.longCompactions.setMaximumPoolSize(largeThreads);<a name="line.587"></a>
+<span class="sourceLineNo">588</span> }<a name="line.588"></a>
+<span class="sourceLineNo">589</span> }<a name="line.589"></a>
+<span class="sourceLineNo">590</span><a name="line.590"></a>
+<span class="sourceLineNo">591</span> int smallThreads = newConf.getInt(SMALL_COMPACTION_THREADS,<a name="line.591"></a>
+<span class="sourceLineNo">592</span> SMALL_COMPACTION_THREADS_DEFAULT);<a name="line.592"></a>
+<span class="sourceLineNo">593</span> if (this.shortCompactions.getCorePoolSize() != smallThreads) {<a name="line.593"></a>
+<span class="sourceLineNo">594</span> LOG.info("Changing the value of " + SMALL_COMPACTION_THREADS +<a name="line.594"></a>
+<span class="sourceLineNo">595</span> " from " + this.shortCompactions.getCorePoolSize() + " to " +<a name="line.595"></a>
+<span class="sourceLineNo">596</span> smallThreads);<a name="line.596"></a>
+<span class="sourceLineNo">597</span> if(this.shortCompactions.getCorePoolSize() < smallThreads) {<a name="line.597"></a>
+<span class="sourceLineNo">598</span> this.shortCompactions.setMaximumPoolSize(smallThreads);<a name="line.598"></a>
+<span class="sourceLineNo">599</span> this.shortCompactions.setCorePoolSize(smallThreads);<a name="line.599"></a>
+<span class="sourceLineNo">600</span> } else {<a name="line.600"></a>
+<span class="sourceLineNo">601</span> this.shortCompactions.setCorePoolSize(smallThreads);<a name="line.601"></a>
+<span class="sourceLineNo">602</span> this.shortCompactions.setMaximumPoolSize(smallThreads);<a name="line.602"></a>
+<span class="sourceLineNo">603</span> }<a name="line.603"></a>
+<span class="sourceLineNo">604</span> }<a name="line.604"></a>
+<span class="sourceLineNo">605</span><a name="line.605"></a>
+<span class="sourceLineNo">606</span> int splitThreads = newConf.getInt(SPLIT_THREADS,<a name="line.606"></a>
+<span class="sourceLineNo">607</span> SPLIT_THREADS_DEFAULT);<a name="line.607"></a>
+<span class="sourceLineNo">608</span> if (this.splits.getCorePoolSize() != splitThreads) {<a name="line.608"></a>
+<span class="sourceLineNo">609</span> LOG.info("Changing the value of " + SPLIT_THREADS +<a name="line.609"></a>
+<span class="sourceLineNo">610</span> " from " + this.splits.getCorePoolSize() + " to " +<a name="line.610"></a>
+<span class="sourceLineNo">611</span> splitThreads);<a name="line.611"></a>
+<span class="sourceLineNo">612</span> if(this.splits.getCorePoolSize() < splitThreads) {<a name="line.612"></a>
+<span class="sourceLineNo">613</span> this.splits.setMaximumPoolSize(splitThreads);<a name="line.613"></a>
+<span class="sourceLineNo">614</span> this.splits.setCorePoolSize(splitThreads);<a name="line.614"></a>
+<span class="sourceLineNo">615</span> } else {<a name="line.615"></a>
+<span class="sourceLineNo">616</span> this.splits.setCorePoolSize(splitThreads);<a name="line.616"></a>
+<span class="sourceLineNo">617</span> this.splits.setMaximumPoolSize(splitThreads);<a name="line.617"></a>
+<span class="sourceLineNo">618</span> }<a name="line.618"></a>
+<span class="sourceLineNo">619</span> }<a name="line.619"></a>
+<span class="sourceLineNo">620</span><a name="line.620"></a>
+<span class="sourceLineNo">621</span> ThroughputController old = this.compactionThroughputController;<a name="line.621"></a>
+<span class="sourceLineNo">622</span> if (old != null) {<a name="line.622"></a>
+<span class="sourceLineNo">623</span> old.stop("configuration change");<a name="line.623"></a>
+<span class="sourceLineNo">624</span> }<a name="line.624"></a>
+<span class="sourceLineNo">625</span> this.compactionThroughputController =<a name="line.625"></a>
+<span class="sourceLineNo">626</span> CompactionThroughputControllerFactory.create(server, newConf);<a name="line.626"></a>
+<span class="sourceLineNo">627</span><a name="line.627"></a>
+<span class="sourceLineNo">628</span> // We change this atomically here instead of reloading the config in order that upstream<a name="line.628"></a>
+<span class="sourceLineNo">629</span> // would be the only one with the flexibility to reload the config.<a name="line.629"></a>
+<span class="sourceLineNo">630</span> this.conf.reloadConfiguration();<a name="line.630"></a>
+<span class="sourceLineNo">631</span> }<a name="line.631"></a>
+<span class="sourceLineNo">632</span><a name="line.632"></a>
+<span class="sourceLineNo">633</span> protected int getSmallCompactionThreadNum() {<a name="line.633"></a>
+<span class="sourceLineNo">634</span> return this.shortCompactions.getCorePoolSize();<a name="line.634"></a>
+<span class="sourceLineNo">635</span> }<a name="line.635"></a>
+<span class="sourceLineNo">636</span><a name="line.636"></a>
+<span class="sourceLineNo">637</span> protected int getLargeCompactionThreadNum() {<a name="line.637"></a>
+<span class="sourceLineNo">638</span> return this.longCompactions.getCorePoolSize();<a name="line.638"></a>
+<span class="sourceLineNo">639</span> }<a name="line.639"></a>
+<span class="sourceLineNo">640</span><a name="line.640"></a>
+<span class="sourceLineNo">641</span> protected int getSplitThreadNum() {<a name="line.641"></a>
+<span class="sourceLineNo">642</span> return this.splits.getCorePoolSize();<a name="line.642"></a>
+<span class="sourceLineNo">643</span> }<a name="line.643"></a>
+<span class="sourceLineNo">644</span><a name="line.644"></a>
+<span class="sourceLineNo">645</span> /**<a name="line.645"></a>
+<span class="sourceLineNo">646</span> * {@inheritDoc}<a name="line.646"></a>
+<span class="sourceLineNo">647</span> */<a name="line.647"></a>
+<span class="sourceLineNo">648</span> @Override<a name="line.648"></a>
+<span class="sourceLineNo">649</span> public void registerChildren(ConfigurationManager manager) {<a name="line.649"></a>
+<span class="sourceLineNo">650</span> // No children to register.<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> /**<a name="line.653"></a>
+<span class="sourceLineNo">654</span> * {@inheritDoc}<a name="line.654"></a>
+<span class="sourceLineNo">655</span> */<a name="line.655"></a>
+<span class="sourceLineNo">656</span> @Override<a name="line.656"></a>
+<span class="sourceLineNo">657</span> public void deregisterChildren(ConfigurationManager manager) {<a name="line.657"></a>
+<span class="sourceLineNo">658</span> // No children to register<a name="line.658"></a>
+<span class="sourceLineNo">659</span> }<a name="line.659"></a>
+<span class="sourceLineNo">660</span><a name="line.660"></a>
+<span class="sourceLineNo">661</span> @VisibleForTesting<a name="line.661"></a>
+<span class="sourceLineNo">662</span> public ThroughputController getCompactionThroughputController() {<a name="line.662"></a>
+<span class="sourceLineNo">663</span> return compactionThroughputController;<a name="line.663"></a>
+<span class="sourceLineNo">664</span> }<a name="line.664"></a>
+<span class="sourceLineNo">665</span><a name="line.665"></a>
+<span class="sourceLineNo">666</span> @VisibleForTesting<a name="line.666"></a>
+<span class="sourceLineNo">667</span> /**<a name="line.667"></a>
+<span class="sourceLineNo">668</span> * Shutdown the long compaction thread pool.<a name="line.668"></a>
+<span class="sourceLineNo">669</span> * Should only be used in unit test to prevent long compaction thread pool from stealing job<a name="line.669"></a>
+<span class="sourceLineNo">670</span> * from short compaction queue<a name="line.670"></a>
+<span class="sourceLineNo">671</span> */<a name="line.671"></a>
+<span class="sourceLineNo">672</span> void shutdownLongCompactions(){<a name="line.672"></a>
+<span class="sourceLineNo">673</span> this.longCompactions.shutdown();<a name="line.673"></a>
+<span class="sourceLineNo">674</span> }<a name="line.674"></a>
+<span class="sourceLineNo">675</span>}<a name="line.675"></a>
[37/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html
index 92d61bd..4a7fb41 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2036">AsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2312">AsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer</a>
extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.TableProcedureBiConsumer</a></pre>
</li>
</ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.T
<ul class="blockListLast">
<li class="blockList">
<h4>AddColumnFamilyProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html#line.2038">AddColumnFamilyProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html#line.2314">AddColumnFamilyProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</pre>
</li>
</ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.T
<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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html#line.2042">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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html#line.2318">getOperationType</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html#getOperationType--">getOperationType</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.TableProcedureBiConsumer</a></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AdminRpcCall.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AdminRpcCall.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AdminRpcCall.html
index 11853c7..98e7aea 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AdminRpcCall.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.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/AsyncHBaseAdmin.html#line.241">AsyncHBaseAdmin.AdminRpcCall</a><RESP,REQ></pre>
+private static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.249">AsyncHBaseAdmin.AdminRpcCall</a><RESP,REQ></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 <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AdminRpcCall.html#line.242">call</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.Interface stub,
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AdminRpcCall.html#line.250">call</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.Interface stub,
<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a> controller,
<a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AdminRpcCall.html" title="type parameter in AsyncHBaseAdmin.AdminRpcCall">REQ</a> req,
org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback<<a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AdminRpcCall.html" title="type parameter in AsyncHBaseAdmin.AdminRpcCall">RESP</a>> done)</pre>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.Converter.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.Converter.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.Converter.html
index 36ca3f5..f2f2634 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.Converter.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.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/AsyncHBaseAdmin.html#line.247">AsyncHBaseAdmin.Converter</a><D,S></pre>
+private static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.255">AsyncHBaseAdmin.Converter</a><D,S></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/AsyncHBaseAdmin.Converter.html" title="type parameter in AsyncHBaseAdmin.Converter">D</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.Converter.html#line.248">convert</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.Converter.html" title="type parameter in AsyncHBaseAdmin.Converter">S</a> src)
+<pre><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.Converter.html" title="type parameter in AsyncHBaseAdmin.Converter">D</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.Converter.html#line.256">convert</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.Converter.html" title="type parameter in AsyncHBaseAdmin.Converter">S</a> 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/e2c783b2/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html
index 4d37334..5562e8b 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2069">AsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2345">AsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer</a>
extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.NamespaceProcedureBiConsumer</a></pre>
</li>
</ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.N
<ul class="blockListLast">
<li class="blockList">
<h4>CreateNamespaceProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html#line.2071">CreateNamespaceProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html#line.2347">CreateNamespaceProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> 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> namespaceName)</pre>
</li>
</ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.N
<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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html#line.2075">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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html#line.2351">getOperationType</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#getOperationType--">getOperationType</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.NamespaceProcedureBiConsumer</a></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateTableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateTableProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateTableProcedureBiConsumer.html
index fe0c4cb..2a94c30 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateTableProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateTableProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.1975">AsyncHBaseAdmin.CreateTableProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2251">AsyncHBaseAdmin.CreateTableProcedureBiConsumer</a>
extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.TableProcedureBiConsumer</a></pre>
</li>
</ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.T
<ul class="blockListLast">
<li class="blockList">
<h4>CreateTableProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateTableProcedureBiConsumer.html#line.1977">CreateTableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateTableProcedureBiConsumer.html#line.2253">CreateTableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</pre>
</li>
</ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.T
<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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateTableProcedureBiConsumer.html#line.1981">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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateTableProcedureBiConsumer.html#line.2257">getOperationType</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html#getOperationType--">getOperationType</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.TableProcedureBiConsumer</a></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html
index 68e1357..6012b5d 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2047">AsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2323">AsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer</a>
extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.TableProcedureBiConsumer</a></pre>
</li>
</ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.T
<ul class="blockListLast">
<li class="blockList">
<h4>DeleteColumnFamilyProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html#line.2049">DeleteColumnFamilyProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html#line.2325">DeleteColumnFamilyProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</pre>
</li>
</ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.T
<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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html#line.2053">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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html#line.2329">getOperationType</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html#getOperationType--">getOperationType</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.TableProcedureBiConsumer</a></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html
index e296295..668ccf3 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2080">AsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2356">AsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer</a>
extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.NamespaceProcedureBiConsumer</a></pre>
</li>
</ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.N
<ul class="blockListLast">
<li class="blockList">
<h4>DeleteNamespaceProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html#line.2082">DeleteNamespaceProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html#line.2358">DeleteNamespaceProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> 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> namespaceName)</pre>
</li>
</ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.N
<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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html#line.2086">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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html#line.2362">getOperationType</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#getOperationType--">getOperationType</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.NamespaceProcedureBiConsumer</a></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html
index f3f4448..5708ece 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.1986">AsyncHBaseAdmin.DeleteTableProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2262">AsyncHBaseAdmin.DeleteTableProcedureBiConsumer</a>
extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.TableProcedureBiConsumer</a></pre>
</li>
</ul>
@@ -244,7 +244,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.T
<ul class="blockListLast">
<li class="blockList">
<h4>DeleteTableProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html#line.1988">DeleteTableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html#line.2264">DeleteTableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</pre>
</li>
</ul>
@@ -262,7 +262,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.T
<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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html#line.1992">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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html#line.2268">getOperationType</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html#getOperationType--">getOperationType</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.TableProcedureBiConsumer</a></code></dd>
@@ -275,7 +275,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.T
<ul class="blockListLast">
<li class="blockList">
<h4>onFinished</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html#line.1997">onFinished</a>()</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html#line.2273">onFinished</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html#onFinished--">onFinished</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.TableProcedureBiConsumer</a></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DisableTableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DisableTableProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DisableTableProcedureBiConsumer.html
index be2866f..5058fd5 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DisableTableProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DisableTableProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2025">AsyncHBaseAdmin.DisableTableProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2301">AsyncHBaseAdmin.DisableTableProcedureBiConsumer</a>
extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.TableProcedureBiConsumer</a></pre>
</li>
</ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.T
<ul class="blockListLast">
<li class="blockList">
<h4>DisableTableProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DisableTableProcedureBiConsumer.html#line.2027">DisableTableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DisableTableProcedureBiConsumer.html#line.2303">DisableTableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</pre>
</li>
</ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.T
<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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DisableTableProcedureBiConsumer.html#line.2031">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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DisableTableProcedureBiConsumer.html#line.2307">getOperationType</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html#getOperationType--">getOperationType</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.TableProcedureBiConsumer</a></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.EnableTableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.EnableTableProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.EnableTableProcedureBiConsumer.html
index b695d28..d3f8163 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.EnableTableProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.EnableTableProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2014">AsyncHBaseAdmin.EnableTableProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2290">AsyncHBaseAdmin.EnableTableProcedureBiConsumer</a>
extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.TableProcedureBiConsumer</a></pre>
</li>
</ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.T
<ul class="blockListLast">
<li class="blockList">
<h4>EnableTableProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.EnableTableProcedureBiConsumer.html#line.2016">EnableTableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.EnableTableProcedureBiConsumer.html#line.2292">EnableTableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</pre>
</li>
</ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.T
<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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.EnableTableProcedureBiConsumer.html#line.2020">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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.EnableTableProcedureBiConsumer.html#line.2296">getOperationType</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html#getOperationType--">getOperationType</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.TableProcedureBiConsumer</a></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MasterRpcCall.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MasterRpcCall.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MasterRpcCall.html
index 984775a..b0b3eac 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MasterRpcCall.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.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/AsyncHBaseAdmin.html#line.235">AsyncHBaseAdmin.MasterRpcCall</a><RESP,REQ></pre>
+private static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.243">AsyncHBaseAdmin.MasterRpcCall</a><RESP,REQ></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 <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MasterRpcCall.html#line.236">call</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface stub,
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MasterRpcCall.html#line.244">call</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService.Interface stub,
<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a> controller,
<a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MasterRpcCall.html" title="type parameter in AsyncHBaseAdmin.MasterRpcCall">REQ</a> req,
org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback<<a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MasterRpcCall.html" title="type parameter in AsyncHBaseAdmin.MasterRpcCall">RESP</a>> done)</pre>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html
index 50682f5..3417270 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2102">AsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2378">AsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer</a>
extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.TableProcedureBiConsumer</a></pre>
</li>
</ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.T
<ul class="blockListLast">
<li class="blockList">
<h4>MergeTableRegionProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html#line.2104">MergeTableRegionProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html#line.2380">MergeTableRegionProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</pre>
</li>
</ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.T
<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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html#line.2108">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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html#line.2384">getOperationType</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html#getOperationType--">getOperationType</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.TableProcedureBiConsumer</a></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html
index 5799c85..4e38508 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2058">AsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2334">AsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer</a>
extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.TableProcedureBiConsumer</a></pre>
</li>
</ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.T
<ul class="blockListLast">
<li class="blockList">
<h4>ModifyColumnFamilyProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html#line.2060">ModifyColumnFamilyProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html#line.2336">ModifyColumnFamilyProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</pre>
</li>
</ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.T
<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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html#line.2064">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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html#line.2340">getOperationType</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html#getOperationType--">getOperationType</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.TableProcedureBiConsumer</a></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html
index 32268ee..278ebeb 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2091">AsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2367">AsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer</a>
extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.NamespaceProcedureBiConsumer</a></pre>
</li>
</ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.N
<ul class="blockListLast">
<li class="blockList">
<h4>ModifyNamespaceProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html#line.2093">ModifyNamespaceProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html#line.2369">ModifyNamespaceProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> 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> namespaceName)</pre>
</li>
</ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.N
<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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html#line.2097">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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html#line.2373">getOperationType</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#getOperationType--">getOperationType</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.NamespaceProcedureBiConsumer</a></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html
index 710038d..32b777c 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.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/AsyncHBaseAdmin.html#line.1950">AsyncHBaseAdmin.NamespaceProcedureBiConsumer</a>
+<pre>private abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2226">AsyncHBaseAdmin.NamespaceProcedureBiConsumer</a>
extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.ProcedureBiConsumer</a></pre>
</li>
</ul>
@@ -248,7 +248,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.P
<ul class="blockListLast">
<li class="blockList">
<h4>namespaceName</h4>
-<pre>protected final <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/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.1951">namespaceName</a></pre>
+<pre>protected final <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/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.2227">namespaceName</a></pre>
</li>
</ul>
</li>
@@ -265,7 +265,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.P
<ul class="blockListLast">
<li class="blockList">
<h4>NamespaceProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.1953">NamespaceProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.2229">NamespaceProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> 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> namespaceName)</pre>
</li>
</ul>
@@ -283,7 +283,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.P
<ul class="blockList">
<li class="blockList">
<h4>getOperationType</h4>
-<pre>abstract <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/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.1958">getOperationType</a>()</pre>
+<pre>abstract <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/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.2234">getOperationType</a>()</pre>
</li>
</ul>
<a name="getDescription--">
@@ -292,7 +292,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.P
<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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.1960">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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.2236">getDescription</a>()</pre>
</li>
</ul>
<a name="onFinished--">
@@ -301,7 +301,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.P
<ul class="blockList">
<li class="blockList">
<h4>onFinished</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.1965">onFinished</a>()</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.2241">onFinished</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html#onFinished--">onFinished</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.ProcedureBiConsumer</a></code></dd>
@@ -314,7 +314,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.P
<ul class="blockListLast">
<li class="blockList">
<h4>onError</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.1970">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> error)</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html#line.2246">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> error)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html#onError-java.lang.Throwable-">onError</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.ProcedureBiConsumer</a></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html
index fed5f99..ef8d291 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.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/AsyncHBaseAdmin.html#line.1903">AsyncHBaseAdmin.ProcedureBiConsumer</a>
+<pre>private abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2179">AsyncHBaseAdmin.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><<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>></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 <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/AsyncHBaseAdmin.ProcedureBiConsumer.html#line.1904">admin</a></pre>
+<pre>protected final <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/AsyncHBaseAdmin.ProcedureBiConsumer.html#line.2180">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/AsyncHBaseAdmin.ProcedureBiConsumer.html#line.1906">ProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin)</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html#line.2182">ProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> 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 void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html#line.1910">onFinished</a>()</pre>
+<pre>abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html#line.2186">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 void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html#line.1912">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> error)</pre>
+<pre>abstract void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html#line.2188">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> 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 void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html#line.1915">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> v,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html#line.2191">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> 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> error)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableOperator.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableOperator.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableOperator.html
index 3b18507..3276cdf 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableOperator.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.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/AsyncHBaseAdmin.html#line.309">AsyncHBaseAdmin.TableOperator</a></pre>
+private static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.317">AsyncHBaseAdmin.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><<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="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableOperator.html#line.310">operate</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> 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><<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="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableOperator.html#line.318">operate</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> table)</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html
index cbca19d..088b512 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.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/AsyncHBaseAdmin.html#line.1924">AsyncHBaseAdmin.TableProcedureBiConsumer</a>
+<pre>private abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2200">AsyncHBaseAdmin.TableProcedureBiConsumer</a>
extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.ProcedureBiConsumer</a></pre>
</li>
</ul>
@@ -248,7 +248,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.P
<ul class="blockListLast">
<li class="blockList">
<h4>tableName</h4>
-<pre>protected final <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/AsyncHBaseAdmin.TableProcedureBiConsumer.html#line.1925">tableName</a></pre>
+<pre>protected final <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/AsyncHBaseAdmin.TableProcedureBiConsumer.html#line.2201">tableName</a></pre>
</li>
</ul>
</li>
@@ -265,7 +265,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.P
<ul class="blockListLast">
<li class="blockList">
<h4>TableProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html#line.1927">TableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html#line.2203">TableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</pre>
</li>
</ul>
@@ -283,7 +283,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.P
<ul class="blockList">
<li class="blockList">
<h4>getOperationType</h4>
-<pre>abstract <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/AsyncHBaseAdmin.TableProcedureBiConsumer.html#line.1932">getOperationType</a>()</pre>
+<pre>abstract <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/AsyncHBaseAdmin.TableProcedureBiConsumer.html#line.2208">getOperationType</a>()</pre>
</li>
</ul>
<a name="getDescription--">
@@ -292,7 +292,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.P
<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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html#line.1934">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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html#line.2210">getDescription</a>()</pre>
</li>
</ul>
<a name="onFinished--">
@@ -301,7 +301,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.P
<ul class="blockList">
<li class="blockList">
<h4>onFinished</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html#line.1940">onFinished</a>()</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html#line.2216">onFinished</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html#onFinished--">onFinished</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.ProcedureBiConsumer</a></code></dd>
@@ -314,7 +314,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.P
<ul class="blockListLast">
<li class="blockList">
<h4>onError</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html#line.1945">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> error)</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html#line.2221">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> error)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html#onError-java.lang.Throwable-">onError</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.ProcedureBiConsumer</a></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html
index 6aaedb4..14c5304 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html
@@ -127,7 +127,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2003">AsyncHBaseAdmin.TruncateTableProcedureBiConsumer</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.2279">AsyncHBaseAdmin.TruncateTableProcedureBiConsumer</a>
extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.TableProcedureBiConsumer</a></pre>
</li>
</ul>
@@ -240,7 +240,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.T
<ul class="blockListLast">
<li class="blockList">
<h4>TruncateTableProcedureBiConsumer</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html#line.2005">TruncateTableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html#line.2281">TruncateTableProcedureBiConsumer</a>(<a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html" title="interface in org.apache.hadoop.hbase.client">AsyncAdmin</a> admin,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</pre>
</li>
</ul>
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.T
<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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html#line.2009">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> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TruncateTableProcedureBiConsumer.html#line.2285">getOperationType</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html#getOperationType--">getOperationType</a></code> in class <code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.TableProcedureBiConsumer</a></code></dd>
[14/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html
index 8750fa2..4fd4af0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableProcedureBiConsumer.html
@@ -48,2133 +48,2409 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span>import io.netty.util.Timeout;<a name="line.41"></a>
<span class="sourceLineNo">042</span>import io.netty.util.TimerTask;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.commons.logging.Log;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.commons.logging.LogFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ServerName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.HConstants;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>/**<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * The implementation of AsyncAdmin.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@InterfaceAudience.Private<a name="line.185"></a>
-<span class="sourceLineNo">186</span>@InterfaceStability.Evolving<a name="line.186"></a>
-<span class="sourceLineNo">187</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.187"></a>
+<span class="sourceLineNo">043</span>import org.apache.commons.io.IOUtils;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.commons.logging.Log;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.commons.logging.LogFactory;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ServerName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HConstants;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.TableName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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.snapshot.ClientSnapshotDescriptionUtils;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.187"></a>
<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> private final AsyncConnectionImpl connection;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span> private final RawAsyncTable metaTable;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final long rpcTimeoutNs;<a name="line.195"></a>
+<span class="sourceLineNo">189</span>/**<a name="line.189"></a>
+<span class="sourceLineNo">190</span> * The implementation of AsyncAdmin.<a name="line.190"></a>
+<span class="sourceLineNo">191</span> */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>@InterfaceAudience.Private<a name="line.192"></a>
+<span class="sourceLineNo">193</span>@InterfaceStability.Evolving<a name="line.193"></a>
+<span class="sourceLineNo">194</span>public class AsyncHBaseAdmin 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 final long operationTimeoutNs;<a name="line.197"></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 long pauseNs;<a name="line.199"></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 int maxAttempts;<a name="line.201"></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 int startLogErrorsCnt;<a name="line.203"></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 NonceGenerator ng;<a name="line.205"></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> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> this.connection = connection;<a name="line.208"></a>
-<span class="sourceLineNo">209</span> this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> this.rpcTimeoutNs = connection.connConf.getRpcTimeoutNs();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.212"></a>
-<span class="sourceLineNo">213</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.213"></a>
-<span class="sourceLineNo">214</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<a name="line.214"></a>
-<span class="sourceLineNo">215</span> this.ng = connection.getNonceGenerator();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> return this.connection.callerFactory.<T> masterRequest()<a name="line.219"></a>
-<span class="sourceLineNo">220</span> .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startLogErrorsCnt(startLogErrorsCnt);<a name="line.223"></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">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> private final int startLogErrorsCnt;<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">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<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 = connection.connConf.getRpcTimeoutNs();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.219"></a>
+<span class="sourceLineNo">220</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.220"></a>
+<span class="sourceLineNo">221</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.221"></a>
+<span class="sourceLineNo">222</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<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 <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> adminRequest()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> 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> @FunctionalInterface<a name="line.234"></a>
-<span class="sourceLineNo">235</span> private interface MasterRpcCall<RESP, REQ> {<a name="line.235"></a>
-<span class="sourceLineNo">236</span> void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.236"></a>
-<span class="sourceLineNo">237</span> RpcCallback<RESP> done);<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> @FunctionalInterface<a name="line.240"></a>
-<span class="sourceLineNo">241</span> private interface AdminRpcCall<RESP, REQ> {<a name="line.241"></a>
-<span class="sourceLineNo">242</span> void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> RpcCallback<RESP> done);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span> @FunctionalInterface<a name="line.246"></a>
-<span class="sourceLineNo">247</span> private interface Converter<D, S> {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> D convert(S src) throws IOException;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.251"></a>
-<span class="sourceLineNo">252</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.252"></a>
-<span class="sourceLineNo">253</span> Converter<RESP, PRESP> respConverter) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.254"></a>
-<span class="sourceLineNo">255</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> @Override<a name="line.257"></a>
-<span class="sourceLineNo">258</span> public void run(PRESP resp) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span> if (controller.failed()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span> future.completeExceptionally(controller.getFailed());<a name="line.260"></a>
-<span class="sourceLineNo">261</span> } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> future.complete(respConverter.convert(resp));<a name="line.263"></a>
-<span class="sourceLineNo">264</span> } catch (IOException e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span> future.completeExceptionally(e);<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> }<a name="line.268"></a>
-<span class="sourceLineNo">269</span> });<a name="line.269"></a>
-<span class="sourceLineNo">270</span> return future;<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> //TODO abstract call and adminCall into a single method.<a name="line.273"></a>
-<span class="sourceLineNo">274</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.274"></a>
-<span class="sourceLineNo">275</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.275"></a>
-<span class="sourceLineNo">276</span> Converter<RESP, PRESP> respConverter) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.279"></a>
+<span class="sourceLineNo">234</span> private <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.connection.callerFactory.<T> 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<RESP, REQ> {<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<RESP> done);<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<RESP, REQ> {<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<RESP> 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<D, S> {<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 <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.259"></a>
+<span class="sourceLineNo">260</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.260"></a>
+<span class="sourceLineNo">261</span> Converter<RESP, PRESP> respConverter) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.262"></a>
+<span class="sourceLineNo">263</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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> @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span> public void run(PRESP resp) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span> if (controller.failed()) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.284"></a>
-<span class="sourceLineNo">285</span> } else {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> future.complete(respConverter.convert(resp));<a name="line.287"></a>
-<span class="sourceLineNo">288</span> } catch (IOException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span> future.completeExceptionally(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span> }<a name="line.290"></a>
-<span class="sourceLineNo">291</span> }<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> return future;<a name="line.294"></a>
-<span class="sourceLineNo">295</span> }<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.298"></a>
-<span class="sourceLineNo">299</span> ProcedureBiConsumer consumer) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> CompletableFuture<Long> procFuture = this<a name="line.300"></a>
-<span class="sourceLineNo">301</span> .<Long> newMasterCaller()<a name="line.301"></a>
-<span class="sourceLineNo">302</span> .action(<a name="line.302"></a>
-<span class="sourceLineNo">303</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> respConverter)).call();<a name="line.304"></a>
-<span class="sourceLineNo">305</span> return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> @FunctionalInterface<a name="line.308"></a>
-<span class="sourceLineNo">309</span> private interface TableOperator {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> CompletableFuture<Void> operate(TableName table);<a name="line.310"></a>
-<span class="sourceLineNo">311</span> }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.313"></a>
-<span class="sourceLineNo">314</span> TableOperator operator, String operationType) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.315"></a>
-<span class="sourceLineNo">316</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> listTables(pattern, false).whenComplete(<a name="line.317"></a>
-<span class="sourceLineNo">318</span> (tables, error) -> {<a name="line.318"></a>
-<span class="sourceLineNo">319</span> if (error != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> future.completeExceptionally(error);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> return;<a name="line.321"></a>
-<span class="sourceLineNo">322</span> }<a name="line.322"></a>
-<span class="sourceLineNo">323</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.323"></a>
-<span class="sourceLineNo">324</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<a name="line.324"></a>
-<span class="sourceLineNo">325</span> if (ex != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.326"></a>
-<span class="sourceLineNo">327</span> failed.add(table);<a name="line.327"></a>
-<span class="sourceLineNo">328</span> }<a name="line.328"></a>
-<span class="sourceLineNo">329</span> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<a name="line.331"></a>
-<span class="sourceLineNo">332</span> });<a name="line.332"></a>
-<span class="sourceLineNo">333</span> });<a name="line.333"></a>
-<span class="sourceLineNo">334</span> return future;<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 AsyncConnectionImpl getConnection() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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<TableDescriptor[]> listTables() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return listTables((Pattern) null, false);<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<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> return listTables(Pattern.compile(regex), false);<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<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return this<a name="line.359"></a>
-<span class="sourceLineNo">360</span> .<TableDescriptor[]>newMasterCaller()<a name="line.360"></a>
-<span class="sourceLineNo">361</span> .action(<a name="line.361"></a>
-<span class="sourceLineNo">362</span> (controller, stub) -> this<a name="line.362"></a>
-<span class="sourceLineNo">363</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.363"></a>
-<span class="sourceLineNo">364</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.365"></a>
-<span class="sourceLineNo">366</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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<TableName[]> listTableNames() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span> return listTableNames((Pattern) null, false);<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<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> return listTableNames(Pattern.compile(regex), false);<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<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span> .<TableName[]>newMasterCaller()<a name="line.382"></a>
-<span class="sourceLineNo">383</span> .action(<a name="line.383"></a>
-<span class="sourceLineNo">384</span> (controller, stub) -> this<a name="line.384"></a>
-<span class="sourceLineNo">385</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.385"></a>
-<span class="sourceLineNo">386</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.386"></a>
-<span class="sourceLineNo">387</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.387"></a>
-<span class="sourceLineNo">388</span> .getTableNameArray(resp.getTableNamesList()))).call();<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<TableDescriptor> getTableDescriptor(TableName tableName) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> CompletableFuture<TableDescriptor> future = new CompletableFuture<>();<a name="line.393"></a>
-<span class="sourceLineNo">394</span> this.<List<TableSchema>> newMasterCaller()<a name="line.394"></a>
-<span class="sourceLineNo">395</span> .action(<a name="line.395"></a>
-<span class="sourceLineNo">396</span> (controller, stub) -> this<a name="line.396"></a>
-<span class="sourceLineNo">397</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, List<TableSchema>> call(<a name="line.397"></a>
-<span class="sourceLineNo">398</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.398"></a>
-<span class="sourceLineNo">399</span> c, req, done) -> s.getTableDescriptors(c, req, done), (resp) -> resp<a name="line.399"></a>
-<span class="sourceLineNo">400</span> .getTableSchemaList())).call().whenComplete((tableSchemas, error) -> {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> if (error != null) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> future.completeExceptionally(error);<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> if (!tableSchemas.isEmpty()) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.406"></a>
-<span class="sourceLineNo">407</span> } else {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<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> return future;<a name="line.411"></a>
-<span class="sourceLineNo">412</span> }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> @Override<a name="line.414"></a>
-<span class="sourceLineNo">415</span> public CompletableFuture<Void> createTable(TableDescriptor desc) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return createTable(desc, null);<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> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.420"></a>
-<span class="sourceLineNo">421</span> int numRegions) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> try {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> return createTable(desc, getSplitKeys(startKey, endKey, numRegions));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> } catch (IllegalArgumentException e) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span> return failedFuture(e);<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><a name="line.428"></a>
-<span class="sourceLineNo">429</span> @Override<a name="line.429"></a>
-<span class="sourceLineNo">430</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span> if (desc.getTableName() == null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (splitKeys != null && splitKeys.length > 0) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);<a name="line.435"></a>
-<span class="sourceLineNo">436</span> // Verify there are no duplicate split keys<a name="line.436"></a>
-<span class="sourceLineNo">437</span> byte[] lastKey = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> for (byte[] splitKey : splitKeys) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> if (Bytes.compareTo(splitKey, HConstants.EMPTY_BYTE_ARRAY) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> return failedFuture(new IllegalArgumentException(<a name="line.440"></a>
-<span class="sourceLineNo">441</span> "Empty split key must not be passed in the split keys."));<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> if (lastKey != null && Bytes.equals(splitKey, lastKey)) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span> return failedFuture(new IllegalArgumentException("All split keys must be unique, "<a name="line.444"></a>
-<span class="sourceLineNo">445</span> + "found duplicate: " + Bytes.toStringBinary(splitKey) + ", "<a name="line.445"></a>
-<span class="sourceLineNo">446</span> + Bytes.toStringBinary(lastKey)));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> }<a name="line.447"></a>
-<span class="sourceLineNo">448</span> lastKey = splitKey;<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><a name="line.451"></a>
-<span class="sourceLineNo">452</span> return this.<CreateTableRequest, CreateTableResponse> procedureCall(<a name="line.452"></a>
-<span class="sourceLineNo">453</span> RequestConverter.buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()),<a name="line.453"></a>
-<span class="sourceLineNo">454</span> (s, c, req, done) -> s.createTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.454"></a>
-<span class="sourceLineNo">455</span> new CreateTableProcedureBiConsumer(this, desc.getTableName()));<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<Void> deleteTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return this.<DeleteTableRequest, DeleteTableResponse> procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span> .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span> (s, c, req, done) -> s.deleteTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span> new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
+<span class="sourceLineNo">281</span> //TODO abstract call and adminCall into a single method.<a name="line.281"></a>
+<span class="sourceLineNo">282</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.282"></a>
+<span class="sourceLineNo">283</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Converter<RESP, PRESP> respConverter) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.286"></a>
+<span class="sourceLineNo">287</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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 void run(PRESP resp) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (controller.failed()) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> try {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> future.complete(respConverter.convert(resp));<a name="line.295"></a>
+<span class="sourceLineNo">296</span> } catch (IOException e) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span> future.completeExceptionally(e);<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> });<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return future;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.305"></a>
+<span class="sourceLineNo">306</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.306"></a>
+<span class="sourceLineNo">307</span> ProcedureBiConsumer consumer) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> CompletableFuture<Long> procFuture = this<a name="line.308"></a>
+<span class="sourceLineNo">309</span> .<Long> newMasterCaller()<a name="line.309"></a>
+<span class="sourceLineNo">310</span> .action(<a name="line.310"></a>
+<span class="sourceLineNo">311</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.311"></a>
+<span class="sourceLineNo">312</span> respConverter)).call();<a name="line.312"></a>
+<span class="sourceLineNo">313</span> return waitProcedureResult(procFuture).whenComplete(consumer);<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> @FunctionalInterface<a name="line.316"></a>
+<span class="sourceLineNo">317</span> private interface TableOperator {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> CompletableFuture<Void> operate(TableName table);<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> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.321"></a>
+<span class="sourceLineNo">322</span> TableOperator operator, String operationType) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> listTables(pattern, false).whenComplete(<a name="line.325"></a>
+<span class="sourceLineNo">326</span> (tables, error) -> {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> if (error != null) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> future.completeExceptionally(error);<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return;<a name="line.329"></a>
+<span class="sourceLineNo">330</span> }<a name="line.330"></a>
+<span class="sourceLineNo">331</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.331"></a>
+<span class="sourceLineNo">332</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<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> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.337"></a>
+<span class="sourceLineNo">338</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.338"></a>
+<span class="sourceLineNo">339</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<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 AsyncConnectionImpl getConnection() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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> @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span> public CompletableFuture<TableDescriptor[]> listTables() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span> return listTables((Pattern) null, false);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span> public CompletableFuture<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return listTables(Pattern.compile(regex), false);<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> @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public CompletableFuture<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span> .<TableDescriptor[]>newMasterCaller()<a name="line.368"></a>
+<span class="sourceLineNo">369</span> .action(<a name="line.369"></a>
+<span class="sourceLineNo">370</span> (controller, stub) -> this<a name="line.370"></a>
+<span class="sourceLineNo">371</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.371"></a>
+<span class="sourceLineNo">372</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.372"></a>
+<span class="sourceLineNo">373</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.373"></a>
+<span class="sourceLineNo">374</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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> @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span> public CompletableFuture<TableName[]> listTableNames() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> return listTableNames((Pattern) null, false);<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> @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public CompletableFuture<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> return listTableNames(Pattern.compile(regex), false);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public CompletableFuture<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return this<a name="line.389"></a>
+<span class="sourceLineNo">390</span> .<TableName[]>newMasterCaller()<a name="line.390"></a>
+<span class="sourceLineNo">391</span> .action(<a name="line.391"></a>
+<span class="sourceLineNo">392</span> (controller, stub) -> this<a name="line.392"></a>
+<span class="sourceLineNo">393</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.393"></a>
+<span class="sourceLineNo">394</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.394"></a>
+<span class="sourceLineNo">395</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.395"></a>
+<span class="sourceLineNo">396</span> .getTableNameArray(resp.getTableNamesList()))).call();<a name="line.396"></a>
+<span class="sourceLineNo
<TRUNCATED>
[32/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 84aca73..ade512b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html
@@ -414,397 +414,482 @@
<span class="sourceLineNo">406</span> CompletableFuture<Void> closeRegion(ServerName sn, HRegionInfo hri);<a name="line.406"></a>
<span class="sourceLineNo">407</span><a name="line.407"></a>
<span class="sourceLineNo">408</span> /**<a name="line.408"></a>
-<span class="sourceLineNo">409</span> * Merge two regions.<a name="line.409"></a>
-<span class="sourceLineNo">410</span> * @param nameOfRegionA encoded or full name of region a<a name="line.410"></a>
-<span class="sourceLineNo">411</span> * @param nameOfRegionB encoded or full name of region b<a name="line.411"></a>
-<span class="sourceLineNo">412</span> * @param forcible true if do a compulsory merge, otherwise we will only merge two adjacent<a name="line.412"></a>
-<span class="sourceLineNo">413</span> * regions<a name="line.413"></a>
-<span class="sourceLineNo">414</span> */<a name="line.414"></a>
-<span class="sourceLineNo">415</span> CompletableFuture<Void> mergeRegions(final byte[] nameOfRegionA, final byte[] nameOfRegionB,<a name="line.415"></a>
-<span class="sourceLineNo">416</span> final boolean forcible);<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> * Split a table. The method will execute split action for each region in table.<a name="line.419"></a>
-<span class="sourceLineNo">420</span> * @param tableName table to split<a name="line.420"></a>
-<span class="sourceLineNo">421</span> */<a name="line.421"></a>
-<span class="sourceLineNo">422</span> CompletableFuture<Void> split(final TableName tableName);<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> * Split an individual region.<a name="line.425"></a>
-<span class="sourceLineNo">426</span> * @param regionName region to split<a name="line.426"></a>
-<span class="sourceLineNo">427</span> */<a name="line.427"></a>
-<span class="sourceLineNo">428</span> CompletableFuture<Void> splitRegion(final byte[] regionName);<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> * Split a table.<a name="line.431"></a>
-<span class="sourceLineNo">432</span> * @param tableName table to split<a name="line.432"></a>
-<span class="sourceLineNo">433</span> * @param splitPoint the explicit position to split on<a name="line.433"></a>
-<span class="sourceLineNo">434</span> */<a name="line.434"></a>
-<span class="sourceLineNo">435</span> CompletableFuture<Void> split(final TableName tableName, final byte[] splitPoint);<a name="line.435"></a>
-<span class="sourceLineNo">436</span><a name="line.436"></a>
-<span class="sourceLineNo">437</span> /**<a name="line.437"></a>
-<span class="sourceLineNo">438</span> * Split an individual region.<a name="line.438"></a>
-<span class="sourceLineNo">439</span> * @param regionName region to split<a name="line.439"></a>
-<span class="sourceLineNo">440</span> * @param splitPoint the explicit position to split on<a name="line.440"></a>
+<span class="sourceLineNo">409</span> * Get all the online regions on a region server.<a name="line.409"></a>
+<span class="sourceLineNo">410</span> */<a name="line.410"></a>
+<span class="sourceLineNo">411</span> CompletableFuture<List<HRegionInfo>> getOnlineRegions(ServerName sn);<a name="line.411"></a>
+<span class="sourceLineNo">412</span><a name="line.412"></a>
+<span class="sourceLineNo">413</span> /**<a name="line.413"></a>
+<span class="sourceLineNo">414</span> * Flush a table.<a name="line.414"></a>
+<span class="sourceLineNo">415</span> * @param tableName table to flush<a name="line.415"></a>
+<span class="sourceLineNo">416</span> */<a name="line.416"></a>
+<span class="sourceLineNo">417</span> CompletableFuture<Void> flush(TableName tableName);<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> * Flush an individual region.<a name="line.420"></a>
+<span class="sourceLineNo">421</span> * @param regionName region to flush<a name="line.421"></a>
+<span class="sourceLineNo">422</span> */<a name="line.422"></a>
+<span class="sourceLineNo">423</span> CompletableFuture<Void> flushRegion(byte[] regionName);<a name="line.423"></a>
+<span class="sourceLineNo">424</span><a name="line.424"></a>
+<span class="sourceLineNo">425</span> /**<a name="line.425"></a>
+<span class="sourceLineNo">426</span> * Compact a table. Asynchronous operation even if CompletableFuture.get().<a name="line.426"></a>
+<span class="sourceLineNo">427</span> * @param tableName table to compact<a name="line.427"></a>
+<span class="sourceLineNo">428</span> */<a name="line.428"></a>
+<span class="sourceLineNo">429</span> CompletableFuture<Void> compact(TableName 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> * Compact a column family within a table. Asynchronous operation even if CompletableFuture.get().<a name="line.432"></a>
+<span class="sourceLineNo">433</span> * @param tableName table to compact<a name="line.433"></a>
+<span class="sourceLineNo">434</span> * @param columnFamily column family within a table<a name="line.434"></a>
+<span class="sourceLineNo">435</span> */<a name="line.435"></a>
+<span class="sourceLineNo">436</span> CompletableFuture<Void> compact(TableName tableName, byte[] columnFamily);<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> * Compact an individual region. Asynchronous operation even if CompletableFuture.get().<a name="line.439"></a>
+<span class="sourceLineNo">440</span> * @param regionName region to compact<a name="line.440"></a>
<span class="sourceLineNo">441</span> */<a name="line.441"></a>
-<span class="sourceLineNo">442</span> CompletableFuture<Void> splitRegion(final byte[] regionName, final byte[] splitPoint);<a name="line.442"></a>
+<span class="sourceLineNo">442</span> CompletableFuture<Void> compactRegion(byte[] regionName);<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> * @param regionName Encoded or full name of region to assign.<a name="line.445"></a>
-<span class="sourceLineNo">446</span> */<a name="line.446"></a>
-<span class="sourceLineNo">447</span> CompletableFuture<Void> assign(final byte[] regionName);<a name="line.447"></a>
-<span class="sourceLineNo">448</span><a name="line.448"></a>
-<span class="sourceLineNo">449</span> /**<a name="line.449"></a>
-<span class="sourceLineNo">450</span> * Unassign a region from current hosting regionserver. Region will then be assigned to a<a name="line.450"></a>
-<span class="sourceLineNo">451</span> * regionserver chosen at random. Region could be reassigned back to the same server. Use<a name="line.451"></a>
-<span class="sourceLineNo">452</span> * {@link #move(byte[], byte[])} if you want to control the region movement.<a name="line.452"></a>
-<span class="sourceLineNo">453</span> * @param regionName Encoded or full name of region to unassign. Will clear any existing<a name="line.453"></a>
-<span class="sourceLineNo">454</span> * RegionPlan if one found.<a name="line.454"></a>
-<span class="sourceLineNo">455</span> * @param force If true, force unassign (Will remove region from regions-in-transition too if<a name="line.455"></a>
-<span class="sourceLineNo">456</span> * present. If results in double assignment use hbck -fix to resolve. To be used by<a name="line.456"></a>
-<span class="sourceLineNo">457</span> * experts).<a name="line.457"></a>
-<span class="sourceLineNo">458</span> */<a name="line.458"></a>
-<span class="sourceLineNo">459</span> CompletableFuture<Void> unassign(final byte[] regionName, final boolean force);<a name="line.459"></a>
-<span class="sourceLineNo">460</span><a name="line.460"></a>
-<span class="sourceLineNo">461</span> /**<a name="line.461"></a>
-<span class="sourceLineNo">462</span> * Offline specified region from master's in-memory state. It will not attempt to reassign the<a name="line.462"></a>
-<span class="sourceLineNo">463</span> * region as in unassign. This API can be used when a region not served by any region server and<a name="line.463"></a>
-<span class="sourceLineNo">464</span> * still online as per Master's in memory state. If this API is incorrectly used on active region<a name="line.464"></a>
-<span class="sourceLineNo">465</span> * then master will loose track of that region. This is a special method that should be used by<a name="line.465"></a>
-<span class="sourceLineNo">466</span> * experts or hbck.<a name="line.466"></a>
-<span class="sourceLineNo">467</span> * @param regionName Encoded or full name of region to offline<a name="line.467"></a>
-<span class="sourceLineNo">468</span> */<a name="line.468"></a>
-<span class="sourceLineNo">469</span> CompletableFuture<Void> offline(final byte[] regionName);<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> * Move the region <code>r</code> to <code>dest</code>.<a name="line.472"></a>
-<span class="sourceLineNo">473</span> * @param regionName Encoded or full name of region to move.<a name="line.473"></a>
-<span class="sourceLineNo">474</span> * @param destServerName The servername of the destination regionserver. If passed the empty byte<a name="line.474"></a>
-<span class="sourceLineNo">475</span> * array we'll assign to a random server. A server name is made of host, port and<a name="line.475"></a>
-<span class="sourceLineNo">476</span> * startcode. Here is an example: <code> host187.example.com,60020,1289493121758</code><a name="line.476"></a>
-<span class="sourceLineNo">477</span> */<a name="line.477"></a>
-<span class="sourceLineNo">478</span> CompletableFuture<Void> move(final byte[] regionName, final byte[] destServerName);<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span> /**<a name="line.480"></a>
-<span class="sourceLineNo">481</span> * Apply the new quota settings.<a name="line.481"></a>
-<span class="sourceLineNo">482</span> * @param quota the quota settings<a name="line.482"></a>
-<span class="sourceLineNo">483</span> */<a name="line.483"></a>
-<span class="sourceLineNo">484</span> CompletableFuture<Void> setQuota(final QuotaSettings quota);<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> * List the quotas based on the filter.<a name="line.487"></a>
-<span class="sourceLineNo">488</span> * @param filter the quota settings filter<a name="line.488"></a>
-<span class="sourceLineNo">489</span> * @return the QuotaSetting list, which wrapped by a CompletableFuture.<a name="line.489"></a>
+<span class="sourceLineNo">445</span> * Compact a column family within a region. Asynchronous operation even if<a name="line.445"></a>
+<span class="sourceLineNo">446</span> * CompletableFuture.get().<a name="line.446"></a>
+<span class="sourceLineNo">447</span> * @param regionName region to compact<a name="line.447"></a>
+<span class="sourceLineNo">448</span> * @param columnFamily column family within a region<a name="line.448"></a>
+<span class="sourceLineNo">449</span> */<a name="line.449"></a>
+<span class="sourceLineNo">450</span> CompletableFuture<Void> compactRegion(byte[] regionName, byte[] columnFamily);<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> * Major compact a table. Asynchronous operation even if CompletableFuture.get().<a name="line.453"></a>
+<span class="sourceLineNo">454</span> * @param tableName table to major compact<a name="line.454"></a>
+<span class="sourceLineNo">455</span> */<a name="line.455"></a>
+<span class="sourceLineNo">456</span> CompletableFuture<Void> majorCompact(TableName tableName);<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> * Major compact a column family within a table. Asynchronous operation even if<a name="line.459"></a>
+<span class="sourceLineNo">460</span> * CompletableFuture.get().<a name="line.460"></a>
+<span class="sourceLineNo">461</span> * @param tableName table to major compact<a name="line.461"></a>
+<span class="sourceLineNo">462</span> * @param columnFamily column family within a table<a name="line.462"></a>
+<span class="sourceLineNo">463</span> */<a name="line.463"></a>
+<span class="sourceLineNo">464</span> CompletableFuture<Void> majorCompact(TableName tableName, byte[] columnFamily);<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> * Major compact a table or an individual region. Asynchronous operation even if<a name="line.467"></a>
+<span class="sourceLineNo">468</span> * CompletableFuture.get().<a name="line.468"></a>
+<span class="sourceLineNo">469</span> * @param regionName region to major compact<a name="line.469"></a>
+<span class="sourceLineNo">470</span> */<a name="line.470"></a>
+<span class="sourceLineNo">471</span> CompletableFuture<Void> majorCompactRegion(byte[] regionName);<a name="line.471"></a>
+<span class="sourceLineNo">472</span><a name="line.472"></a>
+<span class="sourceLineNo">473</span> /**<a name="line.473"></a>
+<span class="sourceLineNo">474</span> * Major compact a column family within region. Asynchronous operation even if<a name="line.474"></a>
+<span class="sourceLineNo">475</span> * CompletableFuture.get().<a name="line.475"></a>
+<span class="sourceLineNo">476</span> * @param regionName egion to major compact<a name="line.476"></a>
+<span class="sourceLineNo">477</span> * @param columnFamily column family within a region<a name="line.477"></a>
+<span class="sourceLineNo">478</span> */<a name="line.478"></a>
+<span class="sourceLineNo">479</span> CompletableFuture<Void> majorCompactRegion(byte[] regionName, byte[] columnFamily);<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> * Compact all regions on the region server.<a name="line.482"></a>
+<span class="sourceLineNo">483</span> * @param sn the region server name<a name="line.483"></a>
+<span class="sourceLineNo">484</span> */<a name="line.484"></a>
+<span class="sourceLineNo">485</span> CompletableFuture<Void> compactRegionServer(ServerName sn);<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> * Compact all regions on the region server.<a name="line.488"></a>
+<span class="sourceLineNo">489</span> * @param sn the region server name<a name="line.489"></a>
<span class="sourceLineNo">490</span> */<a name="line.490"></a>
-<span class="sourceLineNo">491</span> CompletableFuture<List<QuotaSettings>> getQuota(QuotaFilter filter);<a name="line.491"></a>
+<span class="sourceLineNo">491</span> CompletableFuture<Void> majorCompactRegionServer(ServerName sn);<a name="line.491"></a>
<span class="sourceLineNo">492</span><a name="line.492"></a>
<span class="sourceLineNo">493</span> /**<a name="line.493"></a>
-<span class="sourceLineNo">494</span> * Add a new replication peer for replicating data to slave cluster<a name="line.494"></a>
-<span class="sourceLineNo">495</span> * @param peerId a short name that identifies the peer<a name="line.495"></a>
-<span class="sourceLineNo">496</span> * @param peerConfig configuration for the replication slave cluster<a name="line.496"></a>
-<span class="sourceLineNo">497</span> */<a name="line.497"></a>
-<span class="sourceLineNo">498</span> CompletableFuture<Void> addReplicationPeer(final String peerId,<a name="line.498"></a>
-<span class="sourceLineNo">499</span> final ReplicationPeerConfig peerConfig);<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> * Remove a peer and stop the replication<a name="line.502"></a>
-<span class="sourceLineNo">503</span> * @param peerId a short name that identifies the peer<a name="line.503"></a>
-<span class="sourceLineNo">504</span> */<a name="line.504"></a>
-<span class="sourceLineNo">505</span> CompletableFuture<Void> removeReplicationPeer(final String peerId);<a name="line.505"></a>
-<span class="sourceLineNo">506</span><a name="line.506"></a>
-<span class="sourceLineNo">507</span> /**<a name="line.507"></a>
-<span class="sourceLineNo">508</span> * Restart the replication stream to the specified peer<a name="line.508"></a>
-<span class="sourceLineNo">509</span> * @param peerId a short name that identifies the peer<a name="line.509"></a>
-<span class="sourceLineNo">510</span> */<a name="line.510"></a>
-<span class="sourceLineNo">511</span> CompletableFuture<Void> enableReplicationPeer(final String peerId);<a name="line.511"></a>
-<span class="sourceLineNo">512</span><a name="line.512"></a>
-<span class="sourceLineNo">513</span> /**<a name="line.513"></a>
-<span class="sourceLineNo">514</span> * Stop the replication stream to the specified peer<a name="line.514"></a>
-<span class="sourceLineNo">515</span> * @param peerId a short name that identifies the peer<a name="line.515"></a>
-<span class="sourceLineNo">516</span> */<a name="line.516"></a>
-<span class="sourceLineNo">517</span> CompletableFuture<Void> disableReplicationPeer(final String peerId);<a name="line.517"></a>
-<span class="sourceLineNo">518</span><a name="line.518"></a>
-<span class="sourceLineNo">519</span> /**<a name="line.519"></a>
-<span class="sourceLineNo">520</span> * Returns the configured ReplicationPeerConfig for the specified peer<a name="line.520"></a>
-<span class="sourceLineNo">521</span> * @param peerId a short name that identifies the peer<a name="line.521"></a>
-<span class="sourceLineNo">522</span> * @return ReplicationPeerConfig for the peer wrapped by a {@link CompletableFuture}.<a name="line.522"></a>
-<span class="sourceLineNo">523</span> */<a name="line.523"></a>
-<span class="sourceLineNo">524</span> CompletableFuture<ReplicationPeerConfig> getReplicationPeerConfig(final String peerId);<a name="line.524"></a>
-<span class="sourceLineNo">525</span><a name="line.525"></a>
-<span class="sourceLineNo">526</span> /**<a name="line.526"></a>
-<span class="sourceLineNo">527</span> * Update the peerConfig for the specified peer<a name="line.527"></a>
-<span class="sourceLineNo">528</span> * @param peerId a short name that identifies the peer<a name="line.528"></a>
-<span class="sourceLineNo">529</span> * @param peerConfig new config for the peer<a name="line.529"></a>
-<span class="sourceLineNo">530</span> */<a name="line.530"></a>
-<span class="sourceLineNo">531</span> CompletableFuture<Void> updateReplicationPeerConfig(final String peerId,<a name="line.531"></a>
-<span class="sourceLineNo">532</span> final ReplicationPeerConfig peerConfig);<a name="line.532"></a>
+<span class="sourceLineNo">494</span> * Merge two regions.<a name="line.494"></a>
+<span class="sourceLineNo">495</span> * @param nameOfRegionA encoded or full name of region a<a name="line.495"></a>
+<span class="sourceLineNo">496</span> * @param nameOfRegionB encoded or full name of region b<a name="line.496"></a>
+<span class="sourceLineNo">497</span> * @param forcible true if do a compulsory merge, otherwise we will only merge two adjacent<a name="line.497"></a>
+<span class="sourceLineNo">498</span> * regions<a name="line.498"></a>
+<span class="sourceLineNo">499</span> */<a name="line.499"></a>
+<span class="sourceLineNo">500</span> CompletableFuture<Void> mergeRegions(final byte[] nameOfRegionA, final byte[] nameOfRegionB,<a name="line.500"></a>
+<span class="sourceLineNo">501</span> final boolean forcible);<a name="line.501"></a>
+<span class="sourceLineNo">502</span><a name="line.502"></a>
+<span class="sourceLineNo">503</span> /**<a name="line.503"></a>
+<span class="sourceLineNo">504</span> * Split a table. The method will execute split action for each region in table.<a name="line.504"></a>
+<span class="sourceLineNo">505</span> * @param tableName table to split<a name="line.505"></a>
+<span class="sourceLineNo">506</span> */<a name="line.506"></a>
+<span class="sourceLineNo">507</span> CompletableFuture<Void> split(final TableName tableName);<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> * Split an individual region.<a name="line.510"></a>
+<span class="sourceLineNo">511</span> * @param regionName region to split<a name="line.511"></a>
+<span class="sourceLineNo">512</span> */<a name="line.512"></a>
+<span class="sourceLineNo">513</span> CompletableFuture<Void> splitRegion(final byte[] regionName);<a name="line.513"></a>
+<span class="sourceLineNo">514</span><a name="line.514"></a>
+<span class="sourceLineNo">515</span> /**<a name="line.515"></a>
+<span class="sourceLineNo">516</span> * Split a table.<a name="line.516"></a>
+<span class="sourceLineNo">517</span> * @param tableName table to split<a name="line.517"></a>
+<span class="sourceLineNo">518</span> * @param splitPoint the explicit position to split on<a name="line.518"></a>
+<span class="sourceLineNo">519</span> */<a name="line.519"></a>
+<span class="sourceLineNo">520</span> CompletableFuture<Void> split(final TableName tableName, final byte[] splitPoint);<a name="line.520"></a>
+<span class="sourceLineNo">521</span><a name="line.521"></a>
+<span class="sourceLineNo">522</span> /**<a name="line.522"></a>
+<span class="sourceLineNo">523</span> * Split an individual region.<a name="line.523"></a>
+<span class="sourceLineNo">524</span> * @param regionName region to split<a name="line.524"></a>
+<span class="sourceLineNo">525</span> * @param splitPoint the explicit position to split on<a name="line.525"></a>
+<span class="sourceLineNo">526</span> */<a name="line.526"></a>
+<span class="sourceLineNo">527</span> CompletableFuture<Void> splitRegion(final byte[] regionName, final byte[] splitPoint);<a name="line.527"></a>
+<span class="sourceLineNo">528</span><a name="line.528"></a>
+<span class="sourceLineNo">529</span> /**<a name="line.529"></a>
+<span class="sourceLineNo">530</span> * @param regionName Encoded or full name of region to assign.<a name="line.530"></a>
+<span class="sourceLineNo">531</span> */<a name="line.531"></a>
+<span class="sourceLineNo">532</span> CompletableFuture<Void> assign(final byte[] regionName);<a name="line.532"></a>
<span class="sourceLineNo">533</span><a name="line.533"></a>
<span class="sourceLineNo">534</span> /**<a name="line.534"></a>
-<span class="sourceLineNo">535</span> * Append the replicable table-cf config of the specified peer<a name="line.535"></a>
-<span class="sourceLineNo">536</span> * @param id a short that identifies the cluster<a name="line.536"></a>
-<span class="sourceLineNo">537</span> * @param tableCfs A map from tableName to column family names<a name="line.537"></a>
-<span class="sourceLineNo">538</span> */<a name="line.538"></a>
-<span class="sourceLineNo">539</span> CompletableFuture<Void> appendReplicationPeerTableCFs(String id,<a name="line.539"></a>
-<span class="sourceLineNo">540</span> Map<TableName, ? extends Collection<String>> tableCfs);<a name="line.540"></a>
-<span class="sourceLineNo">541</span><a name="line.541"></a>
-<span class="sourceLineNo">542</span> /**<a name="line.542"></a>
-<span class="sourceLineNo">543</span> * Remove some table-cfs from config of the specified peer<a name="line.543"></a>
-<span class="sourceLineNo">544</span> * @param id a short name that identifies the cluster<a name="line.544"></a>
-<span class="sourceLineNo">545</span> * @param tableCfs A map from tableName to column family names<a name="line.545"></a>
-<span class="sourceLineNo">546</span> */<a name="line.546"></a>
-<span class="sourceLineNo">547</span> CompletableFuture<Void> removeReplicationPeerTableCFs(String id,<a name="line.547"></a>
-<span class="sourceLineNo">548</span> Map<TableName, ? extends Collection<String>> tableCfs);<a name="line.548"></a>
-<span class="sourceLineNo">549</span><a name="line.549"></a>
-<span class="sourceLineNo">550</span> /**<a name="line.550"></a>
-<span class="sourceLineNo">551</span> * Return a list of replication peers.<a name="line.551"></a>
-<span class="sourceLineNo">552</span> * @return a list of replication peers description. The return value will be wrapped by a<a name="line.552"></a>
-<span class="sourceLineNo">553</span> * {@link CompletableFuture}.<a name="line.553"></a>
-<span class="sourceLineNo">554</span> */<a name="line.554"></a>
-<span class="sourceLineNo">555</span> CompletableFuture<List<ReplicationPeerDescription>> listReplicationPeers();<a name="line.555"></a>
-<span class="sourceLineNo">556</span><a name="line.556"></a>
-<span class="sourceLineNo">557</span> /**<a name="line.557"></a>
-<span class="sourceLineNo">558</span> * Return a list of replication peers.<a name="line.558"></a>
-<span class="sourceLineNo">559</span> * @param regex The regular expression to match peer id<a name="line.559"></a>
-<span class="sourceLineNo">560</span> * @return a list of replication peers description. The return value will be wrapped by a<a name="line.560"></a>
-<span class="sourceLineNo">561</span> * {@link CompletableFuture}.<a name="line.561"></a>
+<span class="sourceLineNo">535</span> * Unassign a region from current hosting regionserver. Region will then be assigned to a<a name="line.535"></a>
+<span class="sourceLineNo">536</span> * regionserver chosen at random. Region could be reassigned back to the same server. Use<a name="line.536"></a>
+<span class="sourceLineNo">537</span> * {@link #move(byte[], byte[])} if you want to control the region movement.<a name="line.537"></a>
+<span class="sourceLineNo">538</span> * @param regionName Encoded or full name of region to unassign. Will clear any existing<a name="line.538"></a>
+<span class="sourceLineNo">539</span> * RegionPlan if one found.<a name="line.539"></a>
+<span class="sourceLineNo">540</span> * @param force If true, force unassign (Will remove region from regions-in-transition too if<a name="line.540"></a>
+<span class="sourceLineNo">541</span> * present. If results in double assignment use hbck -fix to resolve. To be used by<a name="line.541"></a>
+<span class="sourceLineNo">542</span> * experts).<a name="line.542"></a>
+<span class="sourceLineNo">543</span> */<a name="line.543"></a>
+<span class="sourceLineNo">544</span> CompletableFuture<Void> unassign(final byte[] regionName, final boolean force);<a name="line.544"></a>
+<span class="sourceLineNo">545</span><a name="line.545"></a>
+<span class="sourceLineNo">546</span> /**<a name="line.546"></a>
+<span class="sourceLineNo">547</span> * Offline specified region from master's in-memory state. It will not attempt to reassign the<a name="line.547"></a>
+<span class="sourceLineNo">548</span> * region as in unassign. This API can be used when a region not served by any region server and<a name="line.548"></a>
+<span class="sourceLineNo">549</span> * still online as per Master's in memory state. If this API is incorrectly used on active region<a name="line.549"></a>
+<span class="sourceLineNo">550</span> * then master will loose track of that region. This is a special method that should be used by<a name="line.550"></a>
+<span class="sourceLineNo">551</span> * experts or hbck.<a name="line.551"></a>
+<span class="sourceLineNo">552</span> * @param regionName Encoded or full name of region to offline<a name="line.552"></a>
+<span class="sourceLineNo">553</span> */<a name="line.553"></a>
+<span class="sourceLineNo">554</span> CompletableFuture<Void> offline(final byte[] regionName);<a name="line.554"></a>
+<span class="sourceLineNo">555</span><a name="line.555"></a>
+<span class="sourceLineNo">556</span> /**<a name="line.556"></a>
+<span class="sourceLineNo">557</span> * Move the region <code>r</code> to <code>dest</code>.<a name="line.557"></a>
+<span class="sourceLineNo">558</span> * @param regionName Encoded or full name of region to move.<a name="line.558"></a>
+<span class="sourceLineNo">559</span> * @param destServerName The servername of the destination regionserver. If passed the empty byte<a name="line.559"></a>
+<span class="sourceLineNo">560</span> * array we'll assign to a random server. A server name is made of host, port and<a name="line.560"></a>
+<span class="sourceLineNo">561</span> * startcode. Here is an example: <code> host187.example.com,60020,1289493121758</code><a name="line.561"></a>
<span class="sourceLineNo">562</span> */<a name="line.562"></a>
-<span class="sourceLineNo">563</span> CompletableFuture<List<ReplicationPeerDescription>> listReplicationPeers(String regex);<a name="line.563"></a>
+<span class="sourceLineNo">563</span> CompletableFuture<Void> move(final byte[] regionName, final byte[] destServerName);<a name="line.563"></a>
<span class="sourceLineNo">564</span><a name="line.564"></a>
<span class="sourceLineNo">565</span> /**<a name="line.565"></a>
-<span class="sourceLineNo">566</span> * Return a list of replication peers.<a name="line.566"></a>
-<span class="sourceLineNo">567</span> * @param pattern The compiled regular expression to match peer id<a name="line.567"></a>
-<span class="sourceLineNo">568</span> * @return a list of replication peers description. The return value will be wrapped by a<a name="line.568"></a>
-<span class="sourceLineNo">569</span> * {@link CompletableFuture}.<a name="line.569"></a>
-<span class="sourceLineNo">570</span> */<a name="line.570"></a>
-<span class="sourceLineNo">571</span> CompletableFuture<List<ReplicationPeerDescription>> listReplicationPeers(Pattern pattern);<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> * Find all table and column families that are replicated from this cluster<a name="line.574"></a>
-<span class="sourceLineNo">575</span> * @return the replicated table-cfs list of this cluster. The return value will be wrapped by a<a name="line.575"></a>
-<span class="sourceLineNo">576</span> * {@link CompletableFuture}.<a name="line.576"></a>
-<span class="sourceLineNo">577</span> */<a name="line.577"></a>
-<span class="sourceLineNo">578</span> CompletableFuture<List<TableCFs>> listReplicatedTableCFs();<a name="line.578"></a>
-<span class="sourceLineNo">579</span><a name="line.579"></a>
-<span class="sourceLineNo">580</span> /**<a name="line.580"></a>
-<span class="sourceLineNo">581</span> * Take a snapshot for the given table. If the table is enabled, a FLUSH-type snapshot will be<a name="line.581"></a>
-<span class="sourceLineNo">582</span> * taken. If the table is disabled, an offline snapshot is taken. Snapshots are considered unique<a name="line.582"></a>
-<span class="sourceLineNo">583</span> * based on <b>the name of the snapshot</b>. Attempts to take a snapshot with the same name (even<a name="line.583"></a>
-<span class="sourceLineNo">584</span> * a different type or with different parameters) will fail with a<a name="line.584"></a>
-<span class="sourceLineNo">585</span> * {@link org.apache.hadoop.hbase.snapshot.SnapshotCreationException} indicating the duplicate<a name="line.585"></a>
-<span class="sourceLineNo">586</span> * naming. Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.586"></a>
-<span class="sourceLineNo">587</span> * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.587"></a>
-<span class="sourceLineNo">588</span> * @param snapshotName name of the snapshot to be created<a name="line.588"></a>
-<span class="sourceLineNo">589</span> * @param tableName name of the table for which snapshot is created<a name="line.589"></a>
-<span class="sourceLineNo">590</span> */<a name="line.590"></a>
-<span class="sourceLineNo">591</span> CompletableFuture<Void> snapshot(String snapshotName, TableName tableName);<a name="line.591"></a>
-<span class="sourceLineNo">592</span><a name="line.592"></a>
-<span class="sourceLineNo">593</span> /**<a name="line.593"></a>
-<span class="sourceLineNo">594</span> * Create typed snapshot of the table. Snapshots are considered unique based on <b>the name of the<a name="line.594"></a>
-<span class="sourceLineNo">595</span> * snapshot</b>. Attempts to take a snapshot with the same name (even a different type or with<a name="line.595"></a>
-<span class="sourceLineNo">596</span> * different parameters) will fail with a<a name="line.596"></a>
-<span class="sourceLineNo">597</span> * {@link org.apache.hadoop.hbase.snapshot.SnapshotCreationException} indicating the duplicate<a name="line.597"></a>
-<span class="sourceLineNo">598</span> * naming. Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.598"></a>
-<span class="sourceLineNo">599</span> * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.599"></a>
-<span class="sourceLineNo">600</span> * @param snapshotName name to give the snapshot on the filesystem. Must be unique from all other<a name="line.600"></a>
-<span class="sourceLineNo">601</span> * snapshots stored on the cluster<a name="line.601"></a>
-<span class="sourceLineNo">602</span> * @param tableName name of the table to snapshot<a name="line.602"></a>
-<span class="sourceLineNo">603</span> * @param type type of snapshot to take<a name="line.603"></a>
-<span class="sourceLineNo">604</span> */<a name="line.604"></a>
-<span class="sourceLineNo">605</span> CompletableFuture<Void> snapshot(final String snapshotName, final TableName tableName,<a name="line.605"></a>
-<span class="sourceLineNo">606</span> SnapshotType type);<a name="line.606"></a>
-<span class="sourceLineNo">607</span><a name="line.607"></a>
-<span class="sourceLineNo">608</span> /**<a name="line.608"></a>
-<span class="sourceLineNo">609</span> * Take a snapshot and wait for the server to complete that snapshot asynchronously. Only a single<a name="line.609"></a>
-<span class="sourceLineNo">610</span> * snapshot should be taken at a time for an instance of HBase, or results may be undefined (you<a name="line.610"></a>
-<span class="sourceLineNo">611</span> * can tell multiple HBase clusters to snapshot at the same time, but only one at a time for a<a name="line.611"></a>
-<span class="sourceLineNo">612</span> * single cluster). Snapshots are considered unique based on <b>the name of the snapshot</b>.<a name="line.612"></a>
-<span class="sourceLineNo">613</span> * Attempts to take a snapshot with the same name (even a different type or with different<a name="line.613"></a>
-<span class="sourceLineNo">614</span> * parameters) will fail with a {@link org.apache.hadoop.hbase.snapshot.SnapshotCreationException}<a name="line.614"></a>
-<span class="sourceLineNo">615</span> * indicating the duplicate naming. Snapshot names follow the same naming constraints as tables in<a name="line.615"></a>
-<span class="sourceLineNo">616</span> * HBase. See {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.616"></a>
-<span class="sourceLineNo">617</span> * You should probably use {@link #snapshot(String, org.apache.hadoop.hbase.TableName)} unless you<a name="line.617"></a>
-<span class="sourceLineNo">618</span> * are sure about the type of snapshot that you want to take.<a name="line.618"></a>
-<span class="sourceLineNo">619</span> * @param snapshot snapshot to take<a name="line.619"></a>
-<span class="sourceLineNo">620</span> */<a name="line.620"></a>
-<span class="sourceLineNo">621</span> CompletableFuture<Void> snapshot(SnapshotDescription snapshot);<a name="line.621"></a>
-<span class="sourceLineNo">622</span><a name="line.622"></a>
-<span class="sourceLineNo">623</span> /**<a name="line.623"></a>
-<span class="sourceLineNo">624</span> * Check the current state of the passed snapshot. There are three possible states:<a name="line.624"></a>
-<span class="sourceLineNo">625</span> * <ol><a name="line.625"></a>
-<span class="sourceLineNo">626</span> * <li>running - returns <tt>false</tt></li><a name="line.626"></a>
-<span class="sourceLineNo">627</span> * <li>finished - returns <tt>true</tt></li><a name="line.627"></a>
-<span class="sourceLineNo">628</span> * <li>finished with error - throws the exception that caused the snapshot to fail</li><a name="line.628"></a>
-<span class="sourceLineNo">629</span> * </ol><a name="line.629"></a>
-<span class="sourceLineNo">630</span> * The cluster only knows about the most recent snapshot. Therefore, if another snapshot has been<a name="line.630"></a>
-<span class="sourceLineNo">631</span> * run/started since the snapshot you are checking, you will receive an<a name="line.631"></a>
-<span class="sourceLineNo">632</span> * {@link org.apache.hadoop.hbase.snapshot.UnknownSnapshotException}.<a name="line.632"></a>
-<span class="sourceLineNo">633</span> * @param snapshot description of the snapshot to check<a name="line.633"></a>
-<span class="sourceLineNo">634</span> * @return <tt>true</tt> if the snapshot is completed, <tt>false</tt> if the snapshot is still<a name="line.634"></a>
-<span class="sourceLineNo">635</span> * running<a name="line.635"></a>
-<span class="sourceLineNo">636</span> */<a name="line.636"></a>
-<span class="sourceLineNo">637</span> CompletableFuture<Boolean> isSnapshotFinished(final SnapshotDescription snapshot);<a name="line.637"></a>
-<span class="sourceLineNo">638</span><a name="line.638"></a>
-<span class="sourceLineNo">639</span> /**<a name="line.639"></a>
-<span class="sourceLineNo">640</span> * Restore the specified snapshot on the original table. (The table must be disabled) If the<a name="line.640"></a>
-<span class="sourceLineNo">641</span> * "hbase.snapshot.restore.take.failsafe.snapshot" configuration property is set to true, a<a name="line.641"></a>
-<span class="sourceLineNo">642</span> * snapshot of the current table is taken before executing the restore operation. In case of<a name="line.642"></a>
-<span class="sourceLineNo">643</span> * restore failure, the failsafe snapshot will be restored. If the restore completes without<a name="line.643"></a>
-<span class="sourceLineNo">644</span> * problem the failsafe snapshot is deleted.<a name="line.644"></a>
-<span class="sourceLineNo">645</span> * @param snapshotName name of the snapshot to restore<a name="line.645"></a>
-<span class="sourceLineNo">646</span> */<a name="line.646"></a>
-<span class="sourceLineNo">647</span> CompletableFuture<Void> restoreSnapshot(String snapshotName);<a name="line.647"></a>
-<span class="sourceLineNo">648</span><a name="line.648"></a>
-<span class="sourceLineNo">649</span> /**<a name="line.649"></a>
-<span class="sourceLineNo">650</span> * Restore the specified snapshot on the original table. (The table must be disabled) If<a name="line.650"></a>
-<span class="sourceLineNo">651</span> * 'takeFailSafeSnapshot' is set to true, a snapshot of the current table is taken before<a name="line.651"></a>
-<span class="sourceLineNo">652</span> * executing the restore operation. In case of restore failure, the failsafe snapshot will be<a name="line.652"></a>
-<span class="sourceLineNo">653</span> * restored. If the restore completes without problem the failsafe snapshot is deleted. The<a name="line.653"></a>
-<span class="sourceLineNo">654</span> * failsafe snapshot name is configurable by using the property<a name="line.654"></a>
-<span class="sourceLineNo">655</span> * "hbase.snapshot.restore.failsafe.name".<a name="line.655"></a>
-<span class="sourceLineNo">656</span> * @param snapshotName name of the snapshot to restore<a name="line.656"></a>
-<span class="sourceLineNo">657</span> * @param takeFailSafeSnapshot true if the failsafe snapshot should be taken<a name="line.657"></a>
-<span class="sourceLineNo">658</span> */<a name="line.658"></a>
-<span class="sourceLineNo">659</span> CompletableFuture<Void> restoreSnapshot(String snapshotName, boolean takeFailSafeSnapshot);<a name="line.659"></a>
-<span class="sourceLineNo">660</span><a name="line.660"></a>
-<span class="sourceLineNo">661</span> /**<a name="line.661"></a>
-<span class="sourceLineNo">662</span> * Create a new table by cloning the snapshot content.<a name="line.662"></a>
-<span class="sourceLineNo">663</span> * @param snapshotName name of the snapshot to be cloned<a name="line.663"></a>
-<span class="sourceLineNo">664</span> * @param tableName name of the table where the snapshot will be restored<a name="line.664"></a>
-<span class="sourceLineNo">665</span> */<a name="line.665"></a>
-<span class="sourceLineNo">666</span> CompletableFuture<Void> cloneSnapshot(final String snapshotName, final TableName tableName);<a name="line.666"></a>
-<span class="sourceLineNo">667</span><a name="line.667"></a>
-<span class="sourceLineNo">668</span> /**<a name="line.668"></a>
-<span class="sourceLineNo">669</span> * List completed snapshots.<a name="line.669"></a>
-<span class="sourceLineNo">670</span> * @return a list of snapshot descriptors for completed snapshots wrapped by a<a name="line.670"></a>
-<span class="sourceLineNo">671</span> * {@link CompletableFuture}<a name="line.671"></a>
-<span class="sourceLineNo">672</span> */<a name="line.672"></a>
-<span class="sourceLineNo">673</span> CompletableFuture<List<SnapshotDescription>> listSnapshots();<a name="line.673"></a>
-<span class="sourceLineNo">674</span><a name="line.674"></a>
-<span class="sourceLineNo">675</span> /**<a name="line.675"></a>
-<span class="sourceLineNo">676</span> * List all the completed snapshots matching the given regular expression.<a name="line.676"></a>
-<span class="sourceLineNo">677</span> * @param regex The regular expression to match against<a name="line.677"></a>
-<span class="sourceLineNo">678</span> * @return - returns a List of SnapshotDescription wrapped by a {@link CompletableFuture}<a name="line.678"></a>
-<span class="sourceLineNo">679</span> */<a name="line.679"></a>
-<span class="sourceLineNo">680</span> CompletableFuture<List<SnapshotDescription>> listSnapshots(String regex);<a name="line.680"></a>
-<span class="sourceLineNo">681</span><a name="line.681"></a>
-<span class="sourceLineNo">682</span> /**<a name="line.682"></a>
-<span class="sourceLineNo">683</span> * List all the completed snapshots matching the given pattern.<a name="line.683"></a>
-<span class="sourceLineNo">684</span> * @param pattern The compiled regular expression to match against<a name="line.684"></a>
-<span class="sourceLineNo">685</span> * @return - returns a List of SnapshotDescription wrapped by a {@link CompletableFuture}<a name="line.685"></a>
-<span class="sourceLineNo">686</span> */<a name="line.686"></a>
-<span class="sourceLineNo">687</span> CompletableFuture<List<SnapshotDescription>> listSnapshots(Pattern pattern);<a name="line.687"></a>
-<span class="sourceLineNo">688</span><a name="line.688"></a>
-<span class="sourceLineNo">689</span> /**<a name="line.689"></a>
-<span class="sourceLineNo">690</span> * List all the completed snapshots matching the given table name regular expression and snapshot<a name="line.690"></a>
-<span class="sourceLineNo">691</span> * name regular expression.<a name="line.691"></a>
-<span class="sourceLineNo">692</span> * @param tableNameRegex The table name regular expression to match against<a name="line.692"></a>
-<span class="sourceLineNo">693</span> * @param snapshotNameRegex The snapshot name regular expression to match against<a name="line.693"></a>
-<span class="sourceLineNo">694</span> * @return - returns a List of completed SnapshotDescription wrapped by a<a name="line.694"></a>
-<span class="sourceLineNo">695</span> * {@link CompletableFuture}<a name="line.695"></a>
-<span class="sourceLineNo">696</span> */<a name="line.696"></a>
-<span class="sourceLineNo">697</span> CompletableFuture<List<SnapshotDescription>> listTableSnapshots(String tableNameRegex,<a name="line.697"></a>
-<span class="sourceLineNo">698</span> String snapshotNameRegex);<a name="line.698"></a>
-<span class="sourceLineNo">699</span><a name="line.699"></a>
-<span class="sourceLineNo">700</span> /**<a name="line.700"></a>
-<span class="sourceLineNo">701</span> * List all the completed snapshots matching the given table name regular expression and snapshot<a name="line.701"></a>
-<span class="sourceLineNo">702</span> * name regular expression.<a name="line.702"></a>
-<span class="sourceLineNo">703</span> * @param tableNamePattern The compiled table name regular expression to match against<a name="line.703"></a>
-<span class="sourceLineNo">704</span> * @param snapshotNamePattern The compiled snapshot name regular expression to match against<a name="line.704"></a>
-<span class="sourceLineNo">705</span> * @return - returns a List of completed SnapshotDescription wrapped by a<a name="line.705"></a>
-<span class="sourceLineNo">706</span> * {@link CompletableFuture}<a name="line.706"></a>
-<span class="sourceLineNo">707</span> */<a name="line.707"></a>
-<span class="sourceLineNo">708</span> CompletableFuture<List<SnapshotDescription>> listTableSnapshots(Pattern tableNamePattern,<a name="line.708"></a>
-<span class="sourceLineNo">709</span> Pattern snapshotNamePattern);<a name="line.709"></a>
-<span class="sourceLineNo">710</span><a name="line.710"></a>
-<span class="sourceLineNo">711</span> /**<a name="line.711"></a>
-<span class="sourceLineNo">712</span> * Delete an existing snapshot.<a name="line.712"></a>
-<span class="sourceLineNo">713</span> * @param snapshotName name of the snapshot<a name="line.713"></a>
-<span class="sourceLineNo">714</span> */<a name="line.714"></a>
-<span class="sourceLineNo">715</span> CompletableFuture<Void> deleteSnapshot(String snapshotName);<a name="line.715"></a>
-<span class="sourceLineNo">716</span><a name="line.716"></a>
-<span class="sourceLineNo">717</span> /**<a name="line.717"></a>
-<span class="sourceLineNo">718</span> * Delete existing snapshots whose names match the pattern passed.<a name="line.718"></a>
-<span class="sourceLineNo">719</span> * @param regex The regular expression to match against<a name="line.719"></a>
-<span class="sourceLineNo">720</span> */<a name="line.720"></a>
-<span class="sourceLineNo">721</span> CompletableFuture<Void> deleteSnapshots(String regex);<a name="line.721"></a>
-<span class="sourceLineNo">722</span><a name="line.722"></a>
-<span class="sourceLineNo">723</span> /**<a name="line.723"></a>
-<span class="sourceLineNo">724</span> * Delete existing snapshots whose names match the pattern passed.<a name="line.724"></a>
-<span class="sourceLineNo">725</span> * @param pattern pattern for names of the snapshot to match<a name="line.725"></a>
-<span class="sourceLineNo">726</span> */<a name="line.726"></a>
-<span class="sourceLineNo">727</span> CompletableFuture<Void> deleteSnapshots(Pattern pattern);<a name="line.727"></a>
-<span class="sourceLineNo">728</span><a name="line.728"></a>
-<span class="sourceLineNo">729</span> /**<a name="line.729"></a>
-<span class="sourceLineNo">730</span> * Delete all existing snapshots matching the given table name regular expression and snapshot<a name="line.730"></a>
-<span class="sourceLineNo">731</span> * name regular expression.<a name="line.731"></a>
-<span class="sourceLineNo">732</span> * @param tableNameRegex The table name regular expression to match against<a name="line.732"></a>
-<span class="sourceLineNo">733</span> * @param snapshotNameRegex The snapshot name regular expression to match against<a name="line.733"></a>
-<span class="sourceLineNo">734</span> */<a name="line.734"></a>
-<span class="sourceLineNo">735</span> CompletableFuture<Void> deleteTableSnapshots(String tableNameRegex, String snapshotNameRegex);<a name="line.735"></a>
-<span class="sourceLineNo">736</span><a name="line.736"></a>
-<span class="sourceLineNo">737</span> /**<a name="line.737"></a>
-<span class="sourceLineNo">738</span> * Delete all existing snapshots matching the given table name regular expression and snapshot<a name="line.738"></a>
-<span class="sourceLineNo">739</span> * name regular expression.<a name="line.739"></a>
-<span class="sourceLineNo">740</span> * @param tableNamePattern The compiled table name regular expression to match against<a name="line.740"></a>
-<span class="sourceLineNo">741</span> * @param snapshotNamePattern The compiled snapshot name regular expression to match against<a name="line.741"></a>
-<span class="sourceLineNo">742</span> */<a name="line.742"></a>
-<span class="sourceLineNo">743</span> CompletableFuture<Void> deleteTableSnapshots(Pattern tableNamePattern,<a name="line.743"></a>
-<span class="sourceLineNo">744</span> Pattern snapshotNamePattern);<a name="line.744"></a>
+<span class="sourceLineNo">566</span> * Apply the new quota settings.<a name="line.566"></a>
+<span class="sourceLineNo">567</span> * @param quota the quota settings<a name="line.567"></a>
+<span class="sourceLineNo">568</span> */<a name="line.568"></a>
+<span class="sourceLineNo">569</span> CompletableFuture<Void> setQuota(final QuotaSettings quota);<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> * List the quotas based on the filter.<a name="line.572"></a>
+<span class="sourceLineNo">573</span> * @param filter the quota settings filter<a name="line.573"></a>
+<span class="sourceLineNo">574</span> * @return the QuotaSetting list, which wrapped by a CompletableFuture.<a name="line.574"></a>
+<span class="sourceLineNo">575</span> */<a name="line.575"></a>
+<span class="sourceLineNo">576</span> CompletableFuture<List<QuotaSettings>> getQuota(QuotaFilter filter);<a name="line.576"></a>
+<span class="sourceLineNo">577</span><a name="line.577"></a>
+<span class="sourceLineNo">578</span> /**<a name="line.578"></a>
+<span class="sourceLineNo">579</span> * Add a new replication peer for replicating data to slave cluster<a name="line.579"></a>
+<span class="sourceLineNo">580</span> * @param peerId a short name that identifies the peer<a name="line.580"></a>
+<span class="sourceLineNo">581</span> * @param peerConfig configuration for the replication slave cluster<a name="line.581"></a>
+<span class="sourceLineNo">582</span> */<a name="line.582"></a>
+<span class="sourceLineNo">583</span> CompletableFuture<Void> addReplicationPeer(final String peerId,<a name="line.583"></a>
+<span class="sourceLineNo">584</span> final ReplicationPeerConfig peerConfig);<a name="line.584"></a>
+<span class="sourceLineNo">585</span><a name="line.585"></a>
+<span class="sourceLineNo">586</span> /**<a name="line.586"></a>
+<span class="sourceLineNo">587</span> * Remove a peer and stop the replication<a name="line.587"></a>
+<span class="sourceLineNo">588</span> * @param peerId a short name that identifies the peer<a name="line.588"></a>
+<span class="sourceLineNo">589</span> */<a name="line.589"></a>
+<span class="sourceLineNo">590</span> CompletableFuture<Void> removeReplicationPeer(final String peerId);<a name="line.590"></a>
+<span class="sourceLineNo">591</span><a name="line.591"></a>
+<span class="sourceLineNo">592</span> /**<a name="line.592"></a>
+<span class="sourceLineNo">593</span> * Restart the replication stream to the specified peer<a name="line.593"></a>
+<span class="sourceLineNo">594</span> * @param peerId a short name that identifies the peer<a name="line.594"></a>
+<span class="sourceLineNo">595</span> */<a name="line.595"></a>
+<span class="sourceLineNo">596</span> CompletableFuture<Void> enableReplicationPeer(final String peerId);<a name="line.596"></a>
+<span class="sourceLineNo">597</span><a name="line.597"></a>
+<span class="sourceLineNo">598</span> /**<a name="line.598"></a>
+<span class="sourceLineNo">599</span> * Stop the replication stream to the specified peer<a name="line.599"></a>
+<span class="sourceLineNo">600</span> * @param peerId a short name that identifies the peer<a name="line.600"></a>
+<span class="sourceLineNo">601</span> */<a name="line.601"></a>
+<span class="sourceLineNo">602</span> CompletableFuture<Void> disableReplicationPeer(final String peerId);<a name="line.602"></a>
+<span class="sourceLineNo">603</span><a name="line.603"></a>
+<span class="sourceLineNo">604</span> /**<a name="line.604"></a>
+<span class="sourceLineNo">605</span> * Returns the configured ReplicationPeerConfig for the specified peer<a name="line.605"></a>
+<span class="sourceLineNo">606</span> * @param peerId a short name that identifies the peer<a name="line.606"></a>
+<span class="sourceLineNo">607</span> * @return ReplicationPeerConfig for the peer wrapped by a {@link CompletableFuture}.<a name="line.607"></a>
+<span class="sourceLineNo">608</span> */<a name="line.608"></a>
+<span class="sourceLineNo">609</span> CompletableFuture<ReplicationPeerConfig> getReplicationPeerConfig(final String peerId);<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> * Update the peerConfig for the specified peer<a name="line.612"></a>
+<span class="sourceLineNo">613</span> * @param peerId a short name that identifies the peer<a name="line.613"></a>
+<span class="sourceLineNo">614</span> * @param peerConfig new config for the peer<a name="line.614"></a>
+<span class="sourceLineNo">615</span> */<a name="line.615"></a>
+<span class="sourceLineNo">616</span> CompletableFuture<Void> updateReplicationPeerConfig(final String peerId,<a name="line.616"></a>
+<span class="sourceLineNo">617</span> final ReplicationPeerConfig peerConfig);<a name="line.617"></a>
+<span class="sourceLineNo">618</span><a name="line.618"></a>
+<span class="sourceLineNo">619</span> /**<a name="line.619"></a>
+<span class="sourceLineNo">620</span> * Append the replicable table-cf config of the specified peer<a name="line.620"></a>
+<span class="sourceLineNo">621</span> * @param id a short that identifies the cluster<a name="line.621"></a>
+<span class="sourceLineNo">622</span> * @param tableCfs A map from tableName to column family names<a name="line.622"></a>
+<span class="sourceLineNo">623</span> */<a name="line.623"></a>
+<span class="sourceLineNo">624</span> CompletableFuture<Void> appendReplicationPeerTableCFs(String id,<a name="line.624"></a>
+<span class="sourceLineNo">625</span> Map<TableName, ? extends Collection<String>> tableCfs);<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> * Remove some table-cfs from config of the specified peer<a name="line.628"></a>
+<span class="sourceLineNo">629</span> * @param id a short name that identifies the cluster<a name="line.629"></a>
+<span class="sourceLineNo">630</span> * @param tableCfs A map from tableName to column family names<a name="line.630"></a>
+<span class="sourceLineNo">631</span> */<a name="line.631"></a>
+<span class="sourceLineNo">632</span> CompletableFuture<Void> removeReplicationPeerTableCFs(String id,<a name="line.632"></a>
+<span class="sourceLineNo">633</span> Map<TableName, ? extends Collection<String>> tableCfs);<a name="line.633"></a>
+<span class="sourceLineNo">634</span><a name="line.634"></a>
+<span class="sourceLineNo">635</span> /**<a name="line.635"></a>
+<span class="sourceLineNo">636</span> * Return a list of replication peers.<a name="line.636"></a>
+<span class="sourceLineNo">637</span> * @return a list of replication peers description. The return value will be wrapped by a<a name="line.637"></a>
+<span class="sourceLineNo">638</span> * {@link CompletableFuture}.<a name="line.638"></a>
+<span class="sourceLineNo">639</span> */<a name="line.639"></a>
+<span class="sourceLineNo">640</span> CompletableFuture<List<ReplicationPeerDescription>> listReplicationPeers();<a name="line.640"></a>
+<span class="sourceLineNo">641</span><a name="line.641"></a>
+<span class="sourceLineNo">642</span> /**<a name="line.642"></a>
+<span class="sourceLineNo">643</span> * Return a list of replication peers.<a name="line.643"></a>
+<span class="sourceLineNo">644</span> * @param regex The regular expression to match peer id<a name="line.644"></a>
+<span class="sourceLineNo">645</span> * @return a list of replication peers description. The return value will be wrapped by a<a name="line.645"></a>
+<span class="sourceLineNo">646</span> * {@link CompletableFuture}.<a name="line.646"></a>
+<span class="sourceLineNo">647</span> */<a name="line.647"></a>
+<span class="sourceLineNo">648</span> CompletableFuture<List<ReplicationPeerDescription>> listReplicationPeers(String regex);<a name="line.648"></a>
+<span class="sourceLineNo">649</span><a name="line.649"></a>
+<span class="sourceLineNo">650</span> /**<a name="line.650"></a>
+<span class="sourceLineNo">651</span> * Return a list of replication peers.<a name="line.651"></a>
+<span class="sourceLineNo">652</span> * @param pattern The compiled regular expression to match peer id<a name="line.652"></a>
+<span class="sourceLineNo">653</span> * @return a list of replication peers description. The return value will be wrapped by a<a name="line.653"></a>
+<span class="sourceLineNo">654</span> * {@link CompletableFuture}.<a name="line.654"></a>
+<span class="sourceLineNo">655</span> */<a name="line.655"></a>
+<span class="sourceLineNo">656</span> CompletableFuture<List<ReplicationPeerDescription>> listReplicationPeers(Pattern pattern);<a name="line.656"></a>
+<span class="sourceLineNo">657</span><a name="line.657"></a>
+<span class="sourceLineNo">658</span> /**<a name="line.658"></a>
+<span class="sourceLineNo">659</span> * Find all table and column families that are replicated from this cluster<a name="line.659"></a>
+<span class="sourceLineNo">660</span> * @return the replicated table-cfs list of this cluster. The return value will be wrapped by a<a name="line.660"></a>
+<span class="sourceLineNo">661</span> * {@link CompletableFuture}.<a name="line.661"></a>
+<span class="sourceLineNo">662</span> */<a name="line.662"></a>
+<span class="sourceLineNo">663</span> CompletableFuture<List<TableCFs>> listReplicatedTableCFs();<a name="line.663"></a>
+<span class="sourceLineNo">664</span><a name="line.664"></a>
+<span class="sourceLineNo">665</span> /**<a name="line.665"></a>
+<span class="sourceLineNo">666</span> * Take a snapshot for the given table. If the table is enabled, a FLUSH-type snapshot will be<a name="line.666"></a>
+<span class="sourceLineNo">667</span> * taken. If the table is disabled, an offline snapshot is taken. Snapshots are considered unique<a name="line.667"></a>
+<span class="sourceLineNo">668</span> * based on <b>the name of the snapshot</b>. Attempts to take a snapshot with the same name (even<a name="line.668"></a>
+<span class="sourceLineNo">669</span> * a different type or with different parameters) will fail with a<a name="line.669"></a>
+<span class="sourceLineNo">670</span> * {@link org.apache.hadoop.hbase.snapshot.SnapshotCreationException} indicating the duplicate<a name="line.670"></a>
+<span class="sourceLineNo">671</span> * naming. Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.671"></a>
+<span class="sourceLineNo">672</span> * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.672"></a>
+<span class="sourceLineNo">673</span> * @param snapshotName name of the snapshot to be created<a name="line.673"></a>
+<span class="sourceLineNo">674</span> * @param tableName name of the table for which snapshot is created<a name="line.674"></a>
+<span class="sourceLineNo">675</span> */<a name="line.675"></a>
+<span class="sourceLineNo">676</span> CompletableFuture<Void> snapshot(String snapshotName, TableName tableName);<a name="line.676"></a>
+<span class="sourceLineNo">677</span><a name="line.677"></a>
+<span class="sourceLineNo">678</span> /**<a name="line.678"></a>
+<span class="sourceLineNo">679</span> * Create typed snapshot of the table. Snapshots are considered unique based on <b>the name of the<a name="line.679"></a>
+<span class="sourceLineNo">680</span> * snapshot</b>. Attempts to take a snapshot with the same name (even a different type or with<a name="line.680"></a>
+<span class="sourceLineNo">681</span> * different parameters) will fail with a<a name="line.681"></a>
+<span class="sourceLineNo">682</span> * {@link org.apache.hadoop.hbase.snapshot.SnapshotCreationException} indicating the duplicate<a name="line.682"></a>
+<span class="sourceLineNo">683</span> * naming. Snapshot names follow the same naming constraints as tables in HBase. See<a name="line.683"></a>
+<span class="sourceLineNo">684</span> * {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.684"></a>
+<span class="sourceLineNo">685</span> * @param snapshotName name to give the snapshot on the filesystem. Must be unique from all other<a name="line.685"></a>
+<span class="sourceLineNo">686</span> * snapshots stored on the cluster<a name="line.686"></a>
+<span class="sourceLineNo">687</span> * @param tableName name of the table to snapshot<a name="line.687"></a>
+<span class="sourceLineNo">688</span> * @param type type of snapshot to take<a name="line.688"></a>
+<span class="sourceLineNo">689</span> */<a name="line.689"></a>
+<span class="sourceLineNo">690</span> CompletableFuture<Void> snapshot(final String snapshotName, final TableName tableName,<a name="line.690"></a>
+<span class="sourceLineNo">691</span> SnapshotType type);<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> * Take a snapshot and wait for the server to complete that snapshot asynchronously. Only a single<a name="line.694"></a>
+<span class="sourceLineNo">695</span> * snapshot should be taken at a time for an instance of HBase, or results may be undefined (you<a name="line.695"></a>
+<span class="sourceLineNo">696</span> * can tell multiple HBase clusters to snapshot at the same time, but only one at a time for a<a name="line.696"></a>
+<span class="sourceLineNo">697</span> * single cluster). Snapshots are considered unique based on <b>the name of the snapshot</b>.<a name="line.697"></a>
+<span class="sourceLineNo">698</span> * Attempts to take a snapshot with the same name (even a different type or with different<a name="line.698"></a>
+<span class="sourceLineNo">699</span> * parameters) will fail with a {@link org.apache.hadoop.hbase.snapshot.SnapshotCreationException}<a name="line.699"></a>
+<span class="sourceLineNo">700</span> * indicating the duplicate naming. Snapshot names follow the same naming constraints as tables in<a name="line.700"></a>
+<span class="sourceLineNo">701</span> * HBase. See {@link org.apache.hadoop.hbase.TableName#isLegalFullyQualifiedTableName(byte[])}.<a name="line.701"></a>
+<span class="sourceLineNo">702</span> * You should probably use {@link #snapshot(String, org.apache.hadoop.hbase.TableName)} unless you<a name="line.702"></a>
+<span class="sourceLineNo">703</span> * are sure about the type of snapshot that you want to take.<a name="line.703"></a>
+<span class="sourceLineNo">704</span> * @param snapshot snapshot to take<a name="line.704"></a>
+<span class="sourceLineNo">705</span> */<a name="line.705"></a>
+<span class="sourceLineNo">706</span> CompletableFuture<Void> snapshot(SnapshotDescription snapshot);<a name="line.706"></a>
+<span class="sourceLineNo">707</span><a name="line.707"></a>
+<span class="sourceLineNo">708</span> /**<a name="line.708"></a>
+<span class="sourceLineNo">709</span> * Check the current state of the passed snapshot. There are three possible states:<a name="line.709"></a>
+<span class="sourceLineNo">710</span> * <ol><a name="line.710"></a>
+<span class="sourceLineNo">711</span> * <li>running - returns <tt>false</tt></li><a name="line.711"></a>
+<span class="sourceLineNo">712</span> * <li>finished - returns <tt>true</tt></li><a name="line.712"></a>
+<span class="sourceLineNo">713</span> * <li>finished with error - throws the exception that caused the snapshot to fail</li><a name="line.713"></a>
+<span class="sourceLineNo">714</span> * </ol><a name="line.714"></a>
+<span class="sourceLineNo">715</span> * The cluster only knows about the most recent snapshot. Therefore, if another snapshot has been<a name="line.715"></a>
+<span class="sourceLineNo">716</span> * run/started since the snapshot you are checking, you will receive an<a name="line.716"></a>
+<span class="sourceLineNo">717</span> * {@link org.apache.hadoop.hbase.snapshot.UnknownSnapshotException}.<a name="line.717"></a>
+<span class="sourceLineNo">718</span> * @param snapshot description of the snapshot to check<a name="line.718"></a>
+<span class="sourceLineNo">719</span> * @return <tt>true</tt> if the snapshot is completed, <tt>false</tt> if the snapshot is still<a name="line.719"></a>
+<span class="sourceLineNo">720</span> * running<a name="line.720"></a>
+<span class="sourceLineNo">721</span> */<a name="line.721"></a>
+<span class="sourceLineNo">722</span> CompletableFuture<Boolean> isSnapshotFinished(final SnapshotDescription snapshot);<a name="line.722"></a>
+<span class="sourceLineNo">723</span><a name="line.723"></a>
+<span class="sourceLineNo">724</span> /**<a name="line.724"></a>
+<span class="sourceLineNo">725</span> * Restore the specified snapshot on the original table. (The table must be disabled) If the<a name="line.725"></a>
+<span class="sourceLineNo">726</span> * "hbase.snapshot.restore.take.failsafe.snapshot" configuration property is set to true, a<a name="line.726"></a>
+<span class="sourceLineNo">727</span> * snapshot of the current table is taken before executing the restore operation. In case of<a name="line.727"></a>
+<span class="sourceLineNo">728</span> * restore failure, the failsafe snapshot will be restored. If the restore completes without<a name="line.728"></a>
+<span class="sourceLineNo">729</span> * problem the failsafe snapshot is deleted.<a name="line.729"></a>
+<span class="sourceLineNo">730</span> * @param snapshotName name of the snapshot to restore<a name="line.730"></a>
+<span class="sourceLineNo">731</span> */<a name="line.731"></a>
+<span class="sourceLineNo">732</span> CompletableFuture<Void> restoreSnapshot(String snapshotName);<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> * Restore the specified snapshot on the original table. (The table must be disabled) If<a name="line.735"></a>
+<span class="sourceLineNo">736</span> * 'takeFailSafeSnapshot' is set to true, a snapshot of the current table is taken before<a name="line.736"></a>
+<span class="sourceLineNo">737</span> * executing the restore operation. In case of restore failure, the failsafe snapshot will be<a name="line.737"></a>
+<span class="sourceLineNo">738</span> * restored. If the restore completes without problem the failsafe snapshot is deleted. The<a name="line.738"></a>
+<span class="sourceLineNo">739</span> * failsafe snapshot name is configurable by using the property<a name="line.739"></a>
+<span class="sourceLineNo">740</span> * "hbase.snapshot.restore.failsafe.name".<a name="line.740"></a>
+<span class="sourceLineNo">741</span> * @param snapshotName name of the snapshot to restore<a name="line.741"></a>
+<span class="sourceLineNo">742</span> * @param takeFailSafeSnapshot true if the failsafe snapshot should be taken<a name="line.742"></a>
+<span class="sourceLineNo">743</span> */<a name="line.743"></a>
+<span class="sourceLineNo">744</span> CompletableFuture<Void> restoreSnapshot(String snapshotName, boolean takeFailSafeSnapshot);<a name="line.744"></a>
<span class="sourceLineNo">745</span><a name="line.745"></a>
<span class="sourceLineNo">746</span> /**<a name="line.746"></a>
-<span class="sourceLineNo">747</span> * Execute a distributed procedure on a cluster.<a name="line.747"></a>
-<span class="sourceLineNo">748</span> * @param signature A distributed procedure is uniquely identified by its signature (default the<a name="line.748"></a>
-<span class="sourceLineNo">749</span> * root ZK node name of the procedure).<a name="line.749"></a>
-<span class="sourceLineNo">750</span> * @param instance The instance name of the procedure. For some procedures, this parameter is<a name="line.750"></a>
-<span class="sourceLineNo">751</span> * optional.<a name="line.751"></a>
-<span class="sourceLineNo">752</span> * @param props Property/Value pairs of properties passing to the procedure<a name="line.752"></a>
-<span class="sourceLineNo">753</span> */<a name="line.753"></a>
-<span class="sourceLineNo">754</span> CompletableFuture<Void> execProcedure(String signature, String instance,<a name="line.754"></a>
-<span class="sourceLineNo">755</span> Map<String, String> props);<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> * Execute a distributed procedure on a cluster.<a name="line.758"></a>
-<span class="sourceLineNo">759</span> * @param signature A distributed procedure is uniquely identified by its signature (default the<a name="line.759"></a>
-<span class="sourceLineNo">760</span> * root ZK node name of the procedure).<a name="line.760"></a>
-<span class="sourceLineNo">761</span> * @param instance The instance name of the procedure. For some procedures, this parameter is<a name="line.761"></a>
-<span class="sourceLineNo">762</span> * optional.<a name="line.762"></a>
-<span class="sourceLineNo">763</span> * @param props Property/Value pairs of properties passing to the procedure<a name="line.763"></a>
-<span class="sourceLineNo">764</span> * @return data returned after procedure execution. null if no return data.<a name="line.764"></a>
-<span class="sourceLineNo">765</span> */<a name="line.765"></a>
-<span class="sourceLineNo">766</span> CompletableFuture<byte[]> execProcedureWithRet(String signature, String instance,<a name="line.766"></a>
-<span class="sourceLineNo">767</span> Map<String, String> props);<a name="line.767"></a>
-<span class="sourceLineNo">768</span><a name="line.768"></a>
-<span class="sourceLineNo">769</span> /**<a name="line.769"></a>
-<span class="sourceLineNo">770</span> * Check the current state of the specified procedure. There are three possible states:<a name="line.770"></a>
-<span class="sourceLineNo">771</span> * <ol><a name="line.771"></a>
-<span class="sourceLineNo">772</span> * <li>running - returns <tt>false</tt></li><a name="line.772"></a>
-<span class="sourceLineNo">773</span> * <li>finished - returns <tt>true</tt></li><a name="line.773"></a>
-<span class="sourceLineNo">774</span> * <li>finished with error - throws the exception that caused the procedure to fail</li><a name="line.774"></a>
-<span class="sourceLineNo">775</span> * </ol><a name="line.775"></a>
-<span class="sourceLineNo">776</span> * @param signature The signature that uniquely identifies a procedure<a name="line.776"></a>
-<span class="sourceLineNo">777</span> * @param instance The instance name of the procedure<a name="line.777"></a>
-<span class="sourceLineNo">778</span> * @param props Property/Value pairs of properties passing to the procedure<a name="line.778"></a>
-<span class="sourceLineNo">779</span> * @return true if the specified procedure is finished successfully, false if it is still running.<a name="line.779"></a>
-<span class="sourceLineNo">780</span> * The value is vrapped by {@link CompletableFuture}<a name="line.780"></a>
+<span class="sourceLineNo">747</span> * Create a new table by cloning the snapshot content.<a name="line.747"></a>
+<span class="sourceLineNo">748</span> * @param snapshotName name of the snapshot to be cloned<a name="line.748"></a>
+<span class="sourceLineNo">749</span> * @param tableName name of the table where the snapshot will be restored<a name="line.749"></a>
+<span class="sourceLineNo">750</span> */<a name="line.750"></a>
+<span class="sourceLineNo">751</span> CompletableFuture<Void> cloneSnapshot(final String snapshotName, final TableName tableName);<a name="line.751"></a>
+<span class="sourceLineNo">752</span><a name="line.752"></a>
+<span class="sourceLineNo">753</span> /**<a name="line.753"></a>
+<span class="sourceLineNo">754</span> * List completed snapshots.<a name="line.754"></a>
+<span class="sourceLineNo">755</span> * @return a list of snapshot descriptors for completed snapshots wrapped by a<a name="line.755"></a>
+<span class="sourceLineNo">756</span> * {@link CompletableFuture}<a name="line.756"></a>
+<span class="sourceLineNo">757</span> */<a name="line.757"></a>
+<span class="sourceLineNo">758</span> CompletableFuture<List<SnapshotDescription>> listSnapshots();<a name="line.758"></a>
+<span class="sourceLineNo">759</span><a name="line.759"></a>
+<span class="sourceLineNo">760</span> /**<a name="line.760"></a>
+<span class="sourceLineNo">761</span> * List all the completed snapshots matching the given regular expression.<a name="line.761"></a>
+<span class="sourceLineNo">762</span> * @param regex The regular expression to match against<a name="line.762"></a>
+<span class="sourceLineNo">763</span> * @return - returns a List of SnapshotDescription wrapped by a {@link CompletableFuture}<a name="line.763"></a>
+<span class="sourceLineNo">764</span> */<a name="line.764"></a>
+<span class="sourceLineNo">765</span> CompletableFuture<List<SnapshotDescription>> listSnapshots(String regex);<a name="line.765"></a>
+<span class="sourceLineNo">766</span><a name="line.766"></a>
+<span class="sourceLineNo">767</span> /**<a name="line.767"></a>
+<span class="sourceLineNo">768</span> * List all the completed snapshots matching the given pattern.<a name="line.768"></a>
+<span class="sourceLineNo">769</span> * @param pattern The compiled regular expression to match against<a name="line.769"></a>
+<span class="sourceLineNo">770</span> * @return - returns a List of SnapshotDescription wrapped by a {@link CompletableFuture}<a name="line.770"></a>
+<span class="sourceLineNo">771</span> */<a name="line.771"></a>
+<span class="sourceLineNo">772</span> CompletableFuture<List<SnapshotDescription>> listSnapshots(Pattern pattern);<a name="line.772"></a>
+<span class="sourceLineNo">773</span><a name="line.773"></a>
+<span class="sourceLineNo">774</span> /**<a name="line.774"></a>
+<span class="sourceLineNo">775</span> * List all the completed snapshots matching the given table name regular expression and snapshot<a name="line.775"></a>
+<span class="sourceLineNo">776</span> * name regular expression.<a name="line.776"></a>
+<span class="sourceLineNo">777</span> * @param tableNameRegex The table name regular expression to match against<a name="line.777"></a>
+<span class="sourceLineNo">778</span> * @param snapshotNameRegex The snapshot name regular expression to match against<a name="line.778"></a>
+<span class="sourceLineNo">779</span> * @return - returns a List of completed SnapshotDescription wrapped by a<a name="line.779"></a>
+<span class="sourceLineNo">780</span> * {@link CompletableFuture}<a name="line.780"></a>
<span class="sourceLineNo">781</span> */<a name="line.781"></a>
-<span class="sourceLineNo">782</span> CompletableFuture<Boolean> isProcedureFinished(String signature, String instance,<a name="line.782"></a>
-<span class="sourceLineNo">783</span> Map<String, String> props);<a name="line.783"></a>
+<span class="sourceLineNo">782</span> CompletableFuture<List<SnapshotDescription>> listTableSnapshots(String tableNameRegex,<a name="line.782"></a>
+<span class="sourceLineNo">783</span> String snapshotNameRegex);<a name="line.783"></a>
<span class="sourceLineNo">784</span><a name="line.784"></a>
<span class="sourceLineNo">785</span> /**<a name="line.785"></a>
-<span class="sourceLineNo">786</span> * abort a procedure<a name="line.786"></a>
-<span class="sourceLineNo">787</span> * @param procId ID of the procedure to abort<a name="line.787"></a>
-<span class="sourceLineNo">788</span> * @param mayInterruptIfRunning if the proc completed at least one step, should it be aborted?<a name="line.788"></a>
-<span class="sourceLineNo">789</span> * @return true if aborted, false if procedure already completed or does not exist. the value is<a name="line.789"></a>
-<span class="sourceLineNo">790</span> * wrapped by {@link CompletableFuture}<a name="line.790"></a>
-<span class="sourceLineNo">791</span> */<a name="line.791"></a>
-<span class="sourceLineNo">792</span> CompletableFuture<Boolean> abortProcedure(long procId, boolean mayInterruptIfRunning);<a name="line.792"></a>
-<span class="sourceLineNo">793</span><a name="line.793"></a>
-<span class="sourceLineNo">794</span> /**<a name="line.794"></a>
-<span class="sourceLineNo">795</span> * List procedures<a name="line.795"></a>
-<span class="sourceLineNo">796</span> * @return procedure list wrapped by {@link CompletableFuture}<a name="line.796"></a>
-<span class="sourceLineNo">797</span> */<a name="line.797"></a>
-<span class="sourceLineNo">798</span> CompletableFuture<ProcedureInfo[]> listProcedures();<a name="line.798"></a>
-<span class="sourceLineNo">799</span>}<a name="line.799"></a>
+<span class="sourceLineNo">786</span> * List all the completed snapshots matching the given table name regular expression and snapshot<a name="line.786"></a>
+<span class="sourceLineNo">787</span> * name regular expression.<a name="line.787"></a>
+<span class="sourceLineNo">788</span> * @param tableNamePattern The compiled table name regular expression to match against<a name="line.788"></a>
+<span class="sourceLineNo">789</span> * @param snapshotNamePattern The compiled snapshot name regular expression to match against<a name="line.789"></a>
+<span class="sourceLineNo">790</span> * @return - returns a List of completed SnapshotDescription wrapped by a<a name="line.790"></a>
+<span class="sourceLineNo">791</span> * {@link CompletableFuture}<a name="line.791"></a>
+<span class="sourceLineNo">792</span> */<a name="line.792"></a>
+<span class="sourceLineNo">793</span> CompletableFuture<List<SnapshotDescription>> listTableSnapshots(Pattern tableNamePattern,<a name="line.793"></a>
+<span class="sourceLineNo">794</span> Pattern snapshotNamePattern);<a name="line.794"></a>
+<span class="sourceLineNo">795</span><a name="line.795"></a>
+<span class="sourceLineNo">796</span> /**<a name="line.796"></a>
+<span class="sourceLineNo">797</span> * Delete an existing snapshot.<a name="line.797"></a>
+<span class="sourceLineNo">798</span> * @param snapshotName name of the snapshot<a name="line.798"></a>
+<span class="sourceLineNo">799</span> */<a name="line.799"></a>
+<span class="sourceLineNo">800</span> CompletableFuture<Void> deleteSnapshot(String snapshotName);<a name="line.800"></a>
+<span class="sourceLineNo">801</span><a name="line.801"></a>
+<span class="sourceLineNo">802</span> /**<a name="line.802"></a>
+<span class="sourceLineNo">803</span> * Delete existing snapshots whose names match the pattern passed.<a name="line.803"></a>
+<span class="sourceLineNo">804</span> * @param regex The regular expression to match against<a name="line.804"></a>
+<span class="sourceLineNo">805</span> */<a name="line.805"></a>
+<span class="sourceLineNo">806</span> CompletableFuture<Void> deleteSnapshots(String regex);<a name="line.806"></a>
+<span class="sourceLineNo">807</span><a name="line.807"></a>
+<span class="sourceLineNo">808</span> /**<a name="line.808"></a>
+<span class="sourceLineNo">809</span> * Delete existing snapshots whose names match the pattern passed.<a name="line.809"></a>
+<span class="sourceLineNo">810</span> * @param pattern pattern for names of the snapshot to match<a name="line.810"></a>
+<span class="sourceLineNo">811</span> */<a name="line.811"></a>
+<span class="sourceLineNo">812</span> CompletableFuture<Void> deleteSnapshots(Pattern pattern);<a name="line.812"></a>
+<span class="sourceLineNo">813</span><a name="line.813"></a>
+<span class="sourceLineNo">814</span> /**<a name="line.814"></a>
+<span class="sourceLineNo">815</span> * Delete all existing snapshots matching the given table name regular expression and snapshot<a name="line.815"></a>
+<span class="sourceLineNo">816</span> * name regular expression.<a name="line.816"></a>
+<span class="sourceLineNo">817</span> * @param tableNameRegex The table name regular expression to match against<a name="line.817"></a>
+<span class="sourceLineNo">818</span> * @param snapshotNameRegex The snapshot name regular expression to match against<a name="line.818"></a>
+<span class="sourceLineNo">819</span> */<a name="line.819"></a>
+<span class="sourceLineNo">820</span> CompletableFuture<Void> deleteTableSnapshots(String tableNameRegex, String snapshotNameRegex);<a name="line.820"></a>
+<span class="sourceLineNo">821</span><a name="line.821"></a>
+<span class="sourceLineNo">822</span> /**<a name="line.822"></a>
+<span class="sourceLineNo">823</span> * Delete all existing snapshots matching the given table name regular expression and snapshot<a name="line.823"></a>
+<span class="sourceLineNo">824</span> * name regular expression.<a name="line.824"></a>
+<span class="sourceLineNo">825</span> * @param tableNamePattern The compiled table name regular expression to match against<a name="line.825"></a>
+<span class="sourceLineNo">826</span> * @param snapshotNamePattern The compiled snapshot name regular expression to match against<a name="line.826"></a>
+<span class="sourceLineNo">827</span> */<a name="line.827"></a>
+<span class="sourceLineNo">828</span> CompletableFuture<Void> deleteTableSnapshots(Pattern tableNamePattern,<a name="line.828"></a>
+<span class="sourceLineNo">829</span> Pattern snapshotNamePattern);<a name="line.829"></a>
+<span class="sourceLineNo">830</span><a name="line.830"></a>
+<span class="sourceLineNo">831</span> /**<a name="line.831"></a>
+<span class="sourceLineNo">832</span> * Execute a distributed procedure on a cluster.<a name="line.832"></a>
+<span class="sourceLineNo">833</span> * @param signature A distributed procedure is uniquely identified by its signature (default the<a name="line.833"></a>
+<span class="sourceLineNo">834</span> * root ZK node name of the procedure).<a name="line.834"></a>
+<span class="sourceLineNo">835</span> * @param instance The instance name of the procedure. For some procedures, this parameter is<a name="line.835"></a>
+<span class="sourceLineNo">836</span> * optional.<a name="line.836"></a>
+<span class="sourceLineNo">837</span> * @param props Property/Value pairs of properties passing to the procedure<a name="line.837"></a>
+<span class="sourceLineNo">838</span> */<a name="line.838"></a>
+<span class="sourceLineNo">839</span> CompletableFuture<Void> execProcedure(String signature, String instance,<a name="line.839"></a>
+<span class="sourceLineNo">840</span> Map<String, String> props);<a name="line.840"></a>
+<span class="sourceLineNo">841</span><a name="line.841"></a>
+<span class="sourceLineNo">842</span> /**<a name="line.842"></a>
+<span class="sourceLineNo">843</span> * Execute a distributed procedure on a cluster.<a name="line.843"></a>
+<span class="sourceLineNo">844</span> * @param signature A distributed procedure is uniquely identified by its signature (default the<a name="line.844"></a>
+<span class="sourceLineNo">845</span> * root ZK node name of the procedure).<a name="line.845"></a>
+<span class="sourceLineNo">846</span> * @param instance The instance name of the procedure. For some procedures, this parameter is<a name="line.846"></a>
+<span class="sourceLineNo">847</span> * optional.<a name="line.847"></a>
+<span class="sourceLineNo">848</span> * @param props Property/Value pairs of properties passing to the procedure<a name="line.848"></a>
+<span class="sourceLineNo">849</span> * @return data returned after procedure execution. null if no return data.<a name="line.849"></a>
+<span class="sourceLineNo">850</span> */<a name="line.850"></a>
+<span class="sourceLineNo">851</span> CompletableFuture<byte[]> execProcedureWithRet(String signature, String instance,<a name="line.851"></a>
+<span class="sourceLineNo">852</span> Map<String, String> props);<a name="line.852"></a>
+<span class="sourceLineNo">853</span><a name="line.853"></a>
+<span class="sourceLineNo">854</span> /**<a name="line.854"></a>
+<span class="sourceLineNo">855</span> * Check the current state of the specified procedure. There are three possible states:<a name="line.855"></a>
+<span class="s
<TRUNCATED>
[35/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/client/class-use/CompactType.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/client/class-use/CompactType.html b/devapidocs/org/apache/hadoop/hbase/client/class-use/CompactType.html
index 32682a3..0fb40ae 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/class-use/CompactType.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/class-use/CompactType.html
@@ -127,6 +127,15 @@ the order they are declared.</div>
</tr>
<tbody>
<tr 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><<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>></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compact-org.apache.hadoop.hbase.TableName-byte:A-boolean-org.apache.hadoop.hbase.client.CompactType-">compact</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
+ byte[] columnFamily,
+ boolean major,
+ <a href="../../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a> compactType)</code>
+<div class="block">Compact column family of a table, Asynchronous operation even if CompletableFuture.get()</div>
+</td>
+</tr>
+<tr class="rowColor">
<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#compact-org.apache.hadoop.hbase.TableName-byte:A-boolean-org.apache.hadoop.hbase.client.CompactType-">compact</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] columnFamily,
@@ -135,7 +144,7 @@ the order they are declared.</div>
<div class="block">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#compact-org.apache.hadoop.hbase.TableName-byte:A-org.apache.hadoop.hbase.client.CompactType-">compact</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] columnFamily,
@@ -143,7 +152,7 @@ the order they are declared.</div>
<div class="block">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">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#compact-org.apache.hadoop.hbase.TableName-byte:A-org.apache.hadoop.hbase.client.CompactType-">compact</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] columnFamily,
@@ -151,35 +160,35 @@ the order they are declared.</div>
<div class="block">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#compact-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.CompactType-">compact</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<a href="../../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a> compactType)</code>
<div class="block">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#compact-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.CompactType-">compact</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<a href="../../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a> compactType)</code>
<div class="block">Compact a table.</div>
</td>
</tr>
-<tr class="rowColor">
+<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> tableName,
<a href="../../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a> 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> tableName,
<a href="../../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a> compactType)</code>
<div class="block">Get the current compaction state of 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-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> tableName,
byte[] columnFamily,
@@ -187,7 +196,7 @@ the order they are declared.</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">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> tableName,
byte[] columnFamily,
@@ -195,14 +204,14 @@ the order they are declared.</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> tableName,
<a href="../../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a> compactType)</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-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> tableName,
<a href="../../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a> compactType)</code>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 4e02a26..efaff15 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -521,25 +521,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><E> (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><T>, 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/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/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/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/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/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/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/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/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/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/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/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/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/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>
+<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/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/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/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/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/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/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/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/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/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/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/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/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/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/MasterSwitchType.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">MasterSwitchType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 98fe2a3..96f0b14 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><E> (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><T>, 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/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>
+<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>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 1dc65a2..f5c87c3 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><E> (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><T>, 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/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/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/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/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/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/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/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/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/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.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/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/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/CompareFilter.CompareOp.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">CompareFilter.CompareOp</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 030c3b6..64887fc 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -273,12 +273,12 @@
<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><E> (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><T>, 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/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/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/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.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/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/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/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/Cacheable.MemoryType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">Cacheable.MemoryType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 f831385..b888d20 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
@@ -346,8 +346,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><E> (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><T>, 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/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/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>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
index e80db20..a35e05a 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
@@ -1297,7 +1297,7 @@ public static void <a href="../../../../../src-html/org/apache/hadoop/
<ul class="blockList">
<li class="blockList">
<h4>buildDependencyClasspath</h4>
-<pre>public static <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/mapreduce/TableMapReduceUtil.html#line.804">buildDependencyClasspath</a>(org.apache.hadoop.conf.Configuration conf)</pre>
+<pre>public static <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/mapreduce/TableMapReduceUtil.html#line.805">buildDependencyClasspath</a>(org.apache.hadoop.conf.Configuration conf)</pre>
<div class="block">Returns a classpath string built from the content of the "tmpjars" value in <code>conf</code>.
Also exposed to shell scripts via `bin/hbase mapredcp`.</div>
</li>
@@ -1308,7 +1308,7 @@ public static void <a href="../../../../../src-html/org/apache/hadoop/
<ul class="blockList">
<li class="blockList">
<h4>addDependencyJars</h4>
-<pre>public static void <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#line.828">addDependencyJars</a>(org.apache.hadoop.mapreduce.Job job)
+<pre>public static void <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#line.829">addDependencyJars</a>(org.apache.hadoop.mapreduce.Job job)
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>
<div class="block">Add the HBase dependency jars as well as jars for any of the configured
job classes to the job configuration, so that JobClient will ship them
@@ -1326,7 +1326,7 @@ public static void <a href="../../../../../src-html/org/apache/hadoop/
<li class="blockList">
<h4>addDependencyJars</h4>
<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public static void <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#line.854">addDependencyJars</a>(org.apache.hadoop.conf.Configuration conf,
+public static void <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#line.855">addDependencyJars</a>(org.apache.hadoop.conf.Configuration conf,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><?>... classes)
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>
<div class="block"><span class="deprecatedLabel">Deprecated.</span> <span class="deprecationComment">rely on <a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#addDependencyJars-org.apache.hadoop.mapreduce.Job-"><code>addDependencyJars(Job)</code></a> instead.</span></div>
@@ -1346,7 +1346,7 @@ public static void <a href="../../../../../src-html/org/apache/hadoop/
<li class="blockList">
<h4>addDependencyJarsForClasses</h4>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public static void <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#line.876">addDependencyJarsForClasses</a>(org.apache.hadoop.conf.Configuration conf,
+public static void <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#line.877">addDependencyJarsForClasses</a>(org.apache.hadoop.conf.Configuration conf,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><?>... classes)
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>
<div class="block">Add the jars containing the given classes to the job's configuration
@@ -1371,7 +1371,7 @@ public static void <a href="../../../../../src-html/org/apache/hadoop/
<ul class="blockList">
<li class="blockList">
<h4>findOrCreateJar</h4>
-<pre>private static org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#line.923">findOrCreateJar</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><?> my_class,
+<pre>private static org.apache.hadoop.fs.Path <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#line.924">findOrCreateJar</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><?> my_class,
org.apache.hadoop.fs.FileSystem fs,
<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><<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="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> packagedClasses)
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>
@@ -1399,7 +1399,7 @@ public static void <a href="../../../../../src-html/org/apache/hadoop/
<ul class="blockList">
<li class="blockList">
<h4>updateMap</h4>
-<pre>private static void <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#line.947">updateMap</a>(<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> jar,
+<pre>private static void <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#line.948">updateMap</a>(<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> jar,
<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><<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="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> packagedClasses)
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>
<div class="block">Add entries to <code>packagedClasses</code> corresponding to class files
@@ -1419,7 +1419,7 @@ public static void <a href="../../../../../src-html/org/apache/hadoop/
<ul class="blockList">
<li class="blockList">
<h4>findContainingJar</h4>
-<pre>private static <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/mapreduce/TableMapReduceUtil.html#line.974">findContainingJar</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><?> my_class,
+<pre>private static <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/mapreduce/TableMapReduceUtil.html#line.975">findContainingJar</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><?> my_class,
<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><<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="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>> packagedClasses)
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>
<div class="block">Find a jar that contains a class of the same name, if any. It will return
@@ -1442,7 +1442,7 @@ public static void <a href="../../../../../src-html/org/apache/hadoop/
<ul class="blockListLast">
<li class="blockList">
<h4>getJar</h4>
-<pre>private static <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/mapreduce/TableMapReduceUtil.html#line.1014">getJar</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><?> my_class)</pre>
+<pre>private static <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/mapreduce/TableMapReduceUtil.html#line.1015">getJar</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><?> my_class)</pre>
<div class="block">Invoke 'getJar' on a custom JarFinder implementation. Useful for some job
configuration contexts (HBASE-8140) and also for testing on MRv2.
check if we have HADOOP-9426.</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
index 2a07d75..b88dc3c 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
@@ -281,10 +281,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><E> (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><T>, 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.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">CellCounter.CellCounterMapper.Counters</span></a></li>
<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableSplit.Version.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">TableSplit.Version</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/SyncTable.SyncMapper.Counter.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">SyncTable.SyncMapper.Counter</span></a></li>
<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/RowCounter.RowCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">RowCounter.RowCounterMapper.Counters</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">CellCounter.CellCounterMapper.Counters</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/SyncTable.SyncMapper.Counter.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">SyncTable.SyncMapper.Counter</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 0d989e3..39a5476 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -322,11 +322,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><E> (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><T>, 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/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/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/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>
+<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/SplitLogManager.TerminationStatus.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.TerminationStatus</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 d3cc432..ff790b4 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/procedure/package-tree.html
@@ -174,9 +174,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><E> (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><T>, 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/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>
-<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>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 f1def17..342945d 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><E> (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><T>, 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/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/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>
<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/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/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/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/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/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/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/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/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.OperationStatusCode</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 5938587..9462a3a 100644
--- a/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -191,11 +191,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><E> (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><T>, 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/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/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/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/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/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/LockInfo.LockType.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">LockInfo.LockType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 da16ba9..024ac82 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -178,11 +178,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><E> (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><T>, 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/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/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/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/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/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/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/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">OperationQuota.OperationType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html b/devapidocs/org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html
index ac8e764..3eaebfb 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html
@@ -159,6 +159,10 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html#store">store</a></span></code> </td>
</tr>
<tr class="rowColor">
+<td class="colFirst"><code>private long</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html#time">time</a></span></code> </td>
+</tr>
+<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html#user">user</a></span></code> </td>
</tr>
@@ -288,12 +292,21 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.
<a name="user">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>user</h4>
<pre>private <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html#line.422">user</a></pre>
</li>
</ul>
+<a name="time">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>time</h4>
+<pre>private long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html#line.423">time</a></pre>
+</li>
+</ul>
</li>
</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
@@ -308,7 +321,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.
<ul class="blockListLast">
<li class="blockList">
<h4>CompactionRunner</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html#line.424">CompactionRunner</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a> store,
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html#line.425">CompactionRunner</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Store.html" title="interface in org.apache.hadoop.hbase.regionserver">Store</a> store,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a> region,
<a href="../../../../../org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">CompactionContext</a> compaction,
<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a> parent,
@@ -329,7 +342,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.
<ul class="blockList">
<li class="blockList">
<h4>toString</h4>
-<pre>public <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/regionserver/CompactSplitThread.CompactionRunner.html#line.437">toString</a>()</pre>
+<pre>public <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/regionserver/CompactSplitThread.CompactionRunner.html#line.439">toString</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><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></code> in class <code><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></code></dd>
@@ -342,7 +355,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.
<ul class="blockList">
<li class="blockList">
<h4>doCompaction</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html#line.442">doCompaction</a>(<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> user)</pre>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html#line.445">doCompaction</a>(<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a> user)</pre>
</li>
</ul>
<a name="run--">
@@ -351,7 +364,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.
<ul class="blockList">
<li class="blockList">
<h4>run</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html#line.519">run</a>()</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html#line.522">run</a>()</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true#run--" title="class or interface in java.lang">run</a></code> in interface <code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
@@ -364,7 +377,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.
<ul class="blockList">
<li class="blockList">
<h4>formatStackTrace</h4>
-<pre>private <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/regionserver/CompactSplitThread.CompactionRunner.html#line.528">formatStackTrace</a>(<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> ex)</pre>
+<pre>private <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/regionserver/CompactSplitThread.CompactionRunner.html#line.531">formatStackTrace</a>(<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> ex)</pre>
</li>
</ul>
<a name="compareTo-org.apache.hadoop.hbase.regionserver.CompactSplitThread.CompactionRunner-">
@@ -373,7 +386,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.
<ul class="blockListLast">
<li class="blockList">
<h4>compareTo</h4>
-<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html#line.537">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html" title="class in org.apache.hadoop.hbase.regionserver">CompactSplitThread.CompactionRunner</a> o)</pre>
+<pre>public int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html#line.540">compareTo</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html" title="class in org.apache.hadoop.hbase.regionserver">CompactSplitThread.CompactionRunner</a> o)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true#compareTo-T-" title="class or interface in java.lang">compareTo</a></code> in interface <code><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><<a href="../../../../../org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html" title="class in org.apache.hadoop.hbase.regionserver">CompactSplitThread.CompactionRunner</a>></code></dd>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/regionserver/CompactSplitThread.Rejection.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/CompactSplitThread.Rejection.html b/devapidocs/org/apache/hadoop/hbase/regionserver/CompactSplitThread.Rejection.html
index a2fe7c4..71b2988 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/CompactSplitThread.Rejection.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/CompactSplitThread.Rejection.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
</dl>
<hr>
<br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#line.551">CompactSplitThread.Rejection</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#line.554">CompactSplitThread.Rejection</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/concurrent/RejectedExecutionHandler.html?is-external=true" title="class or interface in java.util.concurrent">RejectedExecutionHandler</a></pre>
<div class="block">Cleanup class to use when rejecting a compaction request from the queue.</div>
@@ -191,7 +191,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
<ul class="blockListLast">
<li class="blockList">
<h4>Rejection</h4>
-<pre>private <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.Rejection.html#line.551">Rejection</a>()</pre>
+<pre>private <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.Rejection.html#line.554">Rejection</a>()</pre>
</li>
</ul>
</li>
@@ -208,7 +208,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurren
<ul class="blockListLast">
<li class="blockList">
<h4>rejectedExecution</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.Rejection.html#line.553">rejectedExecution</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a> runnable,
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.Rejection.html#line.556">rejectedExecution</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a> runnable,
<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ThreadPoolExecutor.html?is-external=true" title="class or interface in java.util.concurrent">ThreadPoolExecutor</a> pool)</pre>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html b/devapidocs/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html
index c334291..493ed49 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html
@@ -1050,7 +1050,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Compacti
<ul class="blockList">
<li class="blockList">
<h4>onConfigurationChange</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#line.566">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration newConf)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#line.569">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration newConf)</pre>
<div class="block">This method would be called by the <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf"><code>ConfigurationManager</code></a>
object when the <code>Configuration</code> object is reloaded from disk.</div>
<dl>
@@ -1065,7 +1065,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Compacti
<ul class="blockList">
<li class="blockList">
<h4>getSmallCompactionThreadNum</h4>
-<pre>protected int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#line.630">getSmallCompactionThreadNum</a>()</pre>
+<pre>protected int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#line.633">getSmallCompactionThreadNum</a>()</pre>
</li>
</ul>
<a name="getLargeCompactionThreadNum--">
@@ -1074,7 +1074,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Compacti
<ul class="blockList">
<li class="blockList">
<h4>getLargeCompactionThreadNum</h4>
-<pre>protected int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#line.634">getLargeCompactionThreadNum</a>()</pre>
+<pre>protected int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#line.637">getLargeCompactionThreadNum</a>()</pre>
</li>
</ul>
<a name="getSplitThreadNum--">
@@ -1083,7 +1083,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Compacti
<ul class="blockList">
<li class="blockList">
<h4>getSplitThreadNum</h4>
-<pre>protected int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#line.638">getSplitThreadNum</a>()</pre>
+<pre>protected int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#line.641">getSplitThreadNum</a>()</pre>
</li>
</ul>
<a name="registerChildren-org.apache.hadoop.hbase.conf.ConfigurationManager-">
@@ -1092,7 +1092,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Compacti
<ul class="blockList">
<li class="blockList">
<h4>registerChildren</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#line.646">registerChildren</a>(<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a> manager)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#line.649">registerChildren</a>(<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a> manager)</pre>
<div class="block">Needs to be called to register the children to the manager.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1108,7 +1108,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Compacti
<ul class="blockList">
<li class="blockList">
<h4>deregisterChildren</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#line.654">deregisterChildren</a>(<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a> manager)</pre>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#line.657">deregisterChildren</a>(<a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationManager.html" title="class in org.apache.hadoop.hbase.conf">ConfigurationManager</a> manager)</pre>
<div class="block">Needs to be called to deregister the children from the manager.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1124,7 +1124,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Compacti
<ul class="blockList">
<li class="blockList">
<h4>getCompactionThroughputController</h4>
-<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/throttle/ThroughputController.html" title="interface in org.apache.hadoop.hbase.regionserver.throttle">ThroughputController</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#line.659">getCompactionThroughputController</a>()</pre>
+<pre>public <a href="../../../../../org/apache/hadoop/hbase/regionserver/throttle/ThroughputController.html" title="interface in org.apache.hadoop.hbase.regionserver.throttle">ThroughputController</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#line.662">getCompactionThroughputController</a>()</pre>
</li>
</ul>
<a name="shutdownLongCompactions--">
@@ -1133,7 +1133,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/Compacti
<ul class="blockListLast">
<li class="blockList">
<h4>shutdownLongCompactions</h4>
-<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#line.669">shutdownLongCompactions</a>()</pre>
+<pre>void <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/CompactSplitThread.html#line.672">shutdownLongCompactions</a>()</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 f171fa9..65212e5 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -683,20 +683,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><E> (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><T>, 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/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/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/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/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/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/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/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/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/ImmutableSegment.Type.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ImmutableSegment.Type</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/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/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/ImmutableSegment.Type.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ImmutableSegment.Type</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/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/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/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/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/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/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/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/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/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/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.LimitScope</span></a></li>
</ul>
</li>
</ul>
[25/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html
index 8750fa2..4fd4af0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteNamespaceProcedureBiConsumer.html
@@ -48,2133 +48,2409 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span>import io.netty.util.Timeout;<a name="line.41"></a>
<span class="sourceLineNo">042</span>import io.netty.util.TimerTask;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.commons.logging.Log;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.commons.logging.LogFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ServerName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.HConstants;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>/**<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * The implementation of AsyncAdmin.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@InterfaceAudience.Private<a name="line.185"></a>
-<span class="sourceLineNo">186</span>@InterfaceStability.Evolving<a name="line.186"></a>
-<span class="sourceLineNo">187</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.187"></a>
+<span class="sourceLineNo">043</span>import org.apache.commons.io.IOUtils;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.commons.logging.Log;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.commons.logging.LogFactory;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ServerName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HConstants;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.TableName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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.snapshot.ClientSnapshotDescriptionUtils;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.187"></a>
<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> private final AsyncConnectionImpl connection;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span> private final RawAsyncTable metaTable;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final long rpcTimeoutNs;<a name="line.195"></a>
+<span class="sourceLineNo">189</span>/**<a name="line.189"></a>
+<span class="sourceLineNo">190</span> * The implementation of AsyncAdmin.<a name="line.190"></a>
+<span class="sourceLineNo">191</span> */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>@InterfaceAudience.Private<a name="line.192"></a>
+<span class="sourceLineNo">193</span>@InterfaceStability.Evolving<a name="line.193"></a>
+<span class="sourceLineNo">194</span>public class AsyncHBaseAdmin 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 final long operationTimeoutNs;<a name="line.197"></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 long pauseNs;<a name="line.199"></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 int maxAttempts;<a name="line.201"></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 int startLogErrorsCnt;<a name="line.203"></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 NonceGenerator ng;<a name="line.205"></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> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> this.connection = connection;<a name="line.208"></a>
-<span class="sourceLineNo">209</span> this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> this.rpcTimeoutNs = connection.connConf.getRpcTimeoutNs();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.212"></a>
-<span class="sourceLineNo">213</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.213"></a>
-<span class="sourceLineNo">214</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<a name="line.214"></a>
-<span class="sourceLineNo">215</span> this.ng = connection.getNonceGenerator();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> return this.connection.callerFactory.<T> masterRequest()<a name="line.219"></a>
-<span class="sourceLineNo">220</span> .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startLogErrorsCnt(startLogErrorsCnt);<a name="line.223"></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">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> private final int startLogErrorsCnt;<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">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<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 = connection.connConf.getRpcTimeoutNs();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.219"></a>
+<span class="sourceLineNo">220</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.220"></a>
+<span class="sourceLineNo">221</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.221"></a>
+<span class="sourceLineNo">222</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<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 <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> adminRequest()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> 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> @FunctionalInterface<a name="line.234"></a>
-<span class="sourceLineNo">235</span> private interface MasterRpcCall<RESP, REQ> {<a name="line.235"></a>
-<span class="sourceLineNo">236</span> void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.236"></a>
-<span class="sourceLineNo">237</span> RpcCallback<RESP> done);<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> @FunctionalInterface<a name="line.240"></a>
-<span class="sourceLineNo">241</span> private interface AdminRpcCall<RESP, REQ> {<a name="line.241"></a>
-<span class="sourceLineNo">242</span> void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> RpcCallback<RESP> done);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span> @FunctionalInterface<a name="line.246"></a>
-<span class="sourceLineNo">247</span> private interface Converter<D, S> {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> D convert(S src) throws IOException;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.251"></a>
-<span class="sourceLineNo">252</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.252"></a>
-<span class="sourceLineNo">253</span> Converter<RESP, PRESP> respConverter) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.254"></a>
-<span class="sourceLineNo">255</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> @Override<a name="line.257"></a>
-<span class="sourceLineNo">258</span> public void run(PRESP resp) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span> if (controller.failed()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span> future.completeExceptionally(controller.getFailed());<a name="line.260"></a>
-<span class="sourceLineNo">261</span> } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> future.complete(respConverter.convert(resp));<a name="line.263"></a>
-<span class="sourceLineNo">264</span> } catch (IOException e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span> future.completeExceptionally(e);<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> }<a name="line.268"></a>
-<span class="sourceLineNo">269</span> });<a name="line.269"></a>
-<span class="sourceLineNo">270</span> return future;<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> //TODO abstract call and adminCall into a single method.<a name="line.273"></a>
-<span class="sourceLineNo">274</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.274"></a>
-<span class="sourceLineNo">275</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.275"></a>
-<span class="sourceLineNo">276</span> Converter<RESP, PRESP> respConverter) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.279"></a>
+<span class="sourceLineNo">234</span> private <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.connection.callerFactory.<T> 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<RESP, REQ> {<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<RESP> done);<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<RESP, REQ> {<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<RESP> 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<D, S> {<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 <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.259"></a>
+<span class="sourceLineNo">260</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.260"></a>
+<span class="sourceLineNo">261</span> Converter<RESP, PRESP> respConverter) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.262"></a>
+<span class="sourceLineNo">263</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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> @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span> public void run(PRESP resp) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span> if (controller.failed()) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.284"></a>
-<span class="sourceLineNo">285</span> } else {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> future.complete(respConverter.convert(resp));<a name="line.287"></a>
-<span class="sourceLineNo">288</span> } catch (IOException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span> future.completeExceptionally(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span> }<a name="line.290"></a>
-<span class="sourceLineNo">291</span> }<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> return future;<a name="line.294"></a>
-<span class="sourceLineNo">295</span> }<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.298"></a>
-<span class="sourceLineNo">299</span> ProcedureBiConsumer consumer) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> CompletableFuture<Long> procFuture = this<a name="line.300"></a>
-<span class="sourceLineNo">301</span> .<Long> newMasterCaller()<a name="line.301"></a>
-<span class="sourceLineNo">302</span> .action(<a name="line.302"></a>
-<span class="sourceLineNo">303</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> respConverter)).call();<a name="line.304"></a>
-<span class="sourceLineNo">305</span> return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> @FunctionalInterface<a name="line.308"></a>
-<span class="sourceLineNo">309</span> private interface TableOperator {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> CompletableFuture<Void> operate(TableName table);<a name="line.310"></a>
-<span class="sourceLineNo">311</span> }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.313"></a>
-<span class="sourceLineNo">314</span> TableOperator operator, String operationType) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.315"></a>
-<span class="sourceLineNo">316</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> listTables(pattern, false).whenComplete(<a name="line.317"></a>
-<span class="sourceLineNo">318</span> (tables, error) -> {<a name="line.318"></a>
-<span class="sourceLineNo">319</span> if (error != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> future.completeExceptionally(error);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> return;<a name="line.321"></a>
-<span class="sourceLineNo">322</span> }<a name="line.322"></a>
-<span class="sourceLineNo">323</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.323"></a>
-<span class="sourceLineNo">324</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<a name="line.324"></a>
-<span class="sourceLineNo">325</span> if (ex != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.326"></a>
-<span class="sourceLineNo">327</span> failed.add(table);<a name="line.327"></a>
-<span class="sourceLineNo">328</span> }<a name="line.328"></a>
-<span class="sourceLineNo">329</span> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<a name="line.331"></a>
-<span class="sourceLineNo">332</span> });<a name="line.332"></a>
-<span class="sourceLineNo">333</span> });<a name="line.333"></a>
-<span class="sourceLineNo">334</span> return future;<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 AsyncConnectionImpl getConnection() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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<TableDescriptor[]> listTables() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return listTables((Pattern) null, false);<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<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> return listTables(Pattern.compile(regex), false);<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<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return this<a name="line.359"></a>
-<span class="sourceLineNo">360</span> .<TableDescriptor[]>newMasterCaller()<a name="line.360"></a>
-<span class="sourceLineNo">361</span> .action(<a name="line.361"></a>
-<span class="sourceLineNo">362</span> (controller, stub) -> this<a name="line.362"></a>
-<span class="sourceLineNo">363</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.363"></a>
-<span class="sourceLineNo">364</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.365"></a>
-<span class="sourceLineNo">366</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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<TableName[]> listTableNames() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span> return listTableNames((Pattern) null, false);<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<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> return listTableNames(Pattern.compile(regex), false);<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<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span> .<TableName[]>newMasterCaller()<a name="line.382"></a>
-<span class="sourceLineNo">383</span> .action(<a name="line.383"></a>
-<span class="sourceLineNo">384</span> (controller, stub) -> this<a name="line.384"></a>
-<span class="sourceLineNo">385</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.385"></a>
-<span class="sourceLineNo">386</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.386"></a>
-<span class="sourceLineNo">387</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.387"></a>
-<span class="sourceLineNo">388</span> .getTableNameArray(resp.getTableNamesList()))).call();<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<TableDescriptor> getTableDescriptor(TableName tableName) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> CompletableFuture<TableDescriptor> future = new CompletableFuture<>();<a name="line.393"></a>
-<span class="sourceLineNo">394</span> this.<List<TableSchema>> newMasterCaller()<a name="line.394"></a>
-<span class="sourceLineNo">395</span> .action(<a name="line.395"></a>
-<span class="sourceLineNo">396</span> (controller, stub) -> this<a name="line.396"></a>
-<span class="sourceLineNo">397</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, List<TableSchema>> call(<a name="line.397"></a>
-<span class="sourceLineNo">398</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.398"></a>
-<span class="sourceLineNo">399</span> c, req, done) -> s.getTableDescriptors(c, req, done), (resp) -> resp<a name="line.399"></a>
-<span class="sourceLineNo">400</span> .getTableSchemaList())).call().whenComplete((tableSchemas, error) -> {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> if (error != null) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> future.completeExceptionally(error);<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> if (!tableSchemas.isEmpty()) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.406"></a>
-<span class="sourceLineNo">407</span> } else {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<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> return future;<a name="line.411"></a>
-<span class="sourceLineNo">412</span> }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> @Override<a name="line.414"></a>
-<span class="sourceLineNo">415</span> public CompletableFuture<Void> createTable(TableDescriptor desc) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return createTable(desc, null);<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> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.420"></a>
-<span class="sourceLineNo">421</span> int numRegions) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> try {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> return createTable(desc, getSplitKeys(startKey, endKey, numRegions));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> } catch (IllegalArgumentException e) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span> return failedFuture(e);<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><a name="line.428"></a>
-<span class="sourceLineNo">429</span> @Override<a name="line.429"></a>
-<span class="sourceLineNo">430</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span> if (desc.getTableName() == null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (splitKeys != null && splitKeys.length > 0) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);<a name="line.435"></a>
-<span class="sourceLineNo">436</span> // Verify there are no duplicate split keys<a name="line.436"></a>
-<span class="sourceLineNo">437</span> byte[] lastKey = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> for (byte[] splitKey : splitKeys) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> if (Bytes.compareTo(splitKey, HConstants.EMPTY_BYTE_ARRAY) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> return failedFuture(new IllegalArgumentException(<a name="line.440"></a>
-<span class="sourceLineNo">441</span> "Empty split key must not be passed in the split keys."));<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> if (lastKey != null && Bytes.equals(splitKey, lastKey)) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span> return failedFuture(new IllegalArgumentException("All split keys must be unique, "<a name="line.444"></a>
-<span class="sourceLineNo">445</span> + "found duplicate: " + Bytes.toStringBinary(splitKey) + ", "<a name="line.445"></a>
-<span class="sourceLineNo">446</span> + Bytes.toStringBinary(lastKey)));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> }<a name="line.447"></a>
-<span class="sourceLineNo">448</span> lastKey = splitKey;<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><a name="line.451"></a>
-<span class="sourceLineNo">452</span> return this.<CreateTableRequest, CreateTableResponse> procedureCall(<a name="line.452"></a>
-<span class="sourceLineNo">453</span> RequestConverter.buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()),<a name="line.453"></a>
-<span class="sourceLineNo">454</span> (s, c, req, done) -> s.createTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.454"></a>
-<span class="sourceLineNo">455</span> new CreateTableProcedureBiConsumer(this, desc.getTableName()));<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<Void> deleteTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return this.<DeleteTableRequest, DeleteTableResponse> procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span> .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span> (s, c, req, done) -> s.deleteTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span> new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
+<span class="sourceLineNo">281</span> //TODO abstract call and adminCall into a single method.<a name="line.281"></a>
+<span class="sourceLineNo">282</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.282"></a>
+<span class="sourceLineNo">283</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Converter<RESP, PRESP> respConverter) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.286"></a>
+<span class="sourceLineNo">287</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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 void run(PRESP resp) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (controller.failed()) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> try {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> future.complete(respConverter.convert(resp));<a name="line.295"></a>
+<span class="sourceLineNo">296</span> } catch (IOException e) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span> future.completeExceptionally(e);<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> });<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return future;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.305"></a>
+<span class="sourceLineNo">306</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.306"></a>
+<span class="sourceLineNo">307</span> ProcedureBiConsumer consumer) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> CompletableFuture<Long> procFuture = this<a name="line.308"></a>
+<span class="sourceLineNo">309</span> .<Long> newMasterCaller()<a name="line.309"></a>
+<span class="sourceLineNo">310</span> .action(<a name="line.310"></a>
+<span class="sourceLineNo">311</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.311"></a>
+<span class="sourceLineNo">312</span> respConverter)).call();<a name="line.312"></a>
+<span class="sourceLineNo">313</span> return waitProcedureResult(procFuture).whenComplete(consumer);<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> @FunctionalInterface<a name="line.316"></a>
+<span class="sourceLineNo">317</span> private interface TableOperator {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> CompletableFuture<Void> operate(TableName table);<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> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.321"></a>
+<span class="sourceLineNo">322</span> TableOperator operator, String operationType) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> listTables(pattern, false).whenComplete(<a name="line.325"></a>
+<span class="sourceLineNo">326</span> (tables, error) -> {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> if (error != null) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> future.completeExceptionally(error);<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return;<a name="line.329"></a>
+<span class="sourceLineNo">330</span> }<a name="line.330"></a>
+<span class="sourceLineNo">331</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.331"></a>
+<span class="sourceLineNo">332</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<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> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.337"></a>
+<span class="sourceLineNo">338</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.338"></a>
+<span class="sourceLineNo">339</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<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 AsyncConnectionImpl getConnection() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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> @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span> public CompletableFuture<TableDescriptor[]> listTables() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span> return listTables((Pattern) null, false);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span> public CompletableFuture<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return listTables(Pattern.compile(regex), false);<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> @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public CompletableFuture<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span> .<TableDescriptor[]>newMasterCaller()<a name="line.368"></a>
+<span class="sourceLineNo">369</span> .action(<a name="line.369"></a>
+<span class="sourceLineNo">370</span> (controller, stub) -> this<a name="line.370"></a>
+<span class="sourceLineNo">371</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.371"></a>
+<span class="sourceLineNo">372</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.372"></a>
+<span class="sourceLineNo">373</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.373"></a>
+<span class="sourceLineNo">374</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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> @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span> public CompletableFuture<TableName[]> listTableNames() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> return listTableNames((Pattern) null, false);<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> @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public CompletableFuture<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> return listTableNames(Pattern.compile(regex), false);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public CompletableFuture<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return this<a name="line.389"></a>
+<span class="sourceLineNo">390</span> .<TableName[]>newMasterCaller()<a name="line.390"></a>
+<span class="sourceLineNo">391</span> .action(<a name="line.391"></a>
+<span class="sourceLineNo">392</span> (controller, stub) -> this<a name="line.392"></a>
+<span class="sourceLineNo">393</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.393"></a>
+<span class="sourceLineNo">394</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.394"></a>
+<span class="sourceLineNo">395</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.395"></a>
+<span class="sourceLineNo">396</span> .getTableNameArray(resp.getTableNamesList()))).call();
<TRUNCATED>
[34/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 c6248ac..98da217 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><E> (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><T>, 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/DeleteTracker.DeleteCompare.html" title="enum in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">DeleteTracker.DeleteCompare</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 377757c..f7d6190 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
@@ -135,8 +135,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><E> (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><T>, 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/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/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>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 5de3ebd..59a46a4 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><E> (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><T>, 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/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/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/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/e2c783b2/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 acb7749..d466246 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><E> (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><T>, 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/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/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/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/e2c783b2/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
index c8b91e6..7405b19 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
@@ -393,166 +393,166 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<pre>private <a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.112">m_master</a></pre>
</li>
</ul>
-<a name="m_servers">
+<a name="m_metaLocation">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_servers</h4>
-<pre>private <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><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.124">m_servers</a></pre>
+<h4>m_metaLocation</h4>
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.124">m_metaLocation</a></pre>
</li>
</ul>
-<a name="m_servers__IsNotDefault">
+<a name="m_metaLocation__IsNotDefault">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_servers__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.129">m_servers__IsNotDefault</a></pre>
+<h4>m_metaLocation__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.129">m_metaLocation__IsNotDefault</a></pre>
</li>
</ul>
-<a name="m_filter">
+<a name="m_format">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_filter</h4>
-<pre>private <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/tmpl/master/MasterStatusTmpl.ImplData.html#line.141">m_filter</a></pre>
+<h4>m_format</h4>
+<pre>private <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/tmpl/master/MasterStatusTmpl.ImplData.html#line.141">m_format</a></pre>
</li>
</ul>
-<a name="m_filter__IsNotDefault">
+<a name="m_format__IsNotDefault">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_filter__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.146">m_filter__IsNotDefault</a></pre>
+<h4>m_format__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.146">m_format__IsNotDefault</a></pre>
</li>
</ul>
-<a name="m_catalogJanitorEnabled">
+<a name="m_servers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_catalogJanitorEnabled</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.158">m_catalogJanitorEnabled</a></pre>
+<h4>m_servers</h4>
+<pre>private <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><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.158">m_servers</a></pre>
</li>
</ul>
-<a name="m_catalogJanitorEnabled__IsNotDefault">
+<a name="m_servers__IsNotDefault">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_catalogJanitorEnabled__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.163">m_catalogJanitorEnabled__IsNotDefault</a></pre>
+<h4>m_servers__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.163">m_servers__IsNotDefault</a></pre>
</li>
</ul>
-<a name="m_metaLocation">
+<a name="m_serverManager">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_metaLocation</h4>
-<pre>private <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.175">m_metaLocation</a></pre>
+<h4>m_serverManager</h4>
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.175">m_serverManager</a></pre>
</li>
</ul>
-<a name="m_metaLocation__IsNotDefault">
+<a name="m_serverManager__IsNotDefault">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_metaLocation__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.180">m_metaLocation__IsNotDefault</a></pre>
+<h4>m_serverManager__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.180">m_serverManager__IsNotDefault</a></pre>
</li>
</ul>
-<a name="m_assignmentManager">
+<a name="m_frags">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_assignmentManager</h4>
-<pre>private <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.192">m_assignmentManager</a></pre>
+<h4>m_frags</h4>
+<pre>private <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><<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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.192">m_frags</a></pre>
</li>
</ul>
-<a name="m_assignmentManager__IsNotDefault">
+<a name="m_frags__IsNotDefault">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_assignmentManager__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.197">m_assignmentManager__IsNotDefault</a></pre>
+<h4>m_frags__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.197">m_frags__IsNotDefault</a></pre>
</li>
</ul>
-<a name="m_frags">
+<a name="m_deadServers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_frags</h4>
-<pre>private <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><<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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.209">m_frags</a></pre>
+<h4>m_deadServers</h4>
+<pre>private <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.209">m_deadServers</a></pre>
</li>
</ul>
-<a name="m_frags__IsNotDefault">
+<a name="m_deadServers__IsNotDefault">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_frags__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.214">m_frags__IsNotDefault</a></pre>
+<h4>m_deadServers__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.214">m_deadServers__IsNotDefault</a></pre>
</li>
</ul>
-<a name="m_deadServers">
+<a name="m_assignmentManager">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_deadServers</h4>
-<pre>private <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.226">m_deadServers</a></pre>
+<h4>m_assignmentManager</h4>
+<pre>private <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.226">m_assignmentManager</a></pre>
</li>
</ul>
-<a name="m_deadServers__IsNotDefault">
+<a name="m_assignmentManager__IsNotDefault">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_deadServers__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.231">m_deadServers__IsNotDefault</a></pre>
+<h4>m_assignmentManager__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.231">m_assignmentManager__IsNotDefault</a></pre>
</li>
</ul>
-<a name="m_format">
+<a name="m_filter">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_format</h4>
-<pre>private <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/tmpl/master/MasterStatusTmpl.ImplData.html#line.243">m_format</a></pre>
+<h4>m_filter</h4>
+<pre>private <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/tmpl/master/MasterStatusTmpl.ImplData.html#line.243">m_filter</a></pre>
</li>
</ul>
-<a name="m_format__IsNotDefault">
+<a name="m_filter__IsNotDefault">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_format__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.248">m_format__IsNotDefault</a></pre>
+<h4>m_filter__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.248">m_filter__IsNotDefault</a></pre>
</li>
</ul>
-<a name="m_serverManager">
+<a name="m_catalogJanitorEnabled">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_serverManager</h4>
-<pre>private <a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.260">m_serverManager</a></pre>
+<h4>m_catalogJanitorEnabled</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.260">m_catalogJanitorEnabled</a></pre>
</li>
</ul>
-<a name="m_serverManager__IsNotDefault">
+<a name="m_catalogJanitorEnabled__IsNotDefault">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
-<h4>m_serverManager__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.265">m_serverManager__IsNotDefault</a></pre>
+<h4>m_catalogJanitorEnabled__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.265">m_catalogJanitorEnabled__IsNotDefault</a></pre>
</li>
</ul>
</li>
@@ -598,247 +598,247 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<pre>public <a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.108">getMaster</a>()</pre>
</li>
</ul>
-<a name="setServers-java.util.List-">
+<a name="setMetaLocation-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setServers</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.114">setServers</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><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> servers)</pre>
+<h4>setMetaLocation</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.114">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> metaLocation)</pre>
</li>
</ul>
-<a name="getServers--">
+<a name="getMetaLocation--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getServers</h4>
-<pre>public <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><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.120">getServers</a>()</pre>
+<h4>getMetaLocation</h4>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.120">getMetaLocation</a>()</pre>
</li>
</ul>
-<a name="getServers__IsNotDefault--">
+<a name="getMetaLocation__IsNotDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getServers__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.125">getServers__IsNotDefault</a>()</pre>
+<h4>getMetaLocation__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.125">getMetaLocation__IsNotDefault</a>()</pre>
</li>
</ul>
-<a name="setFilter-java.lang.String-">
+<a name="setFormat-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setFilter</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.131">setFilter</a>(<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> filter)</pre>
+<h4>setFormat</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.131">setFormat</a>(<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> format)</pre>
</li>
</ul>
-<a name="getFilter--">
+<a name="getFormat--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getFilter</h4>
-<pre>public <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/tmpl/master/MasterStatusTmpl.ImplData.html#line.137">getFilter</a>()</pre>
+<h4>getFormat</h4>
+<pre>public <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/tmpl/master/MasterStatusTmpl.ImplData.html#line.137">getFormat</a>()</pre>
</li>
</ul>
-<a name="getFilter__IsNotDefault--">
+<a name="getFormat__IsNotDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getFilter__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.142">getFilter__IsNotDefault</a>()</pre>
+<h4>getFormat__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.142">getFormat__IsNotDefault</a>()</pre>
</li>
</ul>
-<a name="setCatalogJanitorEnabled-boolean-">
+<a name="setServers-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setCatalogJanitorEnabled</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.148">setCatalogJanitorEnabled</a>(boolean catalogJanitorEnabled)</pre>
+<h4>setServers</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.148">setServers</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><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> servers)</pre>
</li>
</ul>
-<a name="getCatalogJanitorEnabled--">
+<a name="getServers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getCatalogJanitorEnabled</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.154">getCatalogJanitorEnabled</a>()</pre>
+<h4>getServers</h4>
+<pre>public <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><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.154">getServers</a>()</pre>
</li>
</ul>
-<a name="getCatalogJanitorEnabled__IsNotDefault--">
+<a name="getServers__IsNotDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getCatalogJanitorEnabled__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.159">getCatalogJanitorEnabled__IsNotDefault</a>()</pre>
+<h4>getServers__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.159">getServers__IsNotDefault</a>()</pre>
</li>
</ul>
-<a name="setMetaLocation-org.apache.hadoop.hbase.ServerName-">
+<a name="setServerManager-org.apache.hadoop.hbase.master.ServerManager-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setMetaLocation</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.165">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> metaLocation)</pre>
+<h4>setServerManager</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.165">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> serverManager)</pre>
</li>
</ul>
-<a name="getMetaLocation--">
+<a name="getServerManager--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getMetaLocation</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.171">getMetaLocation</a>()</pre>
+<h4>getServerManager</h4>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.171">getServerManager</a>()</pre>
</li>
</ul>
-<a name="getMetaLocation__IsNotDefault--">
+<a name="getServerManager__IsNotDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getMetaLocation__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.176">getMetaLocation__IsNotDefault</a>()</pre>
+<h4>getServerManager__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.176">getServerManager__IsNotDefault</a>()</pre>
</li>
</ul>
-<a name="setAssignmentManager-org.apache.hadoop.hbase.master.AssignmentManager-">
+<a name="setFrags-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setAssignmentManager</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.182">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> assignmentManager)</pre>
+<h4>setFrags</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.182">setFrags</a>(<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><<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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> frags)</pre>
</li>
</ul>
-<a name="getAssignmentManager--">
+<a name="getFrags--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getAssignmentManager</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.188">getAssignmentManager</a>()</pre>
+<h4>getFrags</h4>
+<pre>public <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><<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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.188">getFrags</a>()</pre>
</li>
</ul>
-<a name="getAssignmentManager__IsNotDefault--">
+<a name="getFrags__IsNotDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getAssignmentManager__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.193">getAssignmentManager__IsNotDefault</a>()</pre>
+<h4>getFrags__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.193">getFrags__IsNotDefault</a>()</pre>
</li>
</ul>
-<a name="setFrags-java.util.Map-">
+<a name="setDeadServers-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setFrags</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.199">setFrags</a>(<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><<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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> frags)</pre>
+<h4>setDeadServers</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.199">setDeadServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> deadServers)</pre>
</li>
</ul>
-<a name="getFrags--">
+<a name="getDeadServers--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getFrags</h4>
-<pre>public <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><<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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.205">getFrags</a>()</pre>
+<h4>getDeadServers</h4>
+<pre>public <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.205">getDeadServers</a>()</pre>
</li>
</ul>
-<a name="getFrags__IsNotDefault--">
+<a name="getDeadServers__IsNotDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getFrags__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.210">getFrags__IsNotDefault</a>()</pre>
+<h4>getDeadServers__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.210">getDeadServers__IsNotDefault</a>()</pre>
</li>
</ul>
-<a name="setDeadServers-java.util.Set-">
+<a name="setAssignmentManager-org.apache.hadoop.hbase.master.AssignmentManager-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setDeadServers</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.216">setDeadServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> deadServers)</pre>
+<h4>setAssignmentManager</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.216">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> assignmentManager)</pre>
</li>
</ul>
-<a name="getDeadServers--">
+<a name="getAssignmentManager--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getDeadServers</h4>
-<pre>public <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.222">getDeadServers</a>()</pre>
+<h4>getAssignmentManager</h4>
+<pre>public <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.222">getAssignmentManager</a>()</pre>
</li>
</ul>
-<a name="getDeadServers__IsNotDefault--">
+<a name="getAssignmentManager__IsNotDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getDeadServers__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.227">getDeadServers__IsNotDefault</a>()</pre>
+<h4>getAssignmentManager__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.227">getAssignmentManager__IsNotDefault</a>()</pre>
</li>
</ul>
-<a name="setFormat-java.lang.String-">
+<a name="setFilter-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setFormat</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.233">setFormat</a>(<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> format)</pre>
+<h4>setFilter</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.233">setFilter</a>(<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> filter)</pre>
</li>
</ul>
-<a name="getFormat--">
+<a name="getFilter--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getFormat</h4>
-<pre>public <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/tmpl/master/MasterStatusTmpl.ImplData.html#line.239">getFormat</a>()</pre>
+<h4>getFilter</h4>
+<pre>public <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/tmpl/master/MasterStatusTmpl.ImplData.html#line.239">getFilter</a>()</pre>
</li>
</ul>
-<a name="getFormat__IsNotDefault--">
+<a name="getFilter__IsNotDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getFormat__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.244">getFormat__IsNotDefault</a>()</pre>
+<h4>getFilter__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.244">getFilter__IsNotDefault</a>()</pre>
</li>
</ul>
-<a name="setServerManager-org.apache.hadoop.hbase.master.ServerManager-">
+<a name="setCatalogJanitorEnabled-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setServerManager</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.250">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> serverManager)</pre>
+<h4>setCatalogJanitorEnabled</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.250">setCatalogJanitorEnabled</a>(boolean catalogJanitorEnabled)</pre>
</li>
</ul>
-<a name="getServerManager--">
+<a name="getCatalogJanitorEnabled--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getServerManager</h4>
-<pre>public <a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.256">getServerManager</a>()</pre>
+<h4>getCatalogJanitorEnabled</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.256">getCatalogJanitorEnabled</a>()</pre>
</li>
</ul>
-<a name="getServerManager__IsNotDefault--">
+<a name="getCatalogJanitorEnabled__IsNotDefault--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
-<h4>getServerManager__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.261">getServerManager__IsNotDefault</a>()</pre>
+<h4>getCatalogJanitorEnabled__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.261">getCatalogJanitorEnabled__IsNotDefault</a>()</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
index 92c6338..f2ed1d6 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
@@ -337,85 +337,85 @@ extends org.jamon.AbstractTemplateProxy</pre>
<!-- -->
</a>
<h3>Field Detail</h3>
-<a name="servers">
+<a name="metaLocation">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>servers</h4>
-<pre>protected <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><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.277">servers</a></pre>
+<h4>metaLocation</h4>
+<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.277">metaLocation</a></pre>
</li>
</ul>
-<a name="filter">
+<a name="format">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>filter</h4>
-<pre>protected <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/tmpl/master/MasterStatusTmpl.html#line.284">filter</a></pre>
+<h4>format</h4>
+<pre>protected <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/tmpl/master/MasterStatusTmpl.html#line.284">format</a></pre>
</li>
</ul>
-<a name="catalogJanitorEnabled">
+<a name="servers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>catalogJanitorEnabled</h4>
-<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.291">catalogJanitorEnabled</a></pre>
+<h4>servers</h4>
+<pre>protected <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><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.291">servers</a></pre>
</li>
</ul>
-<a name="metaLocation">
+<a name="serverManager">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>metaLocation</h4>
-<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.298">metaLocation</a></pre>
+<h4>serverManager</h4>
+<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.298">serverManager</a></pre>
</li>
</ul>
-<a name="assignmentManager">
+<a name="frags">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>assignmentManager</h4>
-<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.305">assignmentManager</a></pre>
+<h4>frags</h4>
+<pre>protected <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><<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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.305">frags</a></pre>
</li>
</ul>
-<a name="frags">
+<a name="deadServers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>frags</h4>
-<pre>protected <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><<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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.312">frags</a></pre>
+<h4>deadServers</h4>
+<pre>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.312">deadServers</a></pre>
</li>
</ul>
-<a name="deadServers">
+<a name="assignmentManager">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>deadServers</h4>
-<pre>protected <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.319">deadServers</a></pre>
+<h4>assignmentManager</h4>
+<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.319">assignmentManager</a></pre>
</li>
</ul>
-<a name="format">
+<a name="filter">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>format</h4>
-<pre>protected <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/tmpl/master/MasterStatusTmpl.html#line.326">format</a></pre>
+<h4>filter</h4>
+<pre>protected <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/tmpl/master/MasterStatusTmpl.html#line.326">filter</a></pre>
</li>
</ul>
-<a name="serverManager">
+<a name="catalogJanitorEnabled">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
-<h4>serverManager</h4>
-<pre>protected <a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.333">serverManager</a></pre>
+<h4>catalogJanitorEnabled</h4>
+<pre>protected boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.333">catalogJanitorEnabled</a></pre>
</li>
</ul>
</li>
@@ -487,85 +487,85 @@ extends org.jamon.AbstractTemplateProxy</pre>
</dl>
</li>
</ul>
-<a name="setServers-java.util.List-">
+<a name="setMetaLocation-org.apache.hadoop.hbase.ServerName-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setServers</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.278">setServers</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><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> p_servers)</pre>
+<h4>setMetaLocation</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.278">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> p_metaLocation)</pre>
</li>
</ul>
-<a name="setFilter-java.lang.String-">
+<a name="setFormat-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setFilter</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.285">setFilter</a>(<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> p_filter)</pre>
+<h4>setFormat</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.285">setFormat</a>(<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> p_format)</pre>
</li>
</ul>
-<a name="setCatalogJanitorEnabled-boolean-">
+<a name="setServers-java.util.List-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setCatalogJanitorEnabled</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.292">setCatalogJanitorEnabled</a>(boolean p_catalogJanitorEnabled)</pre>
+<h4>setServers</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.292">setServers</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><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> p_servers)</pre>
</li>
</ul>
-<a name="setMetaLocation-org.apache.hadoop.hbase.ServerName-">
+<a name="setServerManager-org.apache.hadoop.hbase.master.ServerManager-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setMetaLocation</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.299">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> p_metaLocation)</pre>
+<h4>setServerManager</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.299">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> p_serverManager)</pre>
</li>
</ul>
-<a name="setAssignmentManager-org.apache.hadoop.hbase.master.AssignmentManager-">
+<a name="setFrags-java.util.Map-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setAssignmentManager</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.306">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> p_assignmentManager)</pre>
+<h4>setFrags</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.306">setFrags</a>(<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><<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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> p_frags)</pre>
</li>
</ul>
-<a name="setFrags-java.util.Map-">
+<a name="setDeadServers-java.util.Set-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setFrags</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.313">setFrags</a>(<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><<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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> p_frags)</pre>
+<h4>setDeadServers</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.313">setDeadServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> p_deadServers)</pre>
</li>
</ul>
-<a name="setDeadServers-java.util.Set-">
+<a name="setAssignmentManager-org.apache.hadoop.hbase.master.AssignmentManager-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setDeadServers</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.320">setDeadServers</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> p_deadServers)</pre>
+<h4>setAssignmentManager</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.320">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> p_assignmentManager)</pre>
</li>
</ul>
-<a name="setFormat-java.lang.String-">
+<a name="setFilter-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setFormat</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.327">setFormat</a>(<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> p_format)</pre>
+<h4>setFilter</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.327">setFilter</a>(<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> p_filter)</pre>
</li>
</ul>
-<a name="setServerManager-org.apache.hadoop.hbase.master.ServerManager-">
+<a name="setCatalogJanitorEnabled-boolean-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setServerManager</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.334">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> p_serverManager)</pre>
+<h4>setCatalogJanitorEnabled</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.334">setCatalogJanitorEnabled</a>(boolean p_catalogJanitorEnabled)</pre>
</li>
</ul>
<a name="constructImpl-java.lang.Class-">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
index b922be4..94d13d4 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
@@ -278,85 +278,85 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Master
<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.64">master</a></pre>
</li>
</ul>
-<a name="servers">
+<a name="metaLocation">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>servers</h4>
-<pre>private final <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><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.65">servers</a></pre>
+<h4>metaLocation</h4>
+<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.65">metaLocation</a></pre>
</li>
</ul>
-<a name="filter">
+<a name="format">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>filter</h4>
-<pre>private final <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/tmpl/master/MasterStatusTmplImpl.html#line.66">filter</a></pre>
+<h4>format</h4>
+<pre>private final <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/tmpl/master/MasterStatusTmplImpl.html#line.66">format</a></pre>
</li>
</ul>
-<a name="catalogJanitorEnabled">
+<a name="servers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>catalogJanitorEnabled</h4>
-<pre>private final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.67">catalogJanitorEnabled</a></pre>
+<h4>servers</h4>
+<pre>private final <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><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.67">servers</a></pre>
</li>
</ul>
-<a name="metaLocation">
+<a name="serverManager">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>metaLocation</h4>
-<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.68">metaLocation</a></pre>
+<h4>serverManager</h4>
+<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.68">serverManager</a></pre>
</li>
</ul>
-<a name="assignmentManager">
+<a name="frags">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>assignmentManager</h4>
-<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.69">assignmentManager</a></pre>
+<h4>frags</h4>
+<pre>private final <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><<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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.69">frags</a></pre>
</li>
</ul>
-<a name="frags">
+<a name="deadServers">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>frags</h4>
-<pre>private final <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><<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="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.70">frags</a></pre>
+<h4>deadServers</h4>
+<pre>private final <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.70">deadServers</a></pre>
</li>
</ul>
-<a name="deadServers">
+<a name="assignmentManager">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>deadServers</h4>
-<pre>private final <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Set.html?is-external=true" title="class or interface in java.util">Set</a><<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.71">deadServers</a></pre>
+<h4>assignmentManager</h4>
+<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.71">assignmentManager</a></pre>
</li>
</ul>
-<a name="format">
+<a name="filter">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>format</h4>
-<pre>private final <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/tmpl/master/MasterStatusTmplImpl.html#line.72">format</a></pre>
+<h4>filter</h4>
+<pre>private final <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/tmpl/master/MasterStatusTmplImpl.html#line.72">filter</a></pre>
</li>
</ul>
-<a name="serverManager">
+<a name="catalogJanitorEnabled">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
-<h4>serverManager</h4>
-<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.73">serverManager</a></pre>
+<h4>catalogJanitorEnabled</h4>
+<pre>private final boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.73">catalogJanitorEnabled</a></pre>
</li>
</ul>
</li>
[31/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html
index 8750fa2..4fd4af0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.AddColumnFamilyProcedureBiConsumer.html
@@ -48,2133 +48,2409 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span>import io.netty.util.Timeout;<a name="line.41"></a>
<span class="sourceLineNo">042</span>import io.netty.util.TimerTask;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.commons.logging.Log;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.commons.logging.LogFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ServerName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.HConstants;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>/**<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * The implementation of AsyncAdmin.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@InterfaceAudience.Private<a name="line.185"></a>
-<span class="sourceLineNo">186</span>@InterfaceStability.Evolving<a name="line.186"></a>
-<span class="sourceLineNo">187</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.187"></a>
+<span class="sourceLineNo">043</span>import org.apache.commons.io.IOUtils;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.commons.logging.Log;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.commons.logging.LogFactory;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ServerName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HConstants;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.TableName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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.snapshot.ClientSnapshotDescriptionUtils;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.187"></a>
<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> private final AsyncConnectionImpl connection;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span> private final RawAsyncTable metaTable;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final long rpcTimeoutNs;<a name="line.195"></a>
+<span class="sourceLineNo">189</span>/**<a name="line.189"></a>
+<span class="sourceLineNo">190</span> * The implementation of AsyncAdmin.<a name="line.190"></a>
+<span class="sourceLineNo">191</span> */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>@InterfaceAudience.Private<a name="line.192"></a>
+<span class="sourceLineNo">193</span>@InterfaceStability.Evolving<a name="line.193"></a>
+<span class="sourceLineNo">194</span>public class AsyncHBaseAdmin 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 final long operationTimeoutNs;<a name="line.197"></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 long pauseNs;<a name="line.199"></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 int maxAttempts;<a name="line.201"></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 int startLogErrorsCnt;<a name="line.203"></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 NonceGenerator ng;<a name="line.205"></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> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> this.connection = connection;<a name="line.208"></a>
-<span class="sourceLineNo">209</span> this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> this.rpcTimeoutNs = connection.connConf.getRpcTimeoutNs();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.212"></a>
-<span class="sourceLineNo">213</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.213"></a>
-<span class="sourceLineNo">214</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<a name="line.214"></a>
-<span class="sourceLineNo">215</span> this.ng = connection.getNonceGenerator();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> return this.connection.callerFactory.<T> masterRequest()<a name="line.219"></a>
-<span class="sourceLineNo">220</span> .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startLogErrorsCnt(startLogErrorsCnt);<a name="line.223"></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">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> private final int startLogErrorsCnt;<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">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<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 = connection.connConf.getRpcTimeoutNs();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.219"></a>
+<span class="sourceLineNo">220</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.220"></a>
+<span class="sourceLineNo">221</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.221"></a>
+<span class="sourceLineNo">222</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<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 <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> adminRequest()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> 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> @FunctionalInterface<a name="line.234"></a>
-<span class="sourceLineNo">235</span> private interface MasterRpcCall<RESP, REQ> {<a name="line.235"></a>
-<span class="sourceLineNo">236</span> void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.236"></a>
-<span class="sourceLineNo">237</span> RpcCallback<RESP> done);<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> @FunctionalInterface<a name="line.240"></a>
-<span class="sourceLineNo">241</span> private interface AdminRpcCall<RESP, REQ> {<a name="line.241"></a>
-<span class="sourceLineNo">242</span> void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> RpcCallback<RESP> done);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span> @FunctionalInterface<a name="line.246"></a>
-<span class="sourceLineNo">247</span> private interface Converter<D, S> {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> D convert(S src) throws IOException;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.251"></a>
-<span class="sourceLineNo">252</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.252"></a>
-<span class="sourceLineNo">253</span> Converter<RESP, PRESP> respConverter) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.254"></a>
-<span class="sourceLineNo">255</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> @Override<a name="line.257"></a>
-<span class="sourceLineNo">258</span> public void run(PRESP resp) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span> if (controller.failed()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span> future.completeExceptionally(controller.getFailed());<a name="line.260"></a>
-<span class="sourceLineNo">261</span> } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> future.complete(respConverter.convert(resp));<a name="line.263"></a>
-<span class="sourceLineNo">264</span> } catch (IOException e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span> future.completeExceptionally(e);<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> }<a name="line.268"></a>
-<span class="sourceLineNo">269</span> });<a name="line.269"></a>
-<span class="sourceLineNo">270</span> return future;<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> //TODO abstract call and adminCall into a single method.<a name="line.273"></a>
-<span class="sourceLineNo">274</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.274"></a>
-<span class="sourceLineNo">275</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.275"></a>
-<span class="sourceLineNo">276</span> Converter<RESP, PRESP> respConverter) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.279"></a>
+<span class="sourceLineNo">234</span> private <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.connection.callerFactory.<T> 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<RESP, REQ> {<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<RESP> done);<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<RESP, REQ> {<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<RESP> 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<D, S> {<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 <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.259"></a>
+<span class="sourceLineNo">260</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.260"></a>
+<span class="sourceLineNo">261</span> Converter<RESP, PRESP> respConverter) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.262"></a>
+<span class="sourceLineNo">263</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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> @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span> public void run(PRESP resp) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span> if (controller.failed()) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.284"></a>
-<span class="sourceLineNo">285</span> } else {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> future.complete(respConverter.convert(resp));<a name="line.287"></a>
-<span class="sourceLineNo">288</span> } catch (IOException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span> future.completeExceptionally(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span> }<a name="line.290"></a>
-<span class="sourceLineNo">291</span> }<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> return future;<a name="line.294"></a>
-<span class="sourceLineNo">295</span> }<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.298"></a>
-<span class="sourceLineNo">299</span> ProcedureBiConsumer consumer) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> CompletableFuture<Long> procFuture = this<a name="line.300"></a>
-<span class="sourceLineNo">301</span> .<Long> newMasterCaller()<a name="line.301"></a>
-<span class="sourceLineNo">302</span> .action(<a name="line.302"></a>
-<span class="sourceLineNo">303</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> respConverter)).call();<a name="line.304"></a>
-<span class="sourceLineNo">305</span> return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> @FunctionalInterface<a name="line.308"></a>
-<span class="sourceLineNo">309</span> private interface TableOperator {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> CompletableFuture<Void> operate(TableName table);<a name="line.310"></a>
-<span class="sourceLineNo">311</span> }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.313"></a>
-<span class="sourceLineNo">314</span> TableOperator operator, String operationType) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.315"></a>
-<span class="sourceLineNo">316</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> listTables(pattern, false).whenComplete(<a name="line.317"></a>
-<span class="sourceLineNo">318</span> (tables, error) -> {<a name="line.318"></a>
-<span class="sourceLineNo">319</span> if (error != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> future.completeExceptionally(error);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> return;<a name="line.321"></a>
-<span class="sourceLineNo">322</span> }<a name="line.322"></a>
-<span class="sourceLineNo">323</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.323"></a>
-<span class="sourceLineNo">324</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<a name="line.324"></a>
-<span class="sourceLineNo">325</span> if (ex != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.326"></a>
-<span class="sourceLineNo">327</span> failed.add(table);<a name="line.327"></a>
-<span class="sourceLineNo">328</span> }<a name="line.328"></a>
-<span class="sourceLineNo">329</span> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<a name="line.331"></a>
-<span class="sourceLineNo">332</span> });<a name="line.332"></a>
-<span class="sourceLineNo">333</span> });<a name="line.333"></a>
-<span class="sourceLineNo">334</span> return future;<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 AsyncConnectionImpl getConnection() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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<TableDescriptor[]> listTables() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return listTables((Pattern) null, false);<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<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> return listTables(Pattern.compile(regex), false);<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<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return this<a name="line.359"></a>
-<span class="sourceLineNo">360</span> .<TableDescriptor[]>newMasterCaller()<a name="line.360"></a>
-<span class="sourceLineNo">361</span> .action(<a name="line.361"></a>
-<span class="sourceLineNo">362</span> (controller, stub) -> this<a name="line.362"></a>
-<span class="sourceLineNo">363</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.363"></a>
-<span class="sourceLineNo">364</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.365"></a>
-<span class="sourceLineNo">366</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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<TableName[]> listTableNames() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span> return listTableNames((Pattern) null, false);<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<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> return listTableNames(Pattern.compile(regex), false);<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<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span> .<TableName[]>newMasterCaller()<a name="line.382"></a>
-<span class="sourceLineNo">383</span> .action(<a name="line.383"></a>
-<span class="sourceLineNo">384</span> (controller, stub) -> this<a name="line.384"></a>
-<span class="sourceLineNo">385</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.385"></a>
-<span class="sourceLineNo">386</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.386"></a>
-<span class="sourceLineNo">387</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.387"></a>
-<span class="sourceLineNo">388</span> .getTableNameArray(resp.getTableNamesList()))).call();<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<TableDescriptor> getTableDescriptor(TableName tableName) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> CompletableFuture<TableDescriptor> future = new CompletableFuture<>();<a name="line.393"></a>
-<span class="sourceLineNo">394</span> this.<List<TableSchema>> newMasterCaller()<a name="line.394"></a>
-<span class="sourceLineNo">395</span> .action(<a name="line.395"></a>
-<span class="sourceLineNo">396</span> (controller, stub) -> this<a name="line.396"></a>
-<span class="sourceLineNo">397</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, List<TableSchema>> call(<a name="line.397"></a>
-<span class="sourceLineNo">398</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.398"></a>
-<span class="sourceLineNo">399</span> c, req, done) -> s.getTableDescriptors(c, req, done), (resp) -> resp<a name="line.399"></a>
-<span class="sourceLineNo">400</span> .getTableSchemaList())).call().whenComplete((tableSchemas, error) -> {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> if (error != null) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> future.completeExceptionally(error);<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> if (!tableSchemas.isEmpty()) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.406"></a>
-<span class="sourceLineNo">407</span> } else {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<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> return future;<a name="line.411"></a>
-<span class="sourceLineNo">412</span> }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> @Override<a name="line.414"></a>
-<span class="sourceLineNo">415</span> public CompletableFuture<Void> createTable(TableDescriptor desc) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return createTable(desc, null);<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> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.420"></a>
-<span class="sourceLineNo">421</span> int numRegions) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> try {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> return createTable(desc, getSplitKeys(startKey, endKey, numRegions));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> } catch (IllegalArgumentException e) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span> return failedFuture(e);<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><a name="line.428"></a>
-<span class="sourceLineNo">429</span> @Override<a name="line.429"></a>
-<span class="sourceLineNo">430</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span> if (desc.getTableName() == null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (splitKeys != null && splitKeys.length > 0) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);<a name="line.435"></a>
-<span class="sourceLineNo">436</span> // Verify there are no duplicate split keys<a name="line.436"></a>
-<span class="sourceLineNo">437</span> byte[] lastKey = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> for (byte[] splitKey : splitKeys) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> if (Bytes.compareTo(splitKey, HConstants.EMPTY_BYTE_ARRAY) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> return failedFuture(new IllegalArgumentException(<a name="line.440"></a>
-<span class="sourceLineNo">441</span> "Empty split key must not be passed in the split keys."));<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> if (lastKey != null && Bytes.equals(splitKey, lastKey)) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span> return failedFuture(new IllegalArgumentException("All split keys must be unique, "<a name="line.444"></a>
-<span class="sourceLineNo">445</span> + "found duplicate: " + Bytes.toStringBinary(splitKey) + ", "<a name="line.445"></a>
-<span class="sourceLineNo">446</span> + Bytes.toStringBinary(lastKey)));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> }<a name="line.447"></a>
-<span class="sourceLineNo">448</span> lastKey = splitKey;<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><a name="line.451"></a>
-<span class="sourceLineNo">452</span> return this.<CreateTableRequest, CreateTableResponse> procedureCall(<a name="line.452"></a>
-<span class="sourceLineNo">453</span> RequestConverter.buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()),<a name="line.453"></a>
-<span class="sourceLineNo">454</span> (s, c, req, done) -> s.createTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.454"></a>
-<span class="sourceLineNo">455</span> new CreateTableProcedureBiConsumer(this, desc.getTableName()));<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<Void> deleteTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return this.<DeleteTableRequest, DeleteTableResponse> procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span> .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span> (s, c, req, done) -> s.deleteTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span> new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
+<span class="sourceLineNo">281</span> //TODO abstract call and adminCall into a single method.<a name="line.281"></a>
+<span class="sourceLineNo">282</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.282"></a>
+<span class="sourceLineNo">283</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Converter<RESP, PRESP> respConverter) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.286"></a>
+<span class="sourceLineNo">287</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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 void run(PRESP resp) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (controller.failed()) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> try {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> future.complete(respConverter.convert(resp));<a name="line.295"></a>
+<span class="sourceLineNo">296</span> } catch (IOException e) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span> future.completeExceptionally(e);<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> });<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return future;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.305"></a>
+<span class="sourceLineNo">306</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.306"></a>
+<span class="sourceLineNo">307</span> ProcedureBiConsumer consumer) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> CompletableFuture<Long> procFuture = this<a name="line.308"></a>
+<span class="sourceLineNo">309</span> .<Long> newMasterCaller()<a name="line.309"></a>
+<span class="sourceLineNo">310</span> .action(<a name="line.310"></a>
+<span class="sourceLineNo">311</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.311"></a>
+<span class="sourceLineNo">312</span> respConverter)).call();<a name="line.312"></a>
+<span class="sourceLineNo">313</span> return waitProcedureResult(procFuture).whenComplete(consumer);<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> @FunctionalInterface<a name="line.316"></a>
+<span class="sourceLineNo">317</span> private interface TableOperator {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> CompletableFuture<Void> operate(TableName table);<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> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.321"></a>
+<span class="sourceLineNo">322</span> TableOperator operator, String operationType) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> listTables(pattern, false).whenComplete(<a name="line.325"></a>
+<span class="sourceLineNo">326</span> (tables, error) -> {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> if (error != null) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> future.completeExceptionally(error);<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return;<a name="line.329"></a>
+<span class="sourceLineNo">330</span> }<a name="line.330"></a>
+<span class="sourceLineNo">331</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.331"></a>
+<span class="sourceLineNo">332</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<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> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.337"></a>
+<span class="sourceLineNo">338</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.338"></a>
+<span class="sourceLineNo">339</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<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 AsyncConnectionImpl getConnection() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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> @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span> public CompletableFuture<TableDescriptor[]> listTables() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span> return listTables((Pattern) null, false);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span> public CompletableFuture<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return listTables(Pattern.compile(regex), false);<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> @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public CompletableFuture<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span> .<TableDescriptor[]>newMasterCaller()<a name="line.368"></a>
+<span class="sourceLineNo">369</span> .action(<a name="line.369"></a>
+<span class="sourceLineNo">370</span> (controller, stub) -> this<a name="line.370"></a>
+<span class="sourceLineNo">371</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.371"></a>
+<span class="sourceLineNo">372</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.372"></a>
+<span class="sourceLineNo">373</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.373"></a>
+<span class="sourceLineNo">374</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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> @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span> public CompletableFuture<TableName[]> listTableNames() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> return listTableNames((Pattern) null, false);<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> @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public CompletableFuture<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> return listTableNames(Pattern.compile(regex), false);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public CompletableFuture<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return this<a name="line.389"></a>
+<span class="sourceLineNo">390</span> .<TableName[]>newMasterCaller()<a name="line.390"></a>
+<span class="sourceLineNo">391</span> .action(<a name="line.391"></a>
+<span class="sourceLineNo">392</span> (controller, stub) -> this<a name="line.392"></a>
+<span class="sourceLineNo">393</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.393"></a>
+<span class="sourceLineNo">394</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.394"></a>
+<span class="sourceLineNo">395</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.395"></a>
+<span class="sourceLineNo">396</span> .getTableNameArray(resp.getTableNamesList()))).call();
<TRUNCATED>
[28/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html
index 8750fa2..4fd4af0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateNamespaceProcedureBiConsumer.html
@@ -48,2133 +48,2409 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span>import io.netty.util.Timeout;<a name="line.41"></a>
<span class="sourceLineNo">042</span>import io.netty.util.TimerTask;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.commons.logging.Log;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.commons.logging.LogFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ServerName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.HConstants;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>/**<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * The implementation of AsyncAdmin.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@InterfaceAudience.Private<a name="line.185"></a>
-<span class="sourceLineNo">186</span>@InterfaceStability.Evolving<a name="line.186"></a>
-<span class="sourceLineNo">187</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.187"></a>
+<span class="sourceLineNo">043</span>import org.apache.commons.io.IOUtils;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.commons.logging.Log;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.commons.logging.LogFactory;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ServerName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HConstants;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.TableName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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.snapshot.ClientSnapshotDescriptionUtils;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.187"></a>
<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> private final AsyncConnectionImpl connection;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span> private final RawAsyncTable metaTable;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final long rpcTimeoutNs;<a name="line.195"></a>
+<span class="sourceLineNo">189</span>/**<a name="line.189"></a>
+<span class="sourceLineNo">190</span> * The implementation of AsyncAdmin.<a name="line.190"></a>
+<span class="sourceLineNo">191</span> */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>@InterfaceAudience.Private<a name="line.192"></a>
+<span class="sourceLineNo">193</span>@InterfaceStability.Evolving<a name="line.193"></a>
+<span class="sourceLineNo">194</span>public class AsyncHBaseAdmin 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 final long operationTimeoutNs;<a name="line.197"></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 long pauseNs;<a name="line.199"></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 int maxAttempts;<a name="line.201"></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 int startLogErrorsCnt;<a name="line.203"></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 NonceGenerator ng;<a name="line.205"></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> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> this.connection = connection;<a name="line.208"></a>
-<span class="sourceLineNo">209</span> this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> this.rpcTimeoutNs = connection.connConf.getRpcTimeoutNs();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.212"></a>
-<span class="sourceLineNo">213</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.213"></a>
-<span class="sourceLineNo">214</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<a name="line.214"></a>
-<span class="sourceLineNo">215</span> this.ng = connection.getNonceGenerator();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> return this.connection.callerFactory.<T> masterRequest()<a name="line.219"></a>
-<span class="sourceLineNo">220</span> .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startLogErrorsCnt(startLogErrorsCnt);<a name="line.223"></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">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> private final int startLogErrorsCnt;<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">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<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 = connection.connConf.getRpcTimeoutNs();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.219"></a>
+<span class="sourceLineNo">220</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.220"></a>
+<span class="sourceLineNo">221</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.221"></a>
+<span class="sourceLineNo">222</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<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 <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> adminRequest()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> 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> @FunctionalInterface<a name="line.234"></a>
-<span class="sourceLineNo">235</span> private interface MasterRpcCall<RESP, REQ> {<a name="line.235"></a>
-<span class="sourceLineNo">236</span> void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.236"></a>
-<span class="sourceLineNo">237</span> RpcCallback<RESP> done);<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> @FunctionalInterface<a name="line.240"></a>
-<span class="sourceLineNo">241</span> private interface AdminRpcCall<RESP, REQ> {<a name="line.241"></a>
-<span class="sourceLineNo">242</span> void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> RpcCallback<RESP> done);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span> @FunctionalInterface<a name="line.246"></a>
-<span class="sourceLineNo">247</span> private interface Converter<D, S> {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> D convert(S src) throws IOException;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.251"></a>
-<span class="sourceLineNo">252</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.252"></a>
-<span class="sourceLineNo">253</span> Converter<RESP, PRESP> respConverter) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.254"></a>
-<span class="sourceLineNo">255</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> @Override<a name="line.257"></a>
-<span class="sourceLineNo">258</span> public void run(PRESP resp) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span> if (controller.failed()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span> future.completeExceptionally(controller.getFailed());<a name="line.260"></a>
-<span class="sourceLineNo">261</span> } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> future.complete(respConverter.convert(resp));<a name="line.263"></a>
-<span class="sourceLineNo">264</span> } catch (IOException e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span> future.completeExceptionally(e);<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> }<a name="line.268"></a>
-<span class="sourceLineNo">269</span> });<a name="line.269"></a>
-<span class="sourceLineNo">270</span> return future;<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> //TODO abstract call and adminCall into a single method.<a name="line.273"></a>
-<span class="sourceLineNo">274</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.274"></a>
-<span class="sourceLineNo">275</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.275"></a>
-<span class="sourceLineNo">276</span> Converter<RESP, PRESP> respConverter) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.279"></a>
+<span class="sourceLineNo">234</span> private <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.connection.callerFactory.<T> 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<RESP, REQ> {<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<RESP> done);<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<RESP, REQ> {<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<RESP> 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<D, S> {<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 <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.259"></a>
+<span class="sourceLineNo">260</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.260"></a>
+<span class="sourceLineNo">261</span> Converter<RESP, PRESP> respConverter) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.262"></a>
+<span class="sourceLineNo">263</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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> @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span> public void run(PRESP resp) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span> if (controller.failed()) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.284"></a>
-<span class="sourceLineNo">285</span> } else {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> future.complete(respConverter.convert(resp));<a name="line.287"></a>
-<span class="sourceLineNo">288</span> } catch (IOException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span> future.completeExceptionally(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span> }<a name="line.290"></a>
-<span class="sourceLineNo">291</span> }<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> return future;<a name="line.294"></a>
-<span class="sourceLineNo">295</span> }<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.298"></a>
-<span class="sourceLineNo">299</span> ProcedureBiConsumer consumer) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> CompletableFuture<Long> procFuture = this<a name="line.300"></a>
-<span class="sourceLineNo">301</span> .<Long> newMasterCaller()<a name="line.301"></a>
-<span class="sourceLineNo">302</span> .action(<a name="line.302"></a>
-<span class="sourceLineNo">303</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> respConverter)).call();<a name="line.304"></a>
-<span class="sourceLineNo">305</span> return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> @FunctionalInterface<a name="line.308"></a>
-<span class="sourceLineNo">309</span> private interface TableOperator {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> CompletableFuture<Void> operate(TableName table);<a name="line.310"></a>
-<span class="sourceLineNo">311</span> }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.313"></a>
-<span class="sourceLineNo">314</span> TableOperator operator, String operationType) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.315"></a>
-<span class="sourceLineNo">316</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> listTables(pattern, false).whenComplete(<a name="line.317"></a>
-<span class="sourceLineNo">318</span> (tables, error) -> {<a name="line.318"></a>
-<span class="sourceLineNo">319</span> if (error != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> future.completeExceptionally(error);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> return;<a name="line.321"></a>
-<span class="sourceLineNo">322</span> }<a name="line.322"></a>
-<span class="sourceLineNo">323</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.323"></a>
-<span class="sourceLineNo">324</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<a name="line.324"></a>
-<span class="sourceLineNo">325</span> if (ex != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.326"></a>
-<span class="sourceLineNo">327</span> failed.add(table);<a name="line.327"></a>
-<span class="sourceLineNo">328</span> }<a name="line.328"></a>
-<span class="sourceLineNo">329</span> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<a name="line.331"></a>
-<span class="sourceLineNo">332</span> });<a name="line.332"></a>
-<span class="sourceLineNo">333</span> });<a name="line.333"></a>
-<span class="sourceLineNo">334</span> return future;<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 AsyncConnectionImpl getConnection() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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<TableDescriptor[]> listTables() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return listTables((Pattern) null, false);<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<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> return listTables(Pattern.compile(regex), false);<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<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return this<a name="line.359"></a>
-<span class="sourceLineNo">360</span> .<TableDescriptor[]>newMasterCaller()<a name="line.360"></a>
-<span class="sourceLineNo">361</span> .action(<a name="line.361"></a>
-<span class="sourceLineNo">362</span> (controller, stub) -> this<a name="line.362"></a>
-<span class="sourceLineNo">363</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.363"></a>
-<span class="sourceLineNo">364</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.365"></a>
-<span class="sourceLineNo">366</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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<TableName[]> listTableNames() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span> return listTableNames((Pattern) null, false);<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<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> return listTableNames(Pattern.compile(regex), false);<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<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span> .<TableName[]>newMasterCaller()<a name="line.382"></a>
-<span class="sourceLineNo">383</span> .action(<a name="line.383"></a>
-<span class="sourceLineNo">384</span> (controller, stub) -> this<a name="line.384"></a>
-<span class="sourceLineNo">385</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.385"></a>
-<span class="sourceLineNo">386</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.386"></a>
-<span class="sourceLineNo">387</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.387"></a>
-<span class="sourceLineNo">388</span> .getTableNameArray(resp.getTableNamesList()))).call();<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<TableDescriptor> getTableDescriptor(TableName tableName) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> CompletableFuture<TableDescriptor> future = new CompletableFuture<>();<a name="line.393"></a>
-<span class="sourceLineNo">394</span> this.<List<TableSchema>> newMasterCaller()<a name="line.394"></a>
-<span class="sourceLineNo">395</span> .action(<a name="line.395"></a>
-<span class="sourceLineNo">396</span> (controller, stub) -> this<a name="line.396"></a>
-<span class="sourceLineNo">397</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, List<TableSchema>> call(<a name="line.397"></a>
-<span class="sourceLineNo">398</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.398"></a>
-<span class="sourceLineNo">399</span> c, req, done) -> s.getTableDescriptors(c, req, done), (resp) -> resp<a name="line.399"></a>
-<span class="sourceLineNo">400</span> .getTableSchemaList())).call().whenComplete((tableSchemas, error) -> {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> if (error != null) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> future.completeExceptionally(error);<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> if (!tableSchemas.isEmpty()) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.406"></a>
-<span class="sourceLineNo">407</span> } else {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<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> return future;<a name="line.411"></a>
-<span class="sourceLineNo">412</span> }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> @Override<a name="line.414"></a>
-<span class="sourceLineNo">415</span> public CompletableFuture<Void> createTable(TableDescriptor desc) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return createTable(desc, null);<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> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.420"></a>
-<span class="sourceLineNo">421</span> int numRegions) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> try {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> return createTable(desc, getSplitKeys(startKey, endKey, numRegions));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> } catch (IllegalArgumentException e) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span> return failedFuture(e);<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><a name="line.428"></a>
-<span class="sourceLineNo">429</span> @Override<a name="line.429"></a>
-<span class="sourceLineNo">430</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span> if (desc.getTableName() == null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (splitKeys != null && splitKeys.length > 0) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);<a name="line.435"></a>
-<span class="sourceLineNo">436</span> // Verify there are no duplicate split keys<a name="line.436"></a>
-<span class="sourceLineNo">437</span> byte[] lastKey = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> for (byte[] splitKey : splitKeys) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> if (Bytes.compareTo(splitKey, HConstants.EMPTY_BYTE_ARRAY) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> return failedFuture(new IllegalArgumentException(<a name="line.440"></a>
-<span class="sourceLineNo">441</span> "Empty split key must not be passed in the split keys."));<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> if (lastKey != null && Bytes.equals(splitKey, lastKey)) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span> return failedFuture(new IllegalArgumentException("All split keys must be unique, "<a name="line.444"></a>
-<span class="sourceLineNo">445</span> + "found duplicate: " + Bytes.toStringBinary(splitKey) + ", "<a name="line.445"></a>
-<span class="sourceLineNo">446</span> + Bytes.toStringBinary(lastKey)));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> }<a name="line.447"></a>
-<span class="sourceLineNo">448</span> lastKey = splitKey;<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><a name="line.451"></a>
-<span class="sourceLineNo">452</span> return this.<CreateTableRequest, CreateTableResponse> procedureCall(<a name="line.452"></a>
-<span class="sourceLineNo">453</span> RequestConverter.buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()),<a name="line.453"></a>
-<span class="sourceLineNo">454</span> (s, c, req, done) -> s.createTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.454"></a>
-<span class="sourceLineNo">455</span> new CreateTableProcedureBiConsumer(this, desc.getTableName()));<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<Void> deleteTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return this.<DeleteTableRequest, DeleteTableResponse> procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span> .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span> (s, c, req, done) -> s.deleteTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span> new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
+<span class="sourceLineNo">281</span> //TODO abstract call and adminCall into a single method.<a name="line.281"></a>
+<span class="sourceLineNo">282</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.282"></a>
+<span class="sourceLineNo">283</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Converter<RESP, PRESP> respConverter) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.286"></a>
+<span class="sourceLineNo">287</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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 void run(PRESP resp) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (controller.failed()) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> try {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> future.complete(respConverter.convert(resp));<a name="line.295"></a>
+<span class="sourceLineNo">296</span> } catch (IOException e) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span> future.completeExceptionally(e);<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> });<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return future;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.305"></a>
+<span class="sourceLineNo">306</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.306"></a>
+<span class="sourceLineNo">307</span> ProcedureBiConsumer consumer) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> CompletableFuture<Long> procFuture = this<a name="line.308"></a>
+<span class="sourceLineNo">309</span> .<Long> newMasterCaller()<a name="line.309"></a>
+<span class="sourceLineNo">310</span> .action(<a name="line.310"></a>
+<span class="sourceLineNo">311</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.311"></a>
+<span class="sourceLineNo">312</span> respConverter)).call();<a name="line.312"></a>
+<span class="sourceLineNo">313</span> return waitProcedureResult(procFuture).whenComplete(consumer);<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> @FunctionalInterface<a name="line.316"></a>
+<span class="sourceLineNo">317</span> private interface TableOperator {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> CompletableFuture<Void> operate(TableName table);<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> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.321"></a>
+<span class="sourceLineNo">322</span> TableOperator operator, String operationType) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> listTables(pattern, false).whenComplete(<a name="line.325"></a>
+<span class="sourceLineNo">326</span> (tables, error) -> {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> if (error != null) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> future.completeExceptionally(error);<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return;<a name="line.329"></a>
+<span class="sourceLineNo">330</span> }<a name="line.330"></a>
+<span class="sourceLineNo">331</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.331"></a>
+<span class="sourceLineNo">332</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<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> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.337"></a>
+<span class="sourceLineNo">338</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.338"></a>
+<span class="sourceLineNo">339</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<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 AsyncConnectionImpl getConnection() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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> @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span> public CompletableFuture<TableDescriptor[]> listTables() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span> return listTables((Pattern) null, false);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span> public CompletableFuture<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return listTables(Pattern.compile(regex), false);<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> @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public CompletableFuture<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span> .<TableDescriptor[]>newMasterCaller()<a name="line.368"></a>
+<span class="sourceLineNo">369</span> .action(<a name="line.369"></a>
+<span class="sourceLineNo">370</span> (controller, stub) -> this<a name="line.370"></a>
+<span class="sourceLineNo">371</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.371"></a>
+<span class="sourceLineNo">372</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.372"></a>
+<span class="sourceLineNo">373</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.373"></a>
+<span class="sourceLineNo">374</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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> @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span> public CompletableFuture<TableName[]> listTableNames() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> return listTableNames((Pattern) null, false);<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> @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public CompletableFuture<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> return listTableNames(Pattern.compile(regex), false);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public CompletableFuture<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return this<a name="line.389"></a>
+<span class="sourceLineNo">390</span> .<TableName[]>newMasterCaller()<a name="line.390"></a>
+<span class="sourceLineNo">391</span> .action(<a name="line.391"></a>
+<span class="sourceLineNo">392</span> (controller, stub) -> this<a name="line.392"></a>
+<span class="sourceLineNo">393</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.393"></a>
+<span class="sourceLineNo">394</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.394"></a>
+<span class="sourceLineNo">395</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.395"></a>
+<span class="sourceLineNo">396</span> .getTableNameArray(resp.getTableNamesList()))).call();
<TRUNCATED>
[36/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 a305c65..e670019 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,"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};
+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,"i110":10,"i111":10,"i112":10,"i113":10,"i114":10,"i115":10,"i116":10,"i117":10,"i118":10,"i119":10,"i120":10,"i121":10,"i122":10,"i123":10,"i124":10,"i125":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -115,7 +115,7 @@ var activeTableTab = "activeTableTab";
<br>
<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceStability.Evolving</a>
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.187">AsyncHBaseAdmin</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#line.194">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>
@@ -233,34 +233,38 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#connection">connection</a></span></code> </td>
</tr>
<tr class="rowColor">
+<td class="colFirst"><code>static <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 class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#FLUSH_TABLE_PROCEDURE_SIGNATURE">FLUSH_TABLE_PROCEDURE_SIGNATURE</a></span></code> </td>
+</tr>
+<tr class="altColor">
<td class="colFirst"><code>private static org.apache.commons.logging.Log</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#LOG">LOG</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#maxAttempts">maxAttempts</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncTable.html" title="interface in org.apache.hadoop.hbase.client">RawAsyncTable</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#metaTable">metaTable</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/client/NonceGenerator.html" title="interface in org.apache.hadoop.hbase.client">NonceGenerator</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#ng">ng</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#operationTimeoutNs">operationTimeoutNs</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#pauseNs">pauseNs</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#rpcTimeoutNs">rpcTimeoutNs</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#startLogErrorsCnt">startLogErrorsCnt</a></span></code> </td>
</tr>
@@ -409,30 +413,91 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
</td>
</tr>
<tr id="i17" 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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compact-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.HRegionInfo-boolean-byte:A-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn,
+ <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> hri,
+ boolean major,
+ byte[] family)</code>
+<div class="block">Compact the region at specific region server.</div>
+</td>
+</tr>
+<tr id="i18" 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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compact-org.apache.hadoop.hbase.TableName-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
+<div class="block">Compact a table.</div>
+</td>
+</tr>
+<tr id="i19" 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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compact-org.apache.hadoop.hbase.TableName-byte:A-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
+ byte[] columnFamily)</code>
+<div class="block">Compact a column family within a table.</div>
+</td>
+</tr>
+<tr id="i20" 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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compact-org.apache.hadoop.hbase.TableName-byte:A-boolean-org.apache.hadoop.hbase.client.CompactType-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
+ byte[] columnFamily,
+ boolean major,
+ <a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a> compactType)</code>
+<div class="block">Compact column family of a table, Asynchronous operation even if CompletableFuture.get()</div>
+</td>
+</tr>
+<tr id="i21" 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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compactRegion-byte:A-">compactRegion</a></span>(byte[] regionName)</code>
+<div class="block">Compact an individual region.</div>
+</td>
+</tr>
+<tr id="i22" 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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compactRegion-byte:A-byte:A-">compactRegion</a></span>(byte[] regionName,
+ byte[] columnFamily)</code>
+<div class="block">Compact a column family within a region.</div>
+</td>
+</tr>
+<tr id="i23" 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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compactRegion-byte:A-byte:A-boolean-">compactRegion</a></span>(byte[] regionName,
+ byte[] columnFamily,
+ boolean major)</code> </td>
+</tr>
+<tr id="i24" 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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compactRegionServer-org.apache.hadoop.hbase.ServerName-">compactRegionServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code>
+<div class="block">Compact all regions on the region server.</div>
+</td>
+</tr>
+<tr id="i25" 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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compactRegionServer-org.apache.hadoop.hbase.ServerName-boolean-">compactRegionServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn,
+ boolean major)</code> </td>
+</tr>
+<tr id="i26" class="altColor">
<td class="colFirst"><code>private <T> boolean</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#completeExceptionally-java.util.concurrent.CompletableFuture-java.lang.Throwable-">completeExceptionally</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><T> future,
<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> error)</code> </td>
</tr>
-<tr id="i18" class="altColor">
+<tr id="i27" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#createNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-">createNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a> descriptor)</code>
<div class="block">Create a new namespace.</div>
</td>
</tr>
-<tr id="i19" class="rowColor">
+<tr id="i28" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#createTable-org.apache.hadoop.hbase.client.TableDescriptor-">createTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a> desc)</code>
<div class="block">Creates a new table.</div>
</td>
</tr>
-<tr id="i20" class="altColor">
+<tr id="i29" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#createTable-org.apache.hadoop.hbase.client.TableDescriptor-byte:A:A-">createTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a> desc,
byte[][] splitKeys)</code>
<div class="block">Creates a new table with an initial set of empty regions defined by the specified split keys.</div>
</td>
</tr>
-<tr id="i21" class="rowColor">
+<tr id="i30" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#createTable-org.apache.hadoop.hbase.client.TableDescriptor-byte:A-byte:A-int-">createTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a> desc,
byte[] startKey,
@@ -441,56 +506,56 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
<div class="block">Creates a new table with the specified number of regions.</div>
</td>
</tr>
-<tr id="i22" class="altColor">
+<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#deleteColumnFamily-org.apache.hadoop.hbase.TableName-byte:A-">deleteColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] columnFamily)</code>
<div class="block">Delete a column family from a table.</div>
</td>
</tr>
-<tr id="i23" class="rowColor">
+<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#deleteNamespace-java.lang.String-">deleteNamespace</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> name)</code>
<div class="block">Delete an existing namespace.</div>
</td>
</tr>
-<tr id="i24" class="altColor">
+<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#deleteSnapshot-java.lang.String-">deleteSnapshot</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> snapshotName)</code>
<div class="block">Delete an existing snapshot.</div>
</td>
</tr>
-<tr id="i25" class="rowColor">
+<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#deleteSnapshots-java.util.regex.Pattern-">deleteSnapshots</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> snapshotNamePattern)</code>
<div class="block">Delete existing snapshots whose names match the pattern passed.</div>
</td>
</tr>
-<tr id="i26" class="altColor">
+<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#deleteSnapshots-java.lang.String-">deleteSnapshots</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> regex)</code>
<div class="block">Delete existing snapshots whose names match the pattern passed.</div>
</td>
</tr>
-<tr id="i27" class="rowColor">
+<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#deleteTable-org.apache.hadoop.hbase.TableName-">deleteTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Deletes a table.</div>
</td>
</tr>
-<tr id="i28" 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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#deleteTables-java.util.regex.Pattern-">deleteTables</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> pattern)</code>
<div class="block">Delete tables matching the passed in pattern and wait on completion.</div>
</td>
</tr>
-<tr id="i29" 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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#deleteTables-java.lang.String-">deleteTables</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> regex)</code>
<div class="block">Deletes tables matching the passed in pattern and wait on completion.</div>
</td>
</tr>
-<tr id="i30" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#deleteTableSnapshots-java.util.regex.Pattern-java.util.regex.Pattern-">deleteTableSnapshots</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> 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> snapshotNamePattern)</code>
@@ -498,7 +563,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
name regular expression.</div>
</td>
</tr>
-<tr id="i31" class="rowColor">
+<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#deleteTableSnapshots-java.lang.String-java.lang.String-">deleteTableSnapshots</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> tableNameRegex,
<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> snapshotNameRegex)</code>
@@ -506,55 +571,55 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
name regular expression.</div>
</td>
</tr>
-<tr id="i32" class="altColor">
+<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#disableReplicationPeer-java.lang.String-">disableReplicationPeer</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> peerId)</code>
<div class="block">Stop the replication stream to the specified peer</div>
</td>
</tr>
-<tr id="i33" class="rowColor">
+<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#disableTable-org.apache.hadoop.hbase.TableName-">disableTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Disable a table.</div>
</td>
</tr>
-<tr id="i34" class="altColor">
+<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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#disableTables-java.util.regex.Pattern-">disableTables</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> pattern)</code>
<div class="block">Disable tables matching the passed in pattern.</div>
</td>
</tr>
-<tr id="i35" 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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#disableTables-java.lang.String-">disableTables</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> regex)</code>
<div class="block">Disable tables matching the passed in pattern.</div>
</td>
</tr>
-<tr id="i36" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#enableReplicationPeer-java.lang.String-">enableReplicationPeer</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> peerId)</code>
<div class="block">Restart the replication stream to the specified peer</div>
</td>
</tr>
-<tr id="i37" class="rowColor">
+<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#enableTable-org.apache.hadoop.hbase.TableName-">enableTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Enable a table.</div>
</td>
</tr>
-<tr id="i38" class="altColor">
+<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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#enableTables-java.util.regex.Pattern-">enableTables</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> pattern)</code>
<div class="block">Enable tables matching the passed in pattern.</div>
</td>
</tr>
-<tr id="i39" class="rowColor">
+<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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#enableTables-java.lang.String-">enableTables</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> regex)</code>
<div class="block">Enable tables matching the passed in pattern.</div>
</td>
</tr>
-<tr id="i40" class="altColor">
+<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#execProcedure-java.lang.String-java.lang.String-java.util.Map-">execProcedure</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> 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> instance,
@@ -562,7 +627,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
<div class="block">Execute a distributed procedure on a cluster.</div>
</td>
</tr>
-<tr id="i41" class="rowColor">
+<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><byte[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#execProcedureWithRet-java.lang.String-java.lang.String-java.util.Map-">execProcedureWithRet</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> 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> instance,
@@ -570,83 +635,107 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
<div class="block">Execute a distributed procedure on a cluster.</div>
</td>
</tr>
-<tr id="i42" class="altColor">
+<tr id="i51" class="rowColor">
<td class="colFirst"><code>private <T> <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a><T></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#failedFuture-java.lang.Throwable-">failedFuture</a></span>(<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> error)</code> </td>
</tr>
-<tr id="i43" class="rowColor">
+<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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#flush-org.apache.hadoop.hbase.TableName-">flush</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
+<div class="block">Flush a table.</div>
+</td>
+</tr>
+<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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#flushRegion-byte:A-">flushRegion</a></span>(byte[] regionName)</code>
+<div class="block">Flush an individual region.</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><<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getAlterStatus-org.apache.hadoop.hbase.TableName-">getAlterStatus</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Get the status of alter command - indicates how many regions have received the updated schema
Asynchronous operation.</div>
</td>
</tr>
-<tr id="i44" class="altColor">
+<tr id="i55" class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getConnection--">getConnection</a></span>()</code> </td>
</tr>
-<tr id="i45" class="rowColor">
+<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><<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>></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> name)</code>
<div class="block">Get a namespace descriptor by name</div>
</td>
</tr>
-<tr id="i46" class="altColor">
+<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><<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><<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>>></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> sn)</code>
+<div class="block">Get all the online regions on a region server.</div>
+</td>
+</tr>
+<tr id="i58" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getProcedureResult-long-java.util.concurrent.CompletableFuture-">getProcedureResult</a></span>(long 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><<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>> future)</code> </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><<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><<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>>></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> filter)</code>
<div class="block">List the quotas based on the filter.</div>
</td>
</tr>
-<tr id="i48" class="altColor">
+<tr id="i60" 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><<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<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>>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getRegion-byte:A-">getRegion</a></span>(byte[] regionName)</code> </td>
</tr>
-<tr id="i49" class="rowColor">
+<tr id="i61" class="rowColor">
<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><byte[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getRegionName-byte:A-">getRegionName</a></span>(byte[] regionNameOrEncodedRegionName)</code>
<div class="block">Turn regionNameOrEncodedRegionName into regionName, if region does not found, then it'll throw
an IllegalArgumentException wrapped by 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"><code>CompletableFuture</code></a></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><<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>></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> peerId)</code>
<div class="block">Returns the configured ReplicationPeerConfig for the specified peer</div>
</td>
</tr>
-<tr id="i51" class="rowColor">
+<tr id="i63" class="rowColor">
<td class="colFirst"><code>private byte[][]</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getSplitKeys-byte:A-byte:A-int-">getSplitKeys</a></span>(byte[] startKey,
byte[] endKey,
int numRegions)</code> </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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>></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> tableName)</code>
<div class="block">Method for getting the tableDescriptor</div>
</td>
</tr>
-<tr id="i53" class="rowColor">
+<tr id="i65" 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><<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><<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.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> tableName)</code>
+<div class="block">List all region locations for the specific table.</div>
+</td>
+</tr>
+<tr id="i66" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.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> snapshot)</code> </td>
</tr>
-<tr id="i54" class="altColor">
+<tr id="i67" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.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> snapshotName,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </td>
</tr>
-<tr id="i55" class="rowColor">
+<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#isBalancerEnabled--">isBalancerEnabled</a></span>()</code>
<div class="block">Query the current state of the balancer.</div>
</td>
</tr>
-<tr id="i56" class="altColor">
+<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><<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>></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> 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> instance,
@@ -654,17 +743,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="i57" class="rowColor">
+<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><<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>></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> snapshot)</code>
<div class="block">Check the current state of the passed snapshot.</div>
</td>
</tr>
-<tr id="i58" class="altColor">
+<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.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> tableName)</code> </td>
</tr>
-<tr id="i59" class="rowColor">
+<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><<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>></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> tableName,
byte[][] splitKeys)</code>
@@ -672,109 +761,109 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
which was used while creating the given table.</div>
</td>
</tr>
-<tr id="i60" class="altColor">
+<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><<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>></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> tableName)</code> </td>
</tr>
-<tr id="i61" class="rowColor">
+<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><<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>></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> tableName)</code> </td>
</tr>
-<tr id="i62" class="altColor">
+<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><<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>[]></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="i63" class="rowColor">
+<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><<a href="../../../../../org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a>[]></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="i64" class="altColor">
+<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><<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><<a href="../../../../../org/apache/hadoop/hbase/client/replication/TableCFs.html" title="class in org.apache.hadoop.hbase.client.replication">TableCFs</a>>></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="i65" class="rowColor">
+<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><<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><<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listReplicationPeers--">listReplicationPeers</a></span>()</code>
<div class="block">Return a list of replication peers.</div>
</td>
</tr>
-<tr id="i66" class="altColor">
+<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><<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><<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listReplicationPeers-java.util.regex.Pattern-">listReplicationPeers</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> pattern)</code>
<div class="block">Return a list of replication peers.</div>
</td>
</tr>
-<tr id="i67" class="rowColor">
+<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><<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><<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listReplicationPeers-java.lang.String-">listReplicationPeers</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> regex)</code>
<div class="block">Return a list of replication peers.</div>
</td>
</tr>
-<tr id="i68" class="altColor">
+<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><<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><<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listSnapshots--">listSnapshots</a></span>()</code>
<div class="block">List completed snapshots.</div>
</td>
</tr>
-<tr id="i69" class="rowColor">
+<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><<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><<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listSnapshots-java.util.regex.Pattern-">listSnapshots</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> pattern)</code>
<div class="block">List all the completed snapshots matching the given pattern.</div>
</td>
</tr>
-<tr id="i70" class="altColor">
+<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><<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><<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listSnapshots-java.lang.String-">listSnapshots</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> regex)</code>
<div class="block">List all the completed snapshots matching the given regular expression.</div>
</td>
</tr>
-<tr id="i71" class="rowColor">
+<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><<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listTableNames--">listTableNames</a></span>()</code>
<div class="block">List all of the names of userspace tables.</div>
</td>
</tr>
-<tr id="i72" class="altColor">
+<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><<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listTableNames-java.util.regex.Pattern-boolean-">listTableNames</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> pattern,
boolean includeSysTables)</code>
<div class="block">List all of the names of userspace tables.</div>
</td>
</tr>
-<tr id="i73" class="rowColor">
+<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><<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listTableNames-java.lang.String-boolean-">listTableNames</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> regex,
boolean includeSysTables)</code>
<div class="block">List all of the names of userspace tables.</div>
</td>
</tr>
-<tr id="i74" class="altColor">
+<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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listTables--">listTables</a></span>()</code>
<div class="block">List all the userspace tables.</div>
</td>
</tr>
-<tr id="i75" class="rowColor">
+<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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listTables-java.util.regex.Pattern-boolean-">listTables</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> pattern,
boolean includeSysTables)</code>
<div class="block">List all the tables matching the given pattern.</div>
</td>
</tr>
-<tr id="i76" class="altColor">
+<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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listTables-java.lang.String-boolean-">listTables</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> regex,
boolean includeSysTables)</code>
<div class="block">List all the tables matching the given pattern.</div>
</td>
</tr>
-<tr id="i77" class="rowColor">
+<tr id="i90" 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><<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><<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>>></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> 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> snapshotNamePattern)</code>
@@ -782,7 +871,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
name regular expression.</div>
</td>
</tr>
-<tr id="i78" class="altColor">
+<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><<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><<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#listTableSnapshots-java.lang.String-java.lang.String-">listTableSnapshots</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> tableNameRegex,
<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> snapshotNameRegex)</code>
@@ -790,7 +879,39 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
name regular expression.</div>
</td>
</tr>
-<tr id="i79" class="rowColor">
+<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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.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> tableName)</code>
+<div class="block">Major compact a table.</div>
+</td>
+</tr>
+<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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.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> tableName,
+ byte[] columnFamily)</code>
+<div class="block">Major compact a column family within a table.</div>
+</td>
+</tr>
+<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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#majorCompactRegion-byte:A-">majorCompactRegion</a></span>(byte[] regionName)</code>
+<div class="block">Major compact a table or an individual region.</div>
+</td>
+</tr>
+<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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#majorCompactRegion-byte:A-byte:A-">majorCompactRegion</a></span>(byte[] regionName,
+ byte[] columnFamily)</code>
+<div class="block">Major compact a column family within region.</div>
+</td>
+</tr>
+<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><<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>></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> sn)</code>
+<div class="block">Compact all regions on the region server.</div>
+</td>
+</tr>
+<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><<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>></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[] nameOfRegionA,
byte[] nameOfRegionB,
@@ -798,105 +919,105 @@ implements <a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.htm
<div class="block">Merge two regions.</div>
</td>
</tr>
-<tr id="i80" 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><<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>></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.HColumnDescriptor-">modifyColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a> columnFamily)</code>
<div class="block">Modify an existing column family on a table.</div>
</td>
</tr>
-<tr id="i81" class="rowColor">
+<tr id="i99" 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><<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>></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> descriptor)</code>
<div class="block">Modify an existing namespace.</div>
</td>
</tr>
-<tr id="i82" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#move-byte:A-byte:A-">move</a></span>(byte[] regionName,
byte[] destServerName)</code>
<div class="block">Move the region <code>r</code> to <code>dest</code>.</div>
</td>
</tr>
-<tr id="i83" class="rowColor">
+<tr id="i101" class="rowColor">
<td class="colFirst"><code>private <T> <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder</a><T></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#newAdminCaller--">newAdminCaller</a></span>()</code> </td>
</tr>
-<tr id="i84" class="altColor">
+<tr id="i102" class="altColor">
<td class="colFirst"><code>private <T> <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder.html" title="class in org.apache.hadoop.hbase.client">AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder</a><T></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#newMasterCaller--">newMasterCaller</a></span>()</code> </td>
</tr>
-<tr id="i85" 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><<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>></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[] regionName)</code>
<div class="block">Offline specified region from master's in-memory state.</div>
</td>
</tr>
-<tr id="i86" class="altColor">
+<tr id="i104" class="altColor">
<td class="colFirst"><code>private <PREQ,PRESP><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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#procedureCall-PREQ-org.apache.hadoop.hbase.client.AsyncHBaseAdmin.MasterRpcCall-org.apache.hadoop.hbase.client.AsyncHBaseAdmin.Converter-org.apache.hadoop.hbase.client.AsyncHBaseAdmin.ProcedureBiConsumer-">procedureCall</a></span>(PREQ preq,
<a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MasterRpcCall.html" title="interface in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.MasterRpcCall</a><PRESP,PREQ> rpcCall,
<a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.Converter.html" title="interface in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.Converter</a><<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> respConverter,
<a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin.ProcedureBiConsumer</a> consumer)</code> </td>
</tr>
-<tr id="i87" 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><<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>></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> peerId)</code>
<div class="block">Remove a peer and stop the replication</div>
</td>
</tr>
-<tr id="i88" 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><<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>></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> 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><<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><<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>>> tableCfs)</code>
<div class="block">Remove some table-cfs from config of the specified peer</div>
</td>
</tr>
-<tr id="i89" 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><<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>></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
<TRUNCATED>
[16/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html
index 8750fa2..4fd4af0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ProcedureBiConsumer.html
@@ -48,2133 +48,2409 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span>import io.netty.util.Timeout;<a name="line.41"></a>
<span class="sourceLineNo">042</span>import io.netty.util.TimerTask;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.commons.logging.Log;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.commons.logging.LogFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ServerName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.HConstants;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>/**<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * The implementation of AsyncAdmin.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@InterfaceAudience.Private<a name="line.185"></a>
-<span class="sourceLineNo">186</span>@InterfaceStability.Evolving<a name="line.186"></a>
-<span class="sourceLineNo">187</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.187"></a>
+<span class="sourceLineNo">043</span>import org.apache.commons.io.IOUtils;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.commons.logging.Log;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.commons.logging.LogFactory;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ServerName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HConstants;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.TableName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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.snapshot.ClientSnapshotDescriptionUtils;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.187"></a>
<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> private final AsyncConnectionImpl connection;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span> private final RawAsyncTable metaTable;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final long rpcTimeoutNs;<a name="line.195"></a>
+<span class="sourceLineNo">189</span>/**<a name="line.189"></a>
+<span class="sourceLineNo">190</span> * The implementation of AsyncAdmin.<a name="line.190"></a>
+<span class="sourceLineNo">191</span> */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>@InterfaceAudience.Private<a name="line.192"></a>
+<span class="sourceLineNo">193</span>@InterfaceStability.Evolving<a name="line.193"></a>
+<span class="sourceLineNo">194</span>public class AsyncHBaseAdmin 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 final long operationTimeoutNs;<a name="line.197"></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 long pauseNs;<a name="line.199"></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 int maxAttempts;<a name="line.201"></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 int startLogErrorsCnt;<a name="line.203"></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 NonceGenerator ng;<a name="line.205"></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> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> this.connection = connection;<a name="line.208"></a>
-<span class="sourceLineNo">209</span> this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> this.rpcTimeoutNs = connection.connConf.getRpcTimeoutNs();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.212"></a>
-<span class="sourceLineNo">213</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.213"></a>
-<span class="sourceLineNo">214</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<a name="line.214"></a>
-<span class="sourceLineNo">215</span> this.ng = connection.getNonceGenerator();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> return this.connection.callerFactory.<T> masterRequest()<a name="line.219"></a>
-<span class="sourceLineNo">220</span> .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startLogErrorsCnt(startLogErrorsCnt);<a name="line.223"></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">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> private final int startLogErrorsCnt;<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">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<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 = connection.connConf.getRpcTimeoutNs();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.219"></a>
+<span class="sourceLineNo">220</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.220"></a>
+<span class="sourceLineNo">221</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.221"></a>
+<span class="sourceLineNo">222</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<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 <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> adminRequest()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> 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> @FunctionalInterface<a name="line.234"></a>
-<span class="sourceLineNo">235</span> private interface MasterRpcCall<RESP, REQ> {<a name="line.235"></a>
-<span class="sourceLineNo">236</span> void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.236"></a>
-<span class="sourceLineNo">237</span> RpcCallback<RESP> done);<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> @FunctionalInterface<a name="line.240"></a>
-<span class="sourceLineNo">241</span> private interface AdminRpcCall<RESP, REQ> {<a name="line.241"></a>
-<span class="sourceLineNo">242</span> void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> RpcCallback<RESP> done);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span> @FunctionalInterface<a name="line.246"></a>
-<span class="sourceLineNo">247</span> private interface Converter<D, S> {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> D convert(S src) throws IOException;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.251"></a>
-<span class="sourceLineNo">252</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.252"></a>
-<span class="sourceLineNo">253</span> Converter<RESP, PRESP> respConverter) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.254"></a>
-<span class="sourceLineNo">255</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> @Override<a name="line.257"></a>
-<span class="sourceLineNo">258</span> public void run(PRESP resp) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span> if (controller.failed()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span> future.completeExceptionally(controller.getFailed());<a name="line.260"></a>
-<span class="sourceLineNo">261</span> } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> future.complete(respConverter.convert(resp));<a name="line.263"></a>
-<span class="sourceLineNo">264</span> } catch (IOException e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span> future.completeExceptionally(e);<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> }<a name="line.268"></a>
-<span class="sourceLineNo">269</span> });<a name="line.269"></a>
-<span class="sourceLineNo">270</span> return future;<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> //TODO abstract call and adminCall into a single method.<a name="line.273"></a>
-<span class="sourceLineNo">274</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.274"></a>
-<span class="sourceLineNo">275</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.275"></a>
-<span class="sourceLineNo">276</span> Converter<RESP, PRESP> respConverter) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.279"></a>
+<span class="sourceLineNo">234</span> private <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.connection.callerFactory.<T> 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<RESP, REQ> {<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<RESP> done);<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<RESP, REQ> {<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<RESP> 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<D, S> {<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 <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.259"></a>
+<span class="sourceLineNo">260</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.260"></a>
+<span class="sourceLineNo">261</span> Converter<RESP, PRESP> respConverter) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.262"></a>
+<span class="sourceLineNo">263</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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> @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span> public void run(PRESP resp) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span> if (controller.failed()) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.284"></a>
-<span class="sourceLineNo">285</span> } else {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> future.complete(respConverter.convert(resp));<a name="line.287"></a>
-<span class="sourceLineNo">288</span> } catch (IOException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span> future.completeExceptionally(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span> }<a name="line.290"></a>
-<span class="sourceLineNo">291</span> }<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> return future;<a name="line.294"></a>
-<span class="sourceLineNo">295</span> }<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.298"></a>
-<span class="sourceLineNo">299</span> ProcedureBiConsumer consumer) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> CompletableFuture<Long> procFuture = this<a name="line.300"></a>
-<span class="sourceLineNo">301</span> .<Long> newMasterCaller()<a name="line.301"></a>
-<span class="sourceLineNo">302</span> .action(<a name="line.302"></a>
-<span class="sourceLineNo">303</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> respConverter)).call();<a name="line.304"></a>
-<span class="sourceLineNo">305</span> return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> @FunctionalInterface<a name="line.308"></a>
-<span class="sourceLineNo">309</span> private interface TableOperator {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> CompletableFuture<Void> operate(TableName table);<a name="line.310"></a>
-<span class="sourceLineNo">311</span> }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.313"></a>
-<span class="sourceLineNo">314</span> TableOperator operator, String operationType) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.315"></a>
-<span class="sourceLineNo">316</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> listTables(pattern, false).whenComplete(<a name="line.317"></a>
-<span class="sourceLineNo">318</span> (tables, error) -> {<a name="line.318"></a>
-<span class="sourceLineNo">319</span> if (error != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> future.completeExceptionally(error);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> return;<a name="line.321"></a>
-<span class="sourceLineNo">322</span> }<a name="line.322"></a>
-<span class="sourceLineNo">323</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.323"></a>
-<span class="sourceLineNo">324</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<a name="line.324"></a>
-<span class="sourceLineNo">325</span> if (ex != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.326"></a>
-<span class="sourceLineNo">327</span> failed.add(table);<a name="line.327"></a>
-<span class="sourceLineNo">328</span> }<a name="line.328"></a>
-<span class="sourceLineNo">329</span> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<a name="line.331"></a>
-<span class="sourceLineNo">332</span> });<a name="line.332"></a>
-<span class="sourceLineNo">333</span> });<a name="line.333"></a>
-<span class="sourceLineNo">334</span> return future;<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 AsyncConnectionImpl getConnection() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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<TableDescriptor[]> listTables() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return listTables((Pattern) null, false);<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<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> return listTables(Pattern.compile(regex), false);<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<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return this<a name="line.359"></a>
-<span class="sourceLineNo">360</span> .<TableDescriptor[]>newMasterCaller()<a name="line.360"></a>
-<span class="sourceLineNo">361</span> .action(<a name="line.361"></a>
-<span class="sourceLineNo">362</span> (controller, stub) -> this<a name="line.362"></a>
-<span class="sourceLineNo">363</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.363"></a>
-<span class="sourceLineNo">364</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.365"></a>
-<span class="sourceLineNo">366</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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<TableName[]> listTableNames() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span> return listTableNames((Pattern) null, false);<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<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> return listTableNames(Pattern.compile(regex), false);<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<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span> .<TableName[]>newMasterCaller()<a name="line.382"></a>
-<span class="sourceLineNo">383</span> .action(<a name="line.383"></a>
-<span class="sourceLineNo">384</span> (controller, stub) -> this<a name="line.384"></a>
-<span class="sourceLineNo">385</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.385"></a>
-<span class="sourceLineNo">386</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.386"></a>
-<span class="sourceLineNo">387</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.387"></a>
-<span class="sourceLineNo">388</span> .getTableNameArray(resp.getTableNamesList()))).call();<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<TableDescriptor> getTableDescriptor(TableName tableName) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> CompletableFuture<TableDescriptor> future = new CompletableFuture<>();<a name="line.393"></a>
-<span class="sourceLineNo">394</span> this.<List<TableSchema>> newMasterCaller()<a name="line.394"></a>
-<span class="sourceLineNo">395</span> .action(<a name="line.395"></a>
-<span class="sourceLineNo">396</span> (controller, stub) -> this<a name="line.396"></a>
-<span class="sourceLineNo">397</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, List<TableSchema>> call(<a name="line.397"></a>
-<span class="sourceLineNo">398</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.398"></a>
-<span class="sourceLineNo">399</span> c, req, done) -> s.getTableDescriptors(c, req, done), (resp) -> resp<a name="line.399"></a>
-<span class="sourceLineNo">400</span> .getTableSchemaList())).call().whenComplete((tableSchemas, error) -> {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> if (error != null) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> future.completeExceptionally(error);<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> if (!tableSchemas.isEmpty()) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.406"></a>
-<span class="sourceLineNo">407</span> } else {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<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> return future;<a name="line.411"></a>
-<span class="sourceLineNo">412</span> }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> @Override<a name="line.414"></a>
-<span class="sourceLineNo">415</span> public CompletableFuture<Void> createTable(TableDescriptor desc) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return createTable(desc, null);<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> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.420"></a>
-<span class="sourceLineNo">421</span> int numRegions) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> try {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> return createTable(desc, getSplitKeys(startKey, endKey, numRegions));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> } catch (IllegalArgumentException e) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span> return failedFuture(e);<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><a name="line.428"></a>
-<span class="sourceLineNo">429</span> @Override<a name="line.429"></a>
-<span class="sourceLineNo">430</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span> if (desc.getTableName() == null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (splitKeys != null && splitKeys.length > 0) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);<a name="line.435"></a>
-<span class="sourceLineNo">436</span> // Verify there are no duplicate split keys<a name="line.436"></a>
-<span class="sourceLineNo">437</span> byte[] lastKey = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> for (byte[] splitKey : splitKeys) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> if (Bytes.compareTo(splitKey, HConstants.EMPTY_BYTE_ARRAY) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> return failedFuture(new IllegalArgumentException(<a name="line.440"></a>
-<span class="sourceLineNo">441</span> "Empty split key must not be passed in the split keys."));<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> if (lastKey != null && Bytes.equals(splitKey, lastKey)) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span> return failedFuture(new IllegalArgumentException("All split keys must be unique, "<a name="line.444"></a>
-<span class="sourceLineNo">445</span> + "found duplicate: " + Bytes.toStringBinary(splitKey) + ", "<a name="line.445"></a>
-<span class="sourceLineNo">446</span> + Bytes.toStringBinary(lastKey)));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> }<a name="line.447"></a>
-<span class="sourceLineNo">448</span> lastKey = splitKey;<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><a name="line.451"></a>
-<span class="sourceLineNo">452</span> return this.<CreateTableRequest, CreateTableResponse> procedureCall(<a name="line.452"></a>
-<span class="sourceLineNo">453</span> RequestConverter.buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()),<a name="line.453"></a>
-<span class="sourceLineNo">454</span> (s, c, req, done) -> s.createTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.454"></a>
-<span class="sourceLineNo">455</span> new CreateTableProcedureBiConsumer(this, desc.getTableName()));<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<Void> deleteTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return this.<DeleteTableRequest, DeleteTableResponse> procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span> .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span> (s, c, req, done) -> s.deleteTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span> new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
+<span class="sourceLineNo">281</span> //TODO abstract call and adminCall into a single method.<a name="line.281"></a>
+<span class="sourceLineNo">282</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.282"></a>
+<span class="sourceLineNo">283</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Converter<RESP, PRESP> respConverter) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.286"></a>
+<span class="sourceLineNo">287</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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 void run(PRESP resp) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (controller.failed()) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> try {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> future.complete(respConverter.convert(resp));<a name="line.295"></a>
+<span class="sourceLineNo">296</span> } catch (IOException e) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span> future.completeExceptionally(e);<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> });<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return future;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.305"></a>
+<span class="sourceLineNo">306</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.306"></a>
+<span class="sourceLineNo">307</span> ProcedureBiConsumer consumer) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> CompletableFuture<Long> procFuture = this<a name="line.308"></a>
+<span class="sourceLineNo">309</span> .<Long> newMasterCaller()<a name="line.309"></a>
+<span class="sourceLineNo">310</span> .action(<a name="line.310"></a>
+<span class="sourceLineNo">311</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.311"></a>
+<span class="sourceLineNo">312</span> respConverter)).call();<a name="line.312"></a>
+<span class="sourceLineNo">313</span> return waitProcedureResult(procFuture).whenComplete(consumer);<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> @FunctionalInterface<a name="line.316"></a>
+<span class="sourceLineNo">317</span> private interface TableOperator {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> CompletableFuture<Void> operate(TableName table);<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> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.321"></a>
+<span class="sourceLineNo">322</span> TableOperator operator, String operationType) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> listTables(pattern, false).whenComplete(<a name="line.325"></a>
+<span class="sourceLineNo">326</span> (tables, error) -> {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> if (error != null) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> future.completeExceptionally(error);<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return;<a name="line.329"></a>
+<span class="sourceLineNo">330</span> }<a name="line.330"></a>
+<span class="sourceLineNo">331</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.331"></a>
+<span class="sourceLineNo">332</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<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> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.337"></a>
+<span class="sourceLineNo">338</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.338"></a>
+<span class="sourceLineNo">339</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<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 AsyncConnectionImpl getConnection() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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> @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span> public CompletableFuture<TableDescriptor[]> listTables() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span> return listTables((Pattern) null, false);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span> public CompletableFuture<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return listTables(Pattern.compile(regex), false);<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> @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public CompletableFuture<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span> .<TableDescriptor[]>newMasterCaller()<a name="line.368"></a>
+<span class="sourceLineNo">369</span> .action(<a name="line.369"></a>
+<span class="sourceLineNo">370</span> (controller, stub) -> this<a name="line.370"></a>
+<span class="sourceLineNo">371</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.371"></a>
+<span class="sourceLineNo">372</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.372"></a>
+<span class="sourceLineNo">373</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.373"></a>
+<span class="sourceLineNo">374</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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> @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span> public CompletableFuture<TableName[]> listTableNames() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> return listTableNames((Pattern) null, false);<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> @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public CompletableFuture<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> return listTableNames(Pattern.compile(regex), false);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public CompletableFuture<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return this<a name="line.389"></a>
+<span class="sourceLineNo">390</span> .<TableName[]>newMasterCaller()<a name="line.390"></a>
+<span class="sourceLineNo">391</span> .action(<a name="line.391"></a>
+<span class="sourceLineNo">392</span> (controller, stub) -> this<a name="line.392"></a>
+<span class="sourceLineNo">393</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.393"></a>
+<span class="sourceLineNo">394</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.394"></a>
+<span class="sourceLineNo">395</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.395"></a>
+<span class="sourceLineNo">396</span> .getTableNameArray(resp.getTableNamesList()))).call();<a name="line.396"></a>
+<span class="sourceLineNo">397</span> }<a name="l
<TRUNCATED>
[21/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MasterRpcCall.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MasterRpcCall.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MasterRpcCall.html
index 8750fa2..4fd4af0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MasterRpcCall.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MasterRpcCall.html
@@ -48,2133 +48,2409 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span>import io.netty.util.Timeout;<a name="line.41"></a>
<span class="sourceLineNo">042</span>import io.netty.util.TimerTask;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.commons.logging.Log;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.commons.logging.LogFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ServerName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.HConstants;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>/**<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * The implementation of AsyncAdmin.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@InterfaceAudience.Private<a name="line.185"></a>
-<span class="sourceLineNo">186</span>@InterfaceStability.Evolving<a name="line.186"></a>
-<span class="sourceLineNo">187</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.187"></a>
+<span class="sourceLineNo">043</span>import org.apache.commons.io.IOUtils;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.commons.logging.Log;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.commons.logging.LogFactory;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ServerName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HConstants;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.TableName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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.snapshot.ClientSnapshotDescriptionUtils;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.187"></a>
<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> private final AsyncConnectionImpl connection;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span> private final RawAsyncTable metaTable;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final long rpcTimeoutNs;<a name="line.195"></a>
+<span class="sourceLineNo">189</span>/**<a name="line.189"></a>
+<span class="sourceLineNo">190</span> * The implementation of AsyncAdmin.<a name="line.190"></a>
+<span class="sourceLineNo">191</span> */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>@InterfaceAudience.Private<a name="line.192"></a>
+<span class="sourceLineNo">193</span>@InterfaceStability.Evolving<a name="line.193"></a>
+<span class="sourceLineNo">194</span>public class AsyncHBaseAdmin 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 final long operationTimeoutNs;<a name="line.197"></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 long pauseNs;<a name="line.199"></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 int maxAttempts;<a name="line.201"></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 int startLogErrorsCnt;<a name="line.203"></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 NonceGenerator ng;<a name="line.205"></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> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> this.connection = connection;<a name="line.208"></a>
-<span class="sourceLineNo">209</span> this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> this.rpcTimeoutNs = connection.connConf.getRpcTimeoutNs();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.212"></a>
-<span class="sourceLineNo">213</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.213"></a>
-<span class="sourceLineNo">214</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<a name="line.214"></a>
-<span class="sourceLineNo">215</span> this.ng = connection.getNonceGenerator();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> return this.connection.callerFactory.<T> masterRequest()<a name="line.219"></a>
-<span class="sourceLineNo">220</span> .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startLogErrorsCnt(startLogErrorsCnt);<a name="line.223"></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">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> private final int startLogErrorsCnt;<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">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<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 = connection.connConf.getRpcTimeoutNs();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.219"></a>
+<span class="sourceLineNo">220</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.220"></a>
+<span class="sourceLineNo">221</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.221"></a>
+<span class="sourceLineNo">222</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<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 <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> adminRequest()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> 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> @FunctionalInterface<a name="line.234"></a>
-<span class="sourceLineNo">235</span> private interface MasterRpcCall<RESP, REQ> {<a name="line.235"></a>
-<span class="sourceLineNo">236</span> void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.236"></a>
-<span class="sourceLineNo">237</span> RpcCallback<RESP> done);<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> @FunctionalInterface<a name="line.240"></a>
-<span class="sourceLineNo">241</span> private interface AdminRpcCall<RESP, REQ> {<a name="line.241"></a>
-<span class="sourceLineNo">242</span> void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> RpcCallback<RESP> done);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span> @FunctionalInterface<a name="line.246"></a>
-<span class="sourceLineNo">247</span> private interface Converter<D, S> {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> D convert(S src) throws IOException;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.251"></a>
-<span class="sourceLineNo">252</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.252"></a>
-<span class="sourceLineNo">253</span> Converter<RESP, PRESP> respConverter) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.254"></a>
-<span class="sourceLineNo">255</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> @Override<a name="line.257"></a>
-<span class="sourceLineNo">258</span> public void run(PRESP resp) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span> if (controller.failed()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span> future.completeExceptionally(controller.getFailed());<a name="line.260"></a>
-<span class="sourceLineNo">261</span> } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> future.complete(respConverter.convert(resp));<a name="line.263"></a>
-<span class="sourceLineNo">264</span> } catch (IOException e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span> future.completeExceptionally(e);<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> }<a name="line.268"></a>
-<span class="sourceLineNo">269</span> });<a name="line.269"></a>
-<span class="sourceLineNo">270</span> return future;<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> //TODO abstract call and adminCall into a single method.<a name="line.273"></a>
-<span class="sourceLineNo">274</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.274"></a>
-<span class="sourceLineNo">275</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.275"></a>
-<span class="sourceLineNo">276</span> Converter<RESP, PRESP> respConverter) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.279"></a>
+<span class="sourceLineNo">234</span> private <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.connection.callerFactory.<T> 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<RESP, REQ> {<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<RESP> done);<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<RESP, REQ> {<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<RESP> 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<D, S> {<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 <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.259"></a>
+<span class="sourceLineNo">260</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.260"></a>
+<span class="sourceLineNo">261</span> Converter<RESP, PRESP> respConverter) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.262"></a>
+<span class="sourceLineNo">263</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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> @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span> public void run(PRESP resp) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span> if (controller.failed()) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.284"></a>
-<span class="sourceLineNo">285</span> } else {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> future.complete(respConverter.convert(resp));<a name="line.287"></a>
-<span class="sourceLineNo">288</span> } catch (IOException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span> future.completeExceptionally(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span> }<a name="line.290"></a>
-<span class="sourceLineNo">291</span> }<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> return future;<a name="line.294"></a>
-<span class="sourceLineNo">295</span> }<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.298"></a>
-<span class="sourceLineNo">299</span> ProcedureBiConsumer consumer) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> CompletableFuture<Long> procFuture = this<a name="line.300"></a>
-<span class="sourceLineNo">301</span> .<Long> newMasterCaller()<a name="line.301"></a>
-<span class="sourceLineNo">302</span> .action(<a name="line.302"></a>
-<span class="sourceLineNo">303</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> respConverter)).call();<a name="line.304"></a>
-<span class="sourceLineNo">305</span> return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> @FunctionalInterface<a name="line.308"></a>
-<span class="sourceLineNo">309</span> private interface TableOperator {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> CompletableFuture<Void> operate(TableName table);<a name="line.310"></a>
-<span class="sourceLineNo">311</span> }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.313"></a>
-<span class="sourceLineNo">314</span> TableOperator operator, String operationType) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.315"></a>
-<span class="sourceLineNo">316</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> listTables(pattern, false).whenComplete(<a name="line.317"></a>
-<span class="sourceLineNo">318</span> (tables, error) -> {<a name="line.318"></a>
-<span class="sourceLineNo">319</span> if (error != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> future.completeExceptionally(error);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> return;<a name="line.321"></a>
-<span class="sourceLineNo">322</span> }<a name="line.322"></a>
-<span class="sourceLineNo">323</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.323"></a>
-<span class="sourceLineNo">324</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<a name="line.324"></a>
-<span class="sourceLineNo">325</span> if (ex != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.326"></a>
-<span class="sourceLineNo">327</span> failed.add(table);<a name="line.327"></a>
-<span class="sourceLineNo">328</span> }<a name="line.328"></a>
-<span class="sourceLineNo">329</span> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<a name="line.331"></a>
-<span class="sourceLineNo">332</span> });<a name="line.332"></a>
-<span class="sourceLineNo">333</span> });<a name="line.333"></a>
-<span class="sourceLineNo">334</span> return future;<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 AsyncConnectionImpl getConnection() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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<TableDescriptor[]> listTables() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return listTables((Pattern) null, false);<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<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> return listTables(Pattern.compile(regex), false);<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<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return this<a name="line.359"></a>
-<span class="sourceLineNo">360</span> .<TableDescriptor[]>newMasterCaller()<a name="line.360"></a>
-<span class="sourceLineNo">361</span> .action(<a name="line.361"></a>
-<span class="sourceLineNo">362</span> (controller, stub) -> this<a name="line.362"></a>
-<span class="sourceLineNo">363</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.363"></a>
-<span class="sourceLineNo">364</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.365"></a>
-<span class="sourceLineNo">366</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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<TableName[]> listTableNames() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span> return listTableNames((Pattern) null, false);<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<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> return listTableNames(Pattern.compile(regex), false);<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<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span> .<TableName[]>newMasterCaller()<a name="line.382"></a>
-<span class="sourceLineNo">383</span> .action(<a name="line.383"></a>
-<span class="sourceLineNo">384</span> (controller, stub) -> this<a name="line.384"></a>
-<span class="sourceLineNo">385</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.385"></a>
-<span class="sourceLineNo">386</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.386"></a>
-<span class="sourceLineNo">387</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.387"></a>
-<span class="sourceLineNo">388</span> .getTableNameArray(resp.getTableNamesList()))).call();<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<TableDescriptor> getTableDescriptor(TableName tableName) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> CompletableFuture<TableDescriptor> future = new CompletableFuture<>();<a name="line.393"></a>
-<span class="sourceLineNo">394</span> this.<List<TableSchema>> newMasterCaller()<a name="line.394"></a>
-<span class="sourceLineNo">395</span> .action(<a name="line.395"></a>
-<span class="sourceLineNo">396</span> (controller, stub) -> this<a name="line.396"></a>
-<span class="sourceLineNo">397</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, List<TableSchema>> call(<a name="line.397"></a>
-<span class="sourceLineNo">398</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.398"></a>
-<span class="sourceLineNo">399</span> c, req, done) -> s.getTableDescriptors(c, req, done), (resp) -> resp<a name="line.399"></a>
-<span class="sourceLineNo">400</span> .getTableSchemaList())).call().whenComplete((tableSchemas, error) -> {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> if (error != null) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> future.completeExceptionally(error);<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> if (!tableSchemas.isEmpty()) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.406"></a>
-<span class="sourceLineNo">407</span> } else {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<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> return future;<a name="line.411"></a>
-<span class="sourceLineNo">412</span> }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> @Override<a name="line.414"></a>
-<span class="sourceLineNo">415</span> public CompletableFuture<Void> createTable(TableDescriptor desc) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return createTable(desc, null);<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> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.420"></a>
-<span class="sourceLineNo">421</span> int numRegions) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> try {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> return createTable(desc, getSplitKeys(startKey, endKey, numRegions));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> } catch (IllegalArgumentException e) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span> return failedFuture(e);<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><a name="line.428"></a>
-<span class="sourceLineNo">429</span> @Override<a name="line.429"></a>
-<span class="sourceLineNo">430</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span> if (desc.getTableName() == null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (splitKeys != null && splitKeys.length > 0) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);<a name="line.435"></a>
-<span class="sourceLineNo">436</span> // Verify there are no duplicate split keys<a name="line.436"></a>
-<span class="sourceLineNo">437</span> byte[] lastKey = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> for (byte[] splitKey : splitKeys) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> if (Bytes.compareTo(splitKey, HConstants.EMPTY_BYTE_ARRAY) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> return failedFuture(new IllegalArgumentException(<a name="line.440"></a>
-<span class="sourceLineNo">441</span> "Empty split key must not be passed in the split keys."));<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> if (lastKey != null && Bytes.equals(splitKey, lastKey)) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span> return failedFuture(new IllegalArgumentException("All split keys must be unique, "<a name="line.444"></a>
-<span class="sourceLineNo">445</span> + "found duplicate: " + Bytes.toStringBinary(splitKey) + ", "<a name="line.445"></a>
-<span class="sourceLineNo">446</span> + Bytes.toStringBinary(lastKey)));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> }<a name="line.447"></a>
-<span class="sourceLineNo">448</span> lastKey = splitKey;<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><a name="line.451"></a>
-<span class="sourceLineNo">452</span> return this.<CreateTableRequest, CreateTableResponse> procedureCall(<a name="line.452"></a>
-<span class="sourceLineNo">453</span> RequestConverter.buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()),<a name="line.453"></a>
-<span class="sourceLineNo">454</span> (s, c, req, done) -> s.createTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.454"></a>
-<span class="sourceLineNo">455</span> new CreateTableProcedureBiConsumer(this, desc.getTableName()));<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<Void> deleteTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return this.<DeleteTableRequest, DeleteTableResponse> procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span> .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span> (s, c, req, done) -> s.deleteTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span> new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
+<span class="sourceLineNo">281</span> //TODO abstract call and adminCall into a single method.<a name="line.281"></a>
+<span class="sourceLineNo">282</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.282"></a>
+<span class="sourceLineNo">283</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Converter<RESP, PRESP> respConverter) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.286"></a>
+<span class="sourceLineNo">287</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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 void run(PRESP resp) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (controller.failed()) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> try {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> future.complete(respConverter.convert(resp));<a name="line.295"></a>
+<span class="sourceLineNo">296</span> } catch (IOException e) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span> future.completeExceptionally(e);<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> });<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return future;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.305"></a>
+<span class="sourceLineNo">306</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.306"></a>
+<span class="sourceLineNo">307</span> ProcedureBiConsumer consumer) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> CompletableFuture<Long> procFuture = this<a name="line.308"></a>
+<span class="sourceLineNo">309</span> .<Long> newMasterCaller()<a name="line.309"></a>
+<span class="sourceLineNo">310</span> .action(<a name="line.310"></a>
+<span class="sourceLineNo">311</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.311"></a>
+<span class="sourceLineNo">312</span> respConverter)).call();<a name="line.312"></a>
+<span class="sourceLineNo">313</span> return waitProcedureResult(procFuture).whenComplete(consumer);<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> @FunctionalInterface<a name="line.316"></a>
+<span class="sourceLineNo">317</span> private interface TableOperator {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> CompletableFuture<Void> operate(TableName table);<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> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.321"></a>
+<span class="sourceLineNo">322</span> TableOperator operator, String operationType) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> listTables(pattern, false).whenComplete(<a name="line.325"></a>
+<span class="sourceLineNo">326</span> (tables, error) -> {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> if (error != null) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> future.completeExceptionally(error);<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return;<a name="line.329"></a>
+<span class="sourceLineNo">330</span> }<a name="line.330"></a>
+<span class="sourceLineNo">331</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.331"></a>
+<span class="sourceLineNo">332</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<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> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.337"></a>
+<span class="sourceLineNo">338</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.338"></a>
+<span class="sourceLineNo">339</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<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 AsyncConnectionImpl getConnection() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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> @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span> public CompletableFuture<TableDescriptor[]> listTables() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span> return listTables((Pattern) null, false);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span> public CompletableFuture<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return listTables(Pattern.compile(regex), false);<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> @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public CompletableFuture<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span> .<TableDescriptor[]>newMasterCaller()<a name="line.368"></a>
+<span class="sourceLineNo">369</span> .action(<a name="line.369"></a>
+<span class="sourceLineNo">370</span> (controller, stub) -> this<a name="line.370"></a>
+<span class="sourceLineNo">371</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.371"></a>
+<span class="sourceLineNo">372</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.372"></a>
+<span class="sourceLineNo">373</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.373"></a>
+<span class="sourceLineNo">374</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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> @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span> public CompletableFuture<TableName[]> listTableNames() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> return listTableNames((Pattern) null, false);<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> @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public CompletableFuture<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> return listTableNames(Pattern.compile(regex), false);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public CompletableFuture<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return this<a name="line.389"></a>
+<span class="sourceLineNo">390</span> .<TableName[]>newMasterCaller()<a name="line.390"></a>
+<span class="sourceLineNo">391</span> .action(<a name="line.391"></a>
+<span class="sourceLineNo">392</span> (controller, stub) -> this<a name="line.392"></a>
+<span class="sourceLineNo">393</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.393"></a>
+<span class="sourceLineNo">394</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.394"></a>
+<span class="sourceLineNo">395</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.395"></a>
+<span class="sourceLineNo">396</span> .getTableNameArray(resp.getTableNamesList()))).call();<a name="line.396"></a>
+<span class="sourceLineNo">397</span> }<a name="line.397"></a>
+<span class="so
<TRUNCATED>
[15/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableOperator.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableOperator.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableOperator.html
index 8750fa2..4fd4af0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableOperator.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.TableOperator.html
@@ -48,2133 +48,2409 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span>import io.netty.util.Timeout;<a name="line.41"></a>
<span class="sourceLineNo">042</span>import io.netty.util.TimerTask;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.commons.logging.Log;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.commons.logging.LogFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ServerName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.HConstants;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>/**<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * The implementation of AsyncAdmin.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@InterfaceAudience.Private<a name="line.185"></a>
-<span class="sourceLineNo">186</span>@InterfaceStability.Evolving<a name="line.186"></a>
-<span class="sourceLineNo">187</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.187"></a>
+<span class="sourceLineNo">043</span>import org.apache.commons.io.IOUtils;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.commons.logging.Log;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.commons.logging.LogFactory;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ServerName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HConstants;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.TableName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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.snapshot.ClientSnapshotDescriptionUtils;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.187"></a>
<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> private final AsyncConnectionImpl connection;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span> private final RawAsyncTable metaTable;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final long rpcTimeoutNs;<a name="line.195"></a>
+<span class="sourceLineNo">189</span>/**<a name="line.189"></a>
+<span class="sourceLineNo">190</span> * The implementation of AsyncAdmin.<a name="line.190"></a>
+<span class="sourceLineNo">191</span> */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>@InterfaceAudience.Private<a name="line.192"></a>
+<span class="sourceLineNo">193</span>@InterfaceStability.Evolving<a name="line.193"></a>
+<span class="sourceLineNo">194</span>public class AsyncHBaseAdmin 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 final long operationTimeoutNs;<a name="line.197"></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 long pauseNs;<a name="line.199"></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 int maxAttempts;<a name="line.201"></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 int startLogErrorsCnt;<a name="line.203"></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 NonceGenerator ng;<a name="line.205"></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> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> this.connection = connection;<a name="line.208"></a>
-<span class="sourceLineNo">209</span> this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> this.rpcTimeoutNs = connection.connConf.getRpcTimeoutNs();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.212"></a>
-<span class="sourceLineNo">213</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.213"></a>
-<span class="sourceLineNo">214</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<a name="line.214"></a>
-<span class="sourceLineNo">215</span> this.ng = connection.getNonceGenerator();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> return this.connection.callerFactory.<T> masterRequest()<a name="line.219"></a>
-<span class="sourceLineNo">220</span> .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startLogErrorsCnt(startLogErrorsCnt);<a name="line.223"></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">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> private final int startLogErrorsCnt;<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">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<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 = connection.connConf.getRpcTimeoutNs();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.219"></a>
+<span class="sourceLineNo">220</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.220"></a>
+<span class="sourceLineNo">221</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.221"></a>
+<span class="sourceLineNo">222</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<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 <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> adminRequest()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> 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> @FunctionalInterface<a name="line.234"></a>
-<span class="sourceLineNo">235</span> private interface MasterRpcCall<RESP, REQ> {<a name="line.235"></a>
-<span class="sourceLineNo">236</span> void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.236"></a>
-<span class="sourceLineNo">237</span> RpcCallback<RESP> done);<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> @FunctionalInterface<a name="line.240"></a>
-<span class="sourceLineNo">241</span> private interface AdminRpcCall<RESP, REQ> {<a name="line.241"></a>
-<span class="sourceLineNo">242</span> void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> RpcCallback<RESP> done);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span> @FunctionalInterface<a name="line.246"></a>
-<span class="sourceLineNo">247</span> private interface Converter<D, S> {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> D convert(S src) throws IOException;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.251"></a>
-<span class="sourceLineNo">252</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.252"></a>
-<span class="sourceLineNo">253</span> Converter<RESP, PRESP> respConverter) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.254"></a>
-<span class="sourceLineNo">255</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> @Override<a name="line.257"></a>
-<span class="sourceLineNo">258</span> public void run(PRESP resp) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span> if (controller.failed()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span> future.completeExceptionally(controller.getFailed());<a name="line.260"></a>
-<span class="sourceLineNo">261</span> } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> future.complete(respConverter.convert(resp));<a name="line.263"></a>
-<span class="sourceLineNo">264</span> } catch (IOException e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span> future.completeExceptionally(e);<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> }<a name="line.268"></a>
-<span class="sourceLineNo">269</span> });<a name="line.269"></a>
-<span class="sourceLineNo">270</span> return future;<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> //TODO abstract call and adminCall into a single method.<a name="line.273"></a>
-<span class="sourceLineNo">274</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.274"></a>
-<span class="sourceLineNo">275</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.275"></a>
-<span class="sourceLineNo">276</span> Converter<RESP, PRESP> respConverter) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.279"></a>
+<span class="sourceLineNo">234</span> private <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.connection.callerFactory.<T> 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<RESP, REQ> {<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<RESP> done);<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<RESP, REQ> {<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<RESP> 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<D, S> {<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 <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.259"></a>
+<span class="sourceLineNo">260</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.260"></a>
+<span class="sourceLineNo">261</span> Converter<RESP, PRESP> respConverter) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.262"></a>
+<span class="sourceLineNo">263</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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> @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span> public void run(PRESP resp) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span> if (controller.failed()) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.284"></a>
-<span class="sourceLineNo">285</span> } else {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> future.complete(respConverter.convert(resp));<a name="line.287"></a>
-<span class="sourceLineNo">288</span> } catch (IOException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span> future.completeExceptionally(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span> }<a name="line.290"></a>
-<span class="sourceLineNo">291</span> }<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> return future;<a name="line.294"></a>
-<span class="sourceLineNo">295</span> }<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.298"></a>
-<span class="sourceLineNo">299</span> ProcedureBiConsumer consumer) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> CompletableFuture<Long> procFuture = this<a name="line.300"></a>
-<span class="sourceLineNo">301</span> .<Long> newMasterCaller()<a name="line.301"></a>
-<span class="sourceLineNo">302</span> .action(<a name="line.302"></a>
-<span class="sourceLineNo">303</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> respConverter)).call();<a name="line.304"></a>
-<span class="sourceLineNo">305</span> return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> @FunctionalInterface<a name="line.308"></a>
-<span class="sourceLineNo">309</span> private interface TableOperator {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> CompletableFuture<Void> operate(TableName table);<a name="line.310"></a>
-<span class="sourceLineNo">311</span> }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.313"></a>
-<span class="sourceLineNo">314</span> TableOperator operator, String operationType) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.315"></a>
-<span class="sourceLineNo">316</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> listTables(pattern, false).whenComplete(<a name="line.317"></a>
-<span class="sourceLineNo">318</span> (tables, error) -> {<a name="line.318"></a>
-<span class="sourceLineNo">319</span> if (error != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> future.completeExceptionally(error);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> return;<a name="line.321"></a>
-<span class="sourceLineNo">322</span> }<a name="line.322"></a>
-<span class="sourceLineNo">323</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.323"></a>
-<span class="sourceLineNo">324</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<a name="line.324"></a>
-<span class="sourceLineNo">325</span> if (ex != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.326"></a>
-<span class="sourceLineNo">327</span> failed.add(table);<a name="line.327"></a>
-<span class="sourceLineNo">328</span> }<a name="line.328"></a>
-<span class="sourceLineNo">329</span> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<a name="line.331"></a>
-<span class="sourceLineNo">332</span> });<a name="line.332"></a>
-<span class="sourceLineNo">333</span> });<a name="line.333"></a>
-<span class="sourceLineNo">334</span> return future;<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 AsyncConnectionImpl getConnection() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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<TableDescriptor[]> listTables() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return listTables((Pattern) null, false);<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<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> return listTables(Pattern.compile(regex), false);<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<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return this<a name="line.359"></a>
-<span class="sourceLineNo">360</span> .<TableDescriptor[]>newMasterCaller()<a name="line.360"></a>
-<span class="sourceLineNo">361</span> .action(<a name="line.361"></a>
-<span class="sourceLineNo">362</span> (controller, stub) -> this<a name="line.362"></a>
-<span class="sourceLineNo">363</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.363"></a>
-<span class="sourceLineNo">364</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.365"></a>
-<span class="sourceLineNo">366</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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<TableName[]> listTableNames() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span> return listTableNames((Pattern) null, false);<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<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> return listTableNames(Pattern.compile(regex), false);<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<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span> .<TableName[]>newMasterCaller()<a name="line.382"></a>
-<span class="sourceLineNo">383</span> .action(<a name="line.383"></a>
-<span class="sourceLineNo">384</span> (controller, stub) -> this<a name="line.384"></a>
-<span class="sourceLineNo">385</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.385"></a>
-<span class="sourceLineNo">386</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.386"></a>
-<span class="sourceLineNo">387</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.387"></a>
-<span class="sourceLineNo">388</span> .getTableNameArray(resp.getTableNamesList()))).call();<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<TableDescriptor> getTableDescriptor(TableName tableName) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> CompletableFuture<TableDescriptor> future = new CompletableFuture<>();<a name="line.393"></a>
-<span class="sourceLineNo">394</span> this.<List<TableSchema>> newMasterCaller()<a name="line.394"></a>
-<span class="sourceLineNo">395</span> .action(<a name="line.395"></a>
-<span class="sourceLineNo">396</span> (controller, stub) -> this<a name="line.396"></a>
-<span class="sourceLineNo">397</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, List<TableSchema>> call(<a name="line.397"></a>
-<span class="sourceLineNo">398</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.398"></a>
-<span class="sourceLineNo">399</span> c, req, done) -> s.getTableDescriptors(c, req, done), (resp) -> resp<a name="line.399"></a>
-<span class="sourceLineNo">400</span> .getTableSchemaList())).call().whenComplete((tableSchemas, error) -> {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> if (error != null) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> future.completeExceptionally(error);<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> if (!tableSchemas.isEmpty()) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.406"></a>
-<span class="sourceLineNo">407</span> } else {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<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> return future;<a name="line.411"></a>
-<span class="sourceLineNo">412</span> }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> @Override<a name="line.414"></a>
-<span class="sourceLineNo">415</span> public CompletableFuture<Void> createTable(TableDescriptor desc) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return createTable(desc, null);<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> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.420"></a>
-<span class="sourceLineNo">421</span> int numRegions) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> try {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> return createTable(desc, getSplitKeys(startKey, endKey, numRegions));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> } catch (IllegalArgumentException e) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span> return failedFuture(e);<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><a name="line.428"></a>
-<span class="sourceLineNo">429</span> @Override<a name="line.429"></a>
-<span class="sourceLineNo">430</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span> if (desc.getTableName() == null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (splitKeys != null && splitKeys.length > 0) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);<a name="line.435"></a>
-<span class="sourceLineNo">436</span> // Verify there are no duplicate split keys<a name="line.436"></a>
-<span class="sourceLineNo">437</span> byte[] lastKey = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> for (byte[] splitKey : splitKeys) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> if (Bytes.compareTo(splitKey, HConstants.EMPTY_BYTE_ARRAY) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> return failedFuture(new IllegalArgumentException(<a name="line.440"></a>
-<span class="sourceLineNo">441</span> "Empty split key must not be passed in the split keys."));<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> if (lastKey != null && Bytes.equals(splitKey, lastKey)) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span> return failedFuture(new IllegalArgumentException("All split keys must be unique, "<a name="line.444"></a>
-<span class="sourceLineNo">445</span> + "found duplicate: " + Bytes.toStringBinary(splitKey) + ", "<a name="line.445"></a>
-<span class="sourceLineNo">446</span> + Bytes.toStringBinary(lastKey)));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> }<a name="line.447"></a>
-<span class="sourceLineNo">448</span> lastKey = splitKey;<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><a name="line.451"></a>
-<span class="sourceLineNo">452</span> return this.<CreateTableRequest, CreateTableResponse> procedureCall(<a name="line.452"></a>
-<span class="sourceLineNo">453</span> RequestConverter.buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()),<a name="line.453"></a>
-<span class="sourceLineNo">454</span> (s, c, req, done) -> s.createTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.454"></a>
-<span class="sourceLineNo">455</span> new CreateTableProcedureBiConsumer(this, desc.getTableName()));<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<Void> deleteTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return this.<DeleteTableRequest, DeleteTableResponse> procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span> .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span> (s, c, req, done) -> s.deleteTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span> new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
+<span class="sourceLineNo">281</span> //TODO abstract call and adminCall into a single method.<a name="line.281"></a>
+<span class="sourceLineNo">282</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.282"></a>
+<span class="sourceLineNo">283</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Converter<RESP, PRESP> respConverter) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.286"></a>
+<span class="sourceLineNo">287</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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 void run(PRESP resp) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (controller.failed()) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> try {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> future.complete(respConverter.convert(resp));<a name="line.295"></a>
+<span class="sourceLineNo">296</span> } catch (IOException e) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span> future.completeExceptionally(e);<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> });<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return future;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.305"></a>
+<span class="sourceLineNo">306</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.306"></a>
+<span class="sourceLineNo">307</span> ProcedureBiConsumer consumer) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> CompletableFuture<Long> procFuture = this<a name="line.308"></a>
+<span class="sourceLineNo">309</span> .<Long> newMasterCaller()<a name="line.309"></a>
+<span class="sourceLineNo">310</span> .action(<a name="line.310"></a>
+<span class="sourceLineNo">311</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.311"></a>
+<span class="sourceLineNo">312</span> respConverter)).call();<a name="line.312"></a>
+<span class="sourceLineNo">313</span> return waitProcedureResult(procFuture).whenComplete(consumer);<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> @FunctionalInterface<a name="line.316"></a>
+<span class="sourceLineNo">317</span> private interface TableOperator {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> CompletableFuture<Void> operate(TableName table);<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> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.321"></a>
+<span class="sourceLineNo">322</span> TableOperator operator, String operationType) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> listTables(pattern, false).whenComplete(<a name="line.325"></a>
+<span class="sourceLineNo">326</span> (tables, error) -> {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> if (error != null) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> future.completeExceptionally(error);<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return;<a name="line.329"></a>
+<span class="sourceLineNo">330</span> }<a name="line.330"></a>
+<span class="sourceLineNo">331</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.331"></a>
+<span class="sourceLineNo">332</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<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> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.337"></a>
+<span class="sourceLineNo">338</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.338"></a>
+<span class="sourceLineNo">339</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<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 AsyncConnectionImpl getConnection() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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> @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span> public CompletableFuture<TableDescriptor[]> listTables() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span> return listTables((Pattern) null, false);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span> public CompletableFuture<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return listTables(Pattern.compile(regex), false);<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> @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public CompletableFuture<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span> .<TableDescriptor[]>newMasterCaller()<a name="line.368"></a>
+<span class="sourceLineNo">369</span> .action(<a name="line.369"></a>
+<span class="sourceLineNo">370</span> (controller, stub) -> this<a name="line.370"></a>
+<span class="sourceLineNo">371</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.371"></a>
+<span class="sourceLineNo">372</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.372"></a>
+<span class="sourceLineNo">373</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.373"></a>
+<span class="sourceLineNo">374</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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> @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span> public CompletableFuture<TableName[]> listTableNames() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> return listTableNames((Pattern) null, false);<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> @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public CompletableFuture<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> return listTableNames(Pattern.compile(regex), false);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public CompletableFuture<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return this<a name="line.389"></a>
+<span class="sourceLineNo">390</span> .<TableName[]>newMasterCaller()<a name="line.390"></a>
+<span class="sourceLineNo">391</span> .action(<a name="line.391"></a>
+<span class="sourceLineNo">392</span> (controller, stub) -> this<a name="line.392"></a>
+<span class="sourceLineNo">393</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.393"></a>
+<span class="sourceLineNo">394</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.394"></a>
+<span class="sourceLineNo">395</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.395"></a>
+<span class="sourceLineNo">396</span> .getTableNameArray(resp.getTableNamesList()))).call();<a name="line.396"></a>
+<span class="sourceLineNo">397</span> }<a name="line.397"></a>
+<span class="so
<TRUNCATED>
[19/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html
index 8750fa2..4fd4af0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyColumnFamilyProcedureBiConsumer.html
@@ -48,2133 +48,2409 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span>import io.netty.util.Timeout;<a name="line.41"></a>
<span class="sourceLineNo">042</span>import io.netty.util.TimerTask;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.commons.logging.Log;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.commons.logging.LogFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ServerName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.HConstants;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>/**<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * The implementation of AsyncAdmin.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@InterfaceAudience.Private<a name="line.185"></a>
-<span class="sourceLineNo">186</span>@InterfaceStability.Evolving<a name="line.186"></a>
-<span class="sourceLineNo">187</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.187"></a>
+<span class="sourceLineNo">043</span>import org.apache.commons.io.IOUtils;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.commons.logging.Log;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.commons.logging.LogFactory;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ServerName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HConstants;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.TableName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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.snapshot.ClientSnapshotDescriptionUtils;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.187"></a>
<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> private final AsyncConnectionImpl connection;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span> private final RawAsyncTable metaTable;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final long rpcTimeoutNs;<a name="line.195"></a>
+<span class="sourceLineNo">189</span>/**<a name="line.189"></a>
+<span class="sourceLineNo">190</span> * The implementation of AsyncAdmin.<a name="line.190"></a>
+<span class="sourceLineNo">191</span> */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>@InterfaceAudience.Private<a name="line.192"></a>
+<span class="sourceLineNo">193</span>@InterfaceStability.Evolving<a name="line.193"></a>
+<span class="sourceLineNo">194</span>public class AsyncHBaseAdmin 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 final long operationTimeoutNs;<a name="line.197"></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 long pauseNs;<a name="line.199"></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 int maxAttempts;<a name="line.201"></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 int startLogErrorsCnt;<a name="line.203"></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 NonceGenerator ng;<a name="line.205"></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> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> this.connection = connection;<a name="line.208"></a>
-<span class="sourceLineNo">209</span> this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> this.rpcTimeoutNs = connection.connConf.getRpcTimeoutNs();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.212"></a>
-<span class="sourceLineNo">213</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.213"></a>
-<span class="sourceLineNo">214</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<a name="line.214"></a>
-<span class="sourceLineNo">215</span> this.ng = connection.getNonceGenerator();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> return this.connection.callerFactory.<T> masterRequest()<a name="line.219"></a>
-<span class="sourceLineNo">220</span> .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startLogErrorsCnt(startLogErrorsCnt);<a name="line.223"></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">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> private final int startLogErrorsCnt;<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">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<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 = connection.connConf.getRpcTimeoutNs();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.219"></a>
+<span class="sourceLineNo">220</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.220"></a>
+<span class="sourceLineNo">221</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.221"></a>
+<span class="sourceLineNo">222</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<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 <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> adminRequest()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> 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> @FunctionalInterface<a name="line.234"></a>
-<span class="sourceLineNo">235</span> private interface MasterRpcCall<RESP, REQ> {<a name="line.235"></a>
-<span class="sourceLineNo">236</span> void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.236"></a>
-<span class="sourceLineNo">237</span> RpcCallback<RESP> done);<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> @FunctionalInterface<a name="line.240"></a>
-<span class="sourceLineNo">241</span> private interface AdminRpcCall<RESP, REQ> {<a name="line.241"></a>
-<span class="sourceLineNo">242</span> void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> RpcCallback<RESP> done);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span> @FunctionalInterface<a name="line.246"></a>
-<span class="sourceLineNo">247</span> private interface Converter<D, S> {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> D convert(S src) throws IOException;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.251"></a>
-<span class="sourceLineNo">252</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.252"></a>
-<span class="sourceLineNo">253</span> Converter<RESP, PRESP> respConverter) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.254"></a>
-<span class="sourceLineNo">255</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> @Override<a name="line.257"></a>
-<span class="sourceLineNo">258</span> public void run(PRESP resp) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span> if (controller.failed()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span> future.completeExceptionally(controller.getFailed());<a name="line.260"></a>
-<span class="sourceLineNo">261</span> } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> future.complete(respConverter.convert(resp));<a name="line.263"></a>
-<span class="sourceLineNo">264</span> } catch (IOException e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span> future.completeExceptionally(e);<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> }<a name="line.268"></a>
-<span class="sourceLineNo">269</span> });<a name="line.269"></a>
-<span class="sourceLineNo">270</span> return future;<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> //TODO abstract call and adminCall into a single method.<a name="line.273"></a>
-<span class="sourceLineNo">274</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.274"></a>
-<span class="sourceLineNo">275</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.275"></a>
-<span class="sourceLineNo">276</span> Converter<RESP, PRESP> respConverter) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.279"></a>
+<span class="sourceLineNo">234</span> private <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.connection.callerFactory.<T> 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<RESP, REQ> {<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<RESP> done);<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<RESP, REQ> {<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<RESP> 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<D, S> {<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 <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.259"></a>
+<span class="sourceLineNo">260</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.260"></a>
+<span class="sourceLineNo">261</span> Converter<RESP, PRESP> respConverter) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.262"></a>
+<span class="sourceLineNo">263</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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> @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span> public void run(PRESP resp) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span> if (controller.failed()) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.284"></a>
-<span class="sourceLineNo">285</span> } else {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> future.complete(respConverter.convert(resp));<a name="line.287"></a>
-<span class="sourceLineNo">288</span> } catch (IOException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span> future.completeExceptionally(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span> }<a name="line.290"></a>
-<span class="sourceLineNo">291</span> }<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> return future;<a name="line.294"></a>
-<span class="sourceLineNo">295</span> }<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.298"></a>
-<span class="sourceLineNo">299</span> ProcedureBiConsumer consumer) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> CompletableFuture<Long> procFuture = this<a name="line.300"></a>
-<span class="sourceLineNo">301</span> .<Long> newMasterCaller()<a name="line.301"></a>
-<span class="sourceLineNo">302</span> .action(<a name="line.302"></a>
-<span class="sourceLineNo">303</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> respConverter)).call();<a name="line.304"></a>
-<span class="sourceLineNo">305</span> return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> @FunctionalInterface<a name="line.308"></a>
-<span class="sourceLineNo">309</span> private interface TableOperator {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> CompletableFuture<Void> operate(TableName table);<a name="line.310"></a>
-<span class="sourceLineNo">311</span> }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.313"></a>
-<span class="sourceLineNo">314</span> TableOperator operator, String operationType) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.315"></a>
-<span class="sourceLineNo">316</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> listTables(pattern, false).whenComplete(<a name="line.317"></a>
-<span class="sourceLineNo">318</span> (tables, error) -> {<a name="line.318"></a>
-<span class="sourceLineNo">319</span> if (error != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> future.completeExceptionally(error);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> return;<a name="line.321"></a>
-<span class="sourceLineNo">322</span> }<a name="line.322"></a>
-<span class="sourceLineNo">323</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.323"></a>
-<span class="sourceLineNo">324</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<a name="line.324"></a>
-<span class="sourceLineNo">325</span> if (ex != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.326"></a>
-<span class="sourceLineNo">327</span> failed.add(table);<a name="line.327"></a>
-<span class="sourceLineNo">328</span> }<a name="line.328"></a>
-<span class="sourceLineNo">329</span> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<a name="line.331"></a>
-<span class="sourceLineNo">332</span> });<a name="line.332"></a>
-<span class="sourceLineNo">333</span> });<a name="line.333"></a>
-<span class="sourceLineNo">334</span> return future;<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 AsyncConnectionImpl getConnection() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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<TableDescriptor[]> listTables() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return listTables((Pattern) null, false);<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<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> return listTables(Pattern.compile(regex), false);<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<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return this<a name="line.359"></a>
-<span class="sourceLineNo">360</span> .<TableDescriptor[]>newMasterCaller()<a name="line.360"></a>
-<span class="sourceLineNo">361</span> .action(<a name="line.361"></a>
-<span class="sourceLineNo">362</span> (controller, stub) -> this<a name="line.362"></a>
-<span class="sourceLineNo">363</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.363"></a>
-<span class="sourceLineNo">364</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.365"></a>
-<span class="sourceLineNo">366</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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<TableName[]> listTableNames() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span> return listTableNames((Pattern) null, false);<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<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> return listTableNames(Pattern.compile(regex), false);<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<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span> .<TableName[]>newMasterCaller()<a name="line.382"></a>
-<span class="sourceLineNo">383</span> .action(<a name="line.383"></a>
-<span class="sourceLineNo">384</span> (controller, stub) -> this<a name="line.384"></a>
-<span class="sourceLineNo">385</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.385"></a>
-<span class="sourceLineNo">386</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.386"></a>
-<span class="sourceLineNo">387</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.387"></a>
-<span class="sourceLineNo">388</span> .getTableNameArray(resp.getTableNamesList()))).call();<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<TableDescriptor> getTableDescriptor(TableName tableName) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> CompletableFuture<TableDescriptor> future = new CompletableFuture<>();<a name="line.393"></a>
-<span class="sourceLineNo">394</span> this.<List<TableSchema>> newMasterCaller()<a name="line.394"></a>
-<span class="sourceLineNo">395</span> .action(<a name="line.395"></a>
-<span class="sourceLineNo">396</span> (controller, stub) -> this<a name="line.396"></a>
-<span class="sourceLineNo">397</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, List<TableSchema>> call(<a name="line.397"></a>
-<span class="sourceLineNo">398</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.398"></a>
-<span class="sourceLineNo">399</span> c, req, done) -> s.getTableDescriptors(c, req, done), (resp) -> resp<a name="line.399"></a>
-<span class="sourceLineNo">400</span> .getTableSchemaList())).call().whenComplete((tableSchemas, error) -> {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> if (error != null) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> future.completeExceptionally(error);<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> if (!tableSchemas.isEmpty()) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.406"></a>
-<span class="sourceLineNo">407</span> } else {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<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> return future;<a name="line.411"></a>
-<span class="sourceLineNo">412</span> }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> @Override<a name="line.414"></a>
-<span class="sourceLineNo">415</span> public CompletableFuture<Void> createTable(TableDescriptor desc) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return createTable(desc, null);<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> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.420"></a>
-<span class="sourceLineNo">421</span> int numRegions) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> try {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> return createTable(desc, getSplitKeys(startKey, endKey, numRegions));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> } catch (IllegalArgumentException e) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span> return failedFuture(e);<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><a name="line.428"></a>
-<span class="sourceLineNo">429</span> @Override<a name="line.429"></a>
-<span class="sourceLineNo">430</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span> if (desc.getTableName() == null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (splitKeys != null && splitKeys.length > 0) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);<a name="line.435"></a>
-<span class="sourceLineNo">436</span> // Verify there are no duplicate split keys<a name="line.436"></a>
-<span class="sourceLineNo">437</span> byte[] lastKey = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> for (byte[] splitKey : splitKeys) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> if (Bytes.compareTo(splitKey, HConstants.EMPTY_BYTE_ARRAY) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> return failedFuture(new IllegalArgumentException(<a name="line.440"></a>
-<span class="sourceLineNo">441</span> "Empty split key must not be passed in the split keys."));<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> if (lastKey != null && Bytes.equals(splitKey, lastKey)) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span> return failedFuture(new IllegalArgumentException("All split keys must be unique, "<a name="line.444"></a>
-<span class="sourceLineNo">445</span> + "found duplicate: " + Bytes.toStringBinary(splitKey) + ", "<a name="line.445"></a>
-<span class="sourceLineNo">446</span> + Bytes.toStringBinary(lastKey)));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> }<a name="line.447"></a>
-<span class="sourceLineNo">448</span> lastKey = splitKey;<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><a name="line.451"></a>
-<span class="sourceLineNo">452</span> return this.<CreateTableRequest, CreateTableResponse> procedureCall(<a name="line.452"></a>
-<span class="sourceLineNo">453</span> RequestConverter.buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()),<a name="line.453"></a>
-<span class="sourceLineNo">454</span> (s, c, req, done) -> s.createTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.454"></a>
-<span class="sourceLineNo">455</span> new CreateTableProcedureBiConsumer(this, desc.getTableName()));<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<Void> deleteTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return this.<DeleteTableRequest, DeleteTableResponse> procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span> .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span> (s, c, req, done) -> s.deleteTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span> new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
+<span class="sourceLineNo">281</span> //TODO abstract call and adminCall into a single method.<a name="line.281"></a>
+<span class="sourceLineNo">282</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.282"></a>
+<span class="sourceLineNo">283</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Converter<RESP, PRESP> respConverter) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.286"></a>
+<span class="sourceLineNo">287</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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 void run(PRESP resp) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (controller.failed()) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> try {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> future.complete(respConverter.convert(resp));<a name="line.295"></a>
+<span class="sourceLineNo">296</span> } catch (IOException e) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span> future.completeExceptionally(e);<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> });<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return future;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.305"></a>
+<span class="sourceLineNo">306</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.306"></a>
+<span class="sourceLineNo">307</span> ProcedureBiConsumer consumer) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> CompletableFuture<Long> procFuture = this<a name="line.308"></a>
+<span class="sourceLineNo">309</span> .<Long> newMasterCaller()<a name="line.309"></a>
+<span class="sourceLineNo">310</span> .action(<a name="line.310"></a>
+<span class="sourceLineNo">311</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.311"></a>
+<span class="sourceLineNo">312</span> respConverter)).call();<a name="line.312"></a>
+<span class="sourceLineNo">313</span> return waitProcedureResult(procFuture).whenComplete(consumer);<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> @FunctionalInterface<a name="line.316"></a>
+<span class="sourceLineNo">317</span> private interface TableOperator {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> CompletableFuture<Void> operate(TableName table);<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> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.321"></a>
+<span class="sourceLineNo">322</span> TableOperator operator, String operationType) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> listTables(pattern, false).whenComplete(<a name="line.325"></a>
+<span class="sourceLineNo">326</span> (tables, error) -> {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> if (error != null) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> future.completeExceptionally(error);<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return;<a name="line.329"></a>
+<span class="sourceLineNo">330</span> }<a name="line.330"></a>
+<span class="sourceLineNo">331</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.331"></a>
+<span class="sourceLineNo">332</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<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> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.337"></a>
+<span class="sourceLineNo">338</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.338"></a>
+<span class="sourceLineNo">339</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<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 AsyncConnectionImpl getConnection() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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> @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span> public CompletableFuture<TableDescriptor[]> listTables() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span> return listTables((Pattern) null, false);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span> public CompletableFuture<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return listTables(Pattern.compile(regex), false);<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> @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public CompletableFuture<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span> .<TableDescriptor[]>newMasterCaller()<a name="line.368"></a>
+<span class="sourceLineNo">369</span> .action(<a name="line.369"></a>
+<span class="sourceLineNo">370</span> (controller, stub) -> this<a name="line.370"></a>
+<span class="sourceLineNo">371</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.371"></a>
+<span class="sourceLineNo">372</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.372"></a>
+<span class="sourceLineNo">373</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.373"></a>
+<span class="sourceLineNo">374</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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> @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span> public CompletableFuture<TableName[]> listTableNames() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> return listTableNames((Pattern) null, false);<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> @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public CompletableFuture<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> return listTableNames(Pattern.compile(regex), false);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public CompletableFuture<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return this<a name="line.389"></a>
+<span class="sourceLineNo">390</span> .<TableName[]>newMasterCaller()<a name="line.390"></a>
+<span class="sourceLineNo">391</span> .action(<a name="line.391"></a>
+<span class="sourceLineNo">392</span> (controller, stub) -> this<a name="line.392"></a>
+<span class="sourceLineNo">393</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.393"></a>
+<span class="sourceLineNo">394</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.394"></a>
+<span class="sourceLineNo">395</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.395"></a>
+<span class="sourceLineNo">396</span> .getTableNameArray(resp.getTableNamesLi
<TRUNCATED>
[22/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.EnableTableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.EnableTableProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.EnableTableProcedureBiConsumer.html
index 8750fa2..4fd4af0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.EnableTableProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.EnableTableProcedureBiConsumer.html
@@ -48,2133 +48,2409 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span>import io.netty.util.Timeout;<a name="line.41"></a>
<span class="sourceLineNo">042</span>import io.netty.util.TimerTask;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.commons.logging.Log;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.commons.logging.LogFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ServerName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.HConstants;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>/**<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * The implementation of AsyncAdmin.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@InterfaceAudience.Private<a name="line.185"></a>
-<span class="sourceLineNo">186</span>@InterfaceStability.Evolving<a name="line.186"></a>
-<span class="sourceLineNo">187</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.187"></a>
+<span class="sourceLineNo">043</span>import org.apache.commons.io.IOUtils;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.commons.logging.Log;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.commons.logging.LogFactory;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ServerName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HConstants;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.TableName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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.snapshot.ClientSnapshotDescriptionUtils;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.187"></a>
<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> private final AsyncConnectionImpl connection;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span> private final RawAsyncTable metaTable;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final long rpcTimeoutNs;<a name="line.195"></a>
+<span class="sourceLineNo">189</span>/**<a name="line.189"></a>
+<span class="sourceLineNo">190</span> * The implementation of AsyncAdmin.<a name="line.190"></a>
+<span class="sourceLineNo">191</span> */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>@InterfaceAudience.Private<a name="line.192"></a>
+<span class="sourceLineNo">193</span>@InterfaceStability.Evolving<a name="line.193"></a>
+<span class="sourceLineNo">194</span>public class AsyncHBaseAdmin 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 final long operationTimeoutNs;<a name="line.197"></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 long pauseNs;<a name="line.199"></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 int maxAttempts;<a name="line.201"></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 int startLogErrorsCnt;<a name="line.203"></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 NonceGenerator ng;<a name="line.205"></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> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> this.connection = connection;<a name="line.208"></a>
-<span class="sourceLineNo">209</span> this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> this.rpcTimeoutNs = connection.connConf.getRpcTimeoutNs();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.212"></a>
-<span class="sourceLineNo">213</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.213"></a>
-<span class="sourceLineNo">214</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<a name="line.214"></a>
-<span class="sourceLineNo">215</span> this.ng = connection.getNonceGenerator();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> return this.connection.callerFactory.<T> masterRequest()<a name="line.219"></a>
-<span class="sourceLineNo">220</span> .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startLogErrorsCnt(startLogErrorsCnt);<a name="line.223"></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">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> private final int startLogErrorsCnt;<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">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<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 = connection.connConf.getRpcTimeoutNs();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.219"></a>
+<span class="sourceLineNo">220</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.220"></a>
+<span class="sourceLineNo">221</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.221"></a>
+<span class="sourceLineNo">222</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<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 <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> adminRequest()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> 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> @FunctionalInterface<a name="line.234"></a>
-<span class="sourceLineNo">235</span> private interface MasterRpcCall<RESP, REQ> {<a name="line.235"></a>
-<span class="sourceLineNo">236</span> void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.236"></a>
-<span class="sourceLineNo">237</span> RpcCallback<RESP> done);<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> @FunctionalInterface<a name="line.240"></a>
-<span class="sourceLineNo">241</span> private interface AdminRpcCall<RESP, REQ> {<a name="line.241"></a>
-<span class="sourceLineNo">242</span> void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> RpcCallback<RESP> done);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span> @FunctionalInterface<a name="line.246"></a>
-<span class="sourceLineNo">247</span> private interface Converter<D, S> {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> D convert(S src) throws IOException;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.251"></a>
-<span class="sourceLineNo">252</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.252"></a>
-<span class="sourceLineNo">253</span> Converter<RESP, PRESP> respConverter) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.254"></a>
-<span class="sourceLineNo">255</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> @Override<a name="line.257"></a>
-<span class="sourceLineNo">258</span> public void run(PRESP resp) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span> if (controller.failed()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span> future.completeExceptionally(controller.getFailed());<a name="line.260"></a>
-<span class="sourceLineNo">261</span> } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> future.complete(respConverter.convert(resp));<a name="line.263"></a>
-<span class="sourceLineNo">264</span> } catch (IOException e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span> future.completeExceptionally(e);<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> }<a name="line.268"></a>
-<span class="sourceLineNo">269</span> });<a name="line.269"></a>
-<span class="sourceLineNo">270</span> return future;<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> //TODO abstract call and adminCall into a single method.<a name="line.273"></a>
-<span class="sourceLineNo">274</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.274"></a>
-<span class="sourceLineNo">275</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.275"></a>
-<span class="sourceLineNo">276</span> Converter<RESP, PRESP> respConverter) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.279"></a>
+<span class="sourceLineNo">234</span> private <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.connection.callerFactory.<T> 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<RESP, REQ> {<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<RESP> done);<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<RESP, REQ> {<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<RESP> 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<D, S> {<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 <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.259"></a>
+<span class="sourceLineNo">260</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.260"></a>
+<span class="sourceLineNo">261</span> Converter<RESP, PRESP> respConverter) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.262"></a>
+<span class="sourceLineNo">263</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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> @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span> public void run(PRESP resp) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span> if (controller.failed()) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.284"></a>
-<span class="sourceLineNo">285</span> } else {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> future.complete(respConverter.convert(resp));<a name="line.287"></a>
-<span class="sourceLineNo">288</span> } catch (IOException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span> future.completeExceptionally(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span> }<a name="line.290"></a>
-<span class="sourceLineNo">291</span> }<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> return future;<a name="line.294"></a>
-<span class="sourceLineNo">295</span> }<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.298"></a>
-<span class="sourceLineNo">299</span> ProcedureBiConsumer consumer) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> CompletableFuture<Long> procFuture = this<a name="line.300"></a>
-<span class="sourceLineNo">301</span> .<Long> newMasterCaller()<a name="line.301"></a>
-<span class="sourceLineNo">302</span> .action(<a name="line.302"></a>
-<span class="sourceLineNo">303</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> respConverter)).call();<a name="line.304"></a>
-<span class="sourceLineNo">305</span> return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> @FunctionalInterface<a name="line.308"></a>
-<span class="sourceLineNo">309</span> private interface TableOperator {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> CompletableFuture<Void> operate(TableName table);<a name="line.310"></a>
-<span class="sourceLineNo">311</span> }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.313"></a>
-<span class="sourceLineNo">314</span> TableOperator operator, String operationType) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.315"></a>
-<span class="sourceLineNo">316</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> listTables(pattern, false).whenComplete(<a name="line.317"></a>
-<span class="sourceLineNo">318</span> (tables, error) -> {<a name="line.318"></a>
-<span class="sourceLineNo">319</span> if (error != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> future.completeExceptionally(error);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> return;<a name="line.321"></a>
-<span class="sourceLineNo">322</span> }<a name="line.322"></a>
-<span class="sourceLineNo">323</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.323"></a>
-<span class="sourceLineNo">324</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<a name="line.324"></a>
-<span class="sourceLineNo">325</span> if (ex != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.326"></a>
-<span class="sourceLineNo">327</span> failed.add(table);<a name="line.327"></a>
-<span class="sourceLineNo">328</span> }<a name="line.328"></a>
-<span class="sourceLineNo">329</span> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<a name="line.331"></a>
-<span class="sourceLineNo">332</span> });<a name="line.332"></a>
-<span class="sourceLineNo">333</span> });<a name="line.333"></a>
-<span class="sourceLineNo">334</span> return future;<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 AsyncConnectionImpl getConnection() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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<TableDescriptor[]> listTables() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return listTables((Pattern) null, false);<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<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> return listTables(Pattern.compile(regex), false);<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<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return this<a name="line.359"></a>
-<span class="sourceLineNo">360</span> .<TableDescriptor[]>newMasterCaller()<a name="line.360"></a>
-<span class="sourceLineNo">361</span> .action(<a name="line.361"></a>
-<span class="sourceLineNo">362</span> (controller, stub) -> this<a name="line.362"></a>
-<span class="sourceLineNo">363</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.363"></a>
-<span class="sourceLineNo">364</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.365"></a>
-<span class="sourceLineNo">366</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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<TableName[]> listTableNames() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span> return listTableNames((Pattern) null, false);<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<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> return listTableNames(Pattern.compile(regex), false);<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<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span> .<TableName[]>newMasterCaller()<a name="line.382"></a>
-<span class="sourceLineNo">383</span> .action(<a name="line.383"></a>
-<span class="sourceLineNo">384</span> (controller, stub) -> this<a name="line.384"></a>
-<span class="sourceLineNo">385</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.385"></a>
-<span class="sourceLineNo">386</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.386"></a>
-<span class="sourceLineNo">387</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.387"></a>
-<span class="sourceLineNo">388</span> .getTableNameArray(resp.getTableNamesList()))).call();<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<TableDescriptor> getTableDescriptor(TableName tableName) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> CompletableFuture<TableDescriptor> future = new CompletableFuture<>();<a name="line.393"></a>
-<span class="sourceLineNo">394</span> this.<List<TableSchema>> newMasterCaller()<a name="line.394"></a>
-<span class="sourceLineNo">395</span> .action(<a name="line.395"></a>
-<span class="sourceLineNo">396</span> (controller, stub) -> this<a name="line.396"></a>
-<span class="sourceLineNo">397</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, List<TableSchema>> call(<a name="line.397"></a>
-<span class="sourceLineNo">398</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.398"></a>
-<span class="sourceLineNo">399</span> c, req, done) -> s.getTableDescriptors(c, req, done), (resp) -> resp<a name="line.399"></a>
-<span class="sourceLineNo">400</span> .getTableSchemaList())).call().whenComplete((tableSchemas, error) -> {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> if (error != null) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> future.completeExceptionally(error);<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> if (!tableSchemas.isEmpty()) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.406"></a>
-<span class="sourceLineNo">407</span> } else {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<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> return future;<a name="line.411"></a>
-<span class="sourceLineNo">412</span> }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> @Override<a name="line.414"></a>
-<span class="sourceLineNo">415</span> public CompletableFuture<Void> createTable(TableDescriptor desc) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return createTable(desc, null);<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> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.420"></a>
-<span class="sourceLineNo">421</span> int numRegions) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> try {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> return createTable(desc, getSplitKeys(startKey, endKey, numRegions));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> } catch (IllegalArgumentException e) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span> return failedFuture(e);<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><a name="line.428"></a>
-<span class="sourceLineNo">429</span> @Override<a name="line.429"></a>
-<span class="sourceLineNo">430</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span> if (desc.getTableName() == null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (splitKeys != null && splitKeys.length > 0) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);<a name="line.435"></a>
-<span class="sourceLineNo">436</span> // Verify there are no duplicate split keys<a name="line.436"></a>
-<span class="sourceLineNo">437</span> byte[] lastKey = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> for (byte[] splitKey : splitKeys) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> if (Bytes.compareTo(splitKey, HConstants.EMPTY_BYTE_ARRAY) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> return failedFuture(new IllegalArgumentException(<a name="line.440"></a>
-<span class="sourceLineNo">441</span> "Empty split key must not be passed in the split keys."));<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> if (lastKey != null && Bytes.equals(splitKey, lastKey)) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span> return failedFuture(new IllegalArgumentException("All split keys must be unique, "<a name="line.444"></a>
-<span class="sourceLineNo">445</span> + "found duplicate: " + Bytes.toStringBinary(splitKey) + ", "<a name="line.445"></a>
-<span class="sourceLineNo">446</span> + Bytes.toStringBinary(lastKey)));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> }<a name="line.447"></a>
-<span class="sourceLineNo">448</span> lastKey = splitKey;<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><a name="line.451"></a>
-<span class="sourceLineNo">452</span> return this.<CreateTableRequest, CreateTableResponse> procedureCall(<a name="line.452"></a>
-<span class="sourceLineNo">453</span> RequestConverter.buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()),<a name="line.453"></a>
-<span class="sourceLineNo">454</span> (s, c, req, done) -> s.createTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.454"></a>
-<span class="sourceLineNo">455</span> new CreateTableProcedureBiConsumer(this, desc.getTableName()));<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<Void> deleteTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return this.<DeleteTableRequest, DeleteTableResponse> procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span> .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span> (s, c, req, done) -> s.deleteTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span> new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
+<span class="sourceLineNo">281</span> //TODO abstract call and adminCall into a single method.<a name="line.281"></a>
+<span class="sourceLineNo">282</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.282"></a>
+<span class="sourceLineNo">283</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Converter<RESP, PRESP> respConverter) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.286"></a>
+<span class="sourceLineNo">287</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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 void run(PRESP resp) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (controller.failed()) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> try {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> future.complete(respConverter.convert(resp));<a name="line.295"></a>
+<span class="sourceLineNo">296</span> } catch (IOException e) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span> future.completeExceptionally(e);<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> });<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return future;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.305"></a>
+<span class="sourceLineNo">306</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.306"></a>
+<span class="sourceLineNo">307</span> ProcedureBiConsumer consumer) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> CompletableFuture<Long> procFuture = this<a name="line.308"></a>
+<span class="sourceLineNo">309</span> .<Long> newMasterCaller()<a name="line.309"></a>
+<span class="sourceLineNo">310</span> .action(<a name="line.310"></a>
+<span class="sourceLineNo">311</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.311"></a>
+<span class="sourceLineNo">312</span> respConverter)).call();<a name="line.312"></a>
+<span class="sourceLineNo">313</span> return waitProcedureResult(procFuture).whenComplete(consumer);<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> @FunctionalInterface<a name="line.316"></a>
+<span class="sourceLineNo">317</span> private interface TableOperator {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> CompletableFuture<Void> operate(TableName table);<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> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.321"></a>
+<span class="sourceLineNo">322</span> TableOperator operator, String operationType) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> listTables(pattern, false).whenComplete(<a name="line.325"></a>
+<span class="sourceLineNo">326</span> (tables, error) -> {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> if (error != null) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> future.completeExceptionally(error);<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return;<a name="line.329"></a>
+<span class="sourceLineNo">330</span> }<a name="line.330"></a>
+<span class="sourceLineNo">331</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.331"></a>
+<span class="sourceLineNo">332</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<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> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.337"></a>
+<span class="sourceLineNo">338</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.338"></a>
+<span class="sourceLineNo">339</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<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 AsyncConnectionImpl getConnection() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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> @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span> public CompletableFuture<TableDescriptor[]> listTables() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span> return listTables((Pattern) null, false);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span> public CompletableFuture<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return listTables(Pattern.compile(regex), false);<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> @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public CompletableFuture<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span> .<TableDescriptor[]>newMasterCaller()<a name="line.368"></a>
+<span class="sourceLineNo">369</span> .action(<a name="line.369"></a>
+<span class="sourceLineNo">370</span> (controller, stub) -> this<a name="line.370"></a>
+<span class="sourceLineNo">371</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.371"></a>
+<span class="sourceLineNo">372</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.372"></a>
+<span class="sourceLineNo">373</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.373"></a>
+<span class="sourceLineNo">374</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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> @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span> public CompletableFuture<TableName[]> listTableNames() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> return listTableNames((Pattern) null, false);<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> @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public CompletableFuture<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> return listTableNames(Pattern.compile(regex), false);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public CompletableFuture<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return this<a name="line.389"></a>
+<span class="sourceLineNo">390</span> .<TableName[]>newMasterCaller()<a name="line.390"></a>
+<span class="sourceLineNo">391</span> .action(<a name="line.391"></a>
+<span class="sourceLineNo">392</span> (controller, stub) -> this<a name="line.392"></a>
+<span class="sourceLineNo">393</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.393"></a>
+<span class="sourceLineNo">394</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.394"></a>
+<span class="sourceLineNo">395</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.395"></a>
+<span class="sourceLineNo">396</span> .getTableNameArray(resp.getTableNamesList()))).call();<a name="line.396"><
<TRUNCATED>
[12/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 8750fa2..4fd4af0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html
@@ -48,2133 +48,2409 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span>import io.netty.util.Timeout;<a name="line.41"></a>
<span class="sourceLineNo">042</span>import io.netty.util.TimerTask;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.commons.logging.Log;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.commons.logging.LogFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ServerName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.HConstants;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>/**<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * The implementation of AsyncAdmin.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@InterfaceAudience.Private<a name="line.185"></a>
-<span class="sourceLineNo">186</span>@InterfaceStability.Evolving<a name="line.186"></a>
-<span class="sourceLineNo">187</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.187"></a>
+<span class="sourceLineNo">043</span>import org.apache.commons.io.IOUtils;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.commons.logging.Log;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.commons.logging.LogFactory;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ServerName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HConstants;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.TableName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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.snapshot.ClientSnapshotDescriptionUtils;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.187"></a>
<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> private final AsyncConnectionImpl connection;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span> private final RawAsyncTable metaTable;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final long rpcTimeoutNs;<a name="line.195"></a>
+<span class="sourceLineNo">189</span>/**<a name="line.189"></a>
+<span class="sourceLineNo">190</span> * The implementation of AsyncAdmin.<a name="line.190"></a>
+<span class="sourceLineNo">191</span> */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>@InterfaceAudience.Private<a name="line.192"></a>
+<span class="sourceLineNo">193</span>@InterfaceStability.Evolving<a name="line.193"></a>
+<span class="sourceLineNo">194</span>public class AsyncHBaseAdmin 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 final long operationTimeoutNs;<a name="line.197"></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 long pauseNs;<a name="line.199"></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 int maxAttempts;<a name="line.201"></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 int startLogErrorsCnt;<a name="line.203"></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 NonceGenerator ng;<a name="line.205"></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> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> this.connection = connection;<a name="line.208"></a>
-<span class="sourceLineNo">209</span> this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> this.rpcTimeoutNs = connection.connConf.getRpcTimeoutNs();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.212"></a>
-<span class="sourceLineNo">213</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.213"></a>
-<span class="sourceLineNo">214</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<a name="line.214"></a>
-<span class="sourceLineNo">215</span> this.ng = connection.getNonceGenerator();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> return this.connection.callerFactory.<T> masterRequest()<a name="line.219"></a>
-<span class="sourceLineNo">220</span> .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startLogErrorsCnt(startLogErrorsCnt);<a name="line.223"></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">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> private final int startLogErrorsCnt;<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">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<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 = connection.connConf.getRpcTimeoutNs();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.219"></a>
+<span class="sourceLineNo">220</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.220"></a>
+<span class="sourceLineNo">221</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.221"></a>
+<span class="sourceLineNo">222</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<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 <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> adminRequest()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> 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> @FunctionalInterface<a name="line.234"></a>
-<span class="sourceLineNo">235</span> private interface MasterRpcCall<RESP, REQ> {<a name="line.235"></a>
-<span class="sourceLineNo">236</span> void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.236"></a>
-<span class="sourceLineNo">237</span> RpcCallback<RESP> done);<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> @FunctionalInterface<a name="line.240"></a>
-<span class="sourceLineNo">241</span> private interface AdminRpcCall<RESP, REQ> {<a name="line.241"></a>
-<span class="sourceLineNo">242</span> void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> RpcCallback<RESP> done);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span> @FunctionalInterface<a name="line.246"></a>
-<span class="sourceLineNo">247</span> private interface Converter<D, S> {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> D convert(S src) throws IOException;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.251"></a>
-<span class="sourceLineNo">252</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.252"></a>
-<span class="sourceLineNo">253</span> Converter<RESP, PRESP> respConverter) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.254"></a>
-<span class="sourceLineNo">255</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> @Override<a name="line.257"></a>
-<span class="sourceLineNo">258</span> public void run(PRESP resp) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span> if (controller.failed()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span> future.completeExceptionally(controller.getFailed());<a name="line.260"></a>
-<span class="sourceLineNo">261</span> } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> future.complete(respConverter.convert(resp));<a name="line.263"></a>
-<span class="sourceLineNo">264</span> } catch (IOException e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span> future.completeExceptionally(e);<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> }<a name="line.268"></a>
-<span class="sourceLineNo">269</span> });<a name="line.269"></a>
-<span class="sourceLineNo">270</span> return future;<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> //TODO abstract call and adminCall into a single method.<a name="line.273"></a>
-<span class="sourceLineNo">274</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.274"></a>
-<span class="sourceLineNo">275</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.275"></a>
-<span class="sourceLineNo">276</span> Converter<RESP, PRESP> respConverter) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.279"></a>
+<span class="sourceLineNo">234</span> private <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.connection.callerFactory.<T> 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<RESP, REQ> {<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<RESP> done);<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<RESP, REQ> {<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<RESP> 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<D, S> {<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 <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.259"></a>
+<span class="sourceLineNo">260</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.260"></a>
+<span class="sourceLineNo">261</span> Converter<RESP, PRESP> respConverter) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.262"></a>
+<span class="sourceLineNo">263</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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> @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span> public void run(PRESP resp) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span> if (controller.failed()) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.284"></a>
-<span class="sourceLineNo">285</span> } else {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> future.complete(respConverter.convert(resp));<a name="line.287"></a>
-<span class="sourceLineNo">288</span> } catch (IOException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span> future.completeExceptionally(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span> }<a name="line.290"></a>
-<span class="sourceLineNo">291</span> }<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> return future;<a name="line.294"></a>
-<span class="sourceLineNo">295</span> }<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.298"></a>
-<span class="sourceLineNo">299</span> ProcedureBiConsumer consumer) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> CompletableFuture<Long> procFuture = this<a name="line.300"></a>
-<span class="sourceLineNo">301</span> .<Long> newMasterCaller()<a name="line.301"></a>
-<span class="sourceLineNo">302</span> .action(<a name="line.302"></a>
-<span class="sourceLineNo">303</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> respConverter)).call();<a name="line.304"></a>
-<span class="sourceLineNo">305</span> return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> @FunctionalInterface<a name="line.308"></a>
-<span class="sourceLineNo">309</span> private interface TableOperator {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> CompletableFuture<Void> operate(TableName table);<a name="line.310"></a>
-<span class="sourceLineNo">311</span> }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.313"></a>
-<span class="sourceLineNo">314</span> TableOperator operator, String operationType) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.315"></a>
-<span class="sourceLineNo">316</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> listTables(pattern, false).whenComplete(<a name="line.317"></a>
-<span class="sourceLineNo">318</span> (tables, error) -> {<a name="line.318"></a>
-<span class="sourceLineNo">319</span> if (error != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> future.completeExceptionally(error);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> return;<a name="line.321"></a>
-<span class="sourceLineNo">322</span> }<a name="line.322"></a>
-<span class="sourceLineNo">323</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.323"></a>
-<span class="sourceLineNo">324</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<a name="line.324"></a>
-<span class="sourceLineNo">325</span> if (ex != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.326"></a>
-<span class="sourceLineNo">327</span> failed.add(table);<a name="line.327"></a>
-<span class="sourceLineNo">328</span> }<a name="line.328"></a>
-<span class="sourceLineNo">329</span> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<a name="line.331"></a>
-<span class="sourceLineNo">332</span> });<a name="line.332"></a>
-<span class="sourceLineNo">333</span> });<a name="line.333"></a>
-<span class="sourceLineNo">334</span> return future;<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 AsyncConnectionImpl getConnection() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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<TableDescriptor[]> listTables() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return listTables((Pattern) null, false);<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<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> return listTables(Pattern.compile(regex), false);<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<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return this<a name="line.359"></a>
-<span class="sourceLineNo">360</span> .<TableDescriptor[]>newMasterCaller()<a name="line.360"></a>
-<span class="sourceLineNo">361</span> .action(<a name="line.361"></a>
-<span class="sourceLineNo">362</span> (controller, stub) -> this<a name="line.362"></a>
-<span class="sourceLineNo">363</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.363"></a>
-<span class="sourceLineNo">364</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.365"></a>
-<span class="sourceLineNo">366</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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<TableName[]> listTableNames() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span> return listTableNames((Pattern) null, false);<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<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> return listTableNames(Pattern.compile(regex), false);<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<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span> .<TableName[]>newMasterCaller()<a name="line.382"></a>
-<span class="sourceLineNo">383</span> .action(<a name="line.383"></a>
-<span class="sourceLineNo">384</span> (controller, stub) -> this<a name="line.384"></a>
-<span class="sourceLineNo">385</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.385"></a>
-<span class="sourceLineNo">386</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.386"></a>
-<span class="sourceLineNo">387</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.387"></a>
-<span class="sourceLineNo">388</span> .getTableNameArray(resp.getTableNamesList()))).call();<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<TableDescriptor> getTableDescriptor(TableName tableName) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> CompletableFuture<TableDescriptor> future = new CompletableFuture<>();<a name="line.393"></a>
-<span class="sourceLineNo">394</span> this.<List<TableSchema>> newMasterCaller()<a name="line.394"></a>
-<span class="sourceLineNo">395</span> .action(<a name="line.395"></a>
-<span class="sourceLineNo">396</span> (controller, stub) -> this<a name="line.396"></a>
-<span class="sourceLineNo">397</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, List<TableSchema>> call(<a name="line.397"></a>
-<span class="sourceLineNo">398</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.398"></a>
-<span class="sourceLineNo">399</span> c, req, done) -> s.getTableDescriptors(c, req, done), (resp) -> resp<a name="line.399"></a>
-<span class="sourceLineNo">400</span> .getTableSchemaList())).call().whenComplete((tableSchemas, error) -> {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> if (error != null) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> future.completeExceptionally(error);<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> if (!tableSchemas.isEmpty()) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.406"></a>
-<span class="sourceLineNo">407</span> } else {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<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> return future;<a name="line.411"></a>
-<span class="sourceLineNo">412</span> }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> @Override<a name="line.414"></a>
-<span class="sourceLineNo">415</span> public CompletableFuture<Void> createTable(TableDescriptor desc) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return createTable(desc, null);<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> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.420"></a>
-<span class="sourceLineNo">421</span> int numRegions) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> try {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> return createTable(desc, getSplitKeys(startKey, endKey, numRegions));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> } catch (IllegalArgumentException e) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span> return failedFuture(e);<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><a name="line.428"></a>
-<span class="sourceLineNo">429</span> @Override<a name="line.429"></a>
-<span class="sourceLineNo">430</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span> if (desc.getTableName() == null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (splitKeys != null && splitKeys.length > 0) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);<a name="line.435"></a>
-<span class="sourceLineNo">436</span> // Verify there are no duplicate split keys<a name="line.436"></a>
-<span class="sourceLineNo">437</span> byte[] lastKey = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> for (byte[] splitKey : splitKeys) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> if (Bytes.compareTo(splitKey, HConstants.EMPTY_BYTE_ARRAY) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> return failedFuture(new IllegalArgumentException(<a name="line.440"></a>
-<span class="sourceLineNo">441</span> "Empty split key must not be passed in the split keys."));<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> if (lastKey != null && Bytes.equals(splitKey, lastKey)) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span> return failedFuture(new IllegalArgumentException("All split keys must be unique, "<a name="line.444"></a>
-<span class="sourceLineNo">445</span> + "found duplicate: " + Bytes.toStringBinary(splitKey) + ", "<a name="line.445"></a>
-<span class="sourceLineNo">446</span> + Bytes.toStringBinary(lastKey)));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> }<a name="line.447"></a>
-<span class="sourceLineNo">448</span> lastKey = splitKey;<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><a name="line.451"></a>
-<span class="sourceLineNo">452</span> return this.<CreateTableRequest, CreateTableResponse> procedureCall(<a name="line.452"></a>
-<span class="sourceLineNo">453</span> RequestConverter.buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()),<a name="line.453"></a>
-<span class="sourceLineNo">454</span> (s, c, req, done) -> s.createTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.454"></a>
-<span class="sourceLineNo">455</span> new CreateTableProcedureBiConsumer(this, desc.getTableName()));<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<Void> deleteTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return this.<DeleteTableRequest, DeleteTableResponse> procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span> .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span> (s, c, req, done) -> s.deleteTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span> new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
+<span class="sourceLineNo">281</span> //TODO abstract call and adminCall into a single method.<a name="line.281"></a>
+<span class="sourceLineNo">282</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.282"></a>
+<span class="sourceLineNo">283</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Converter<RESP, PRESP> respConverter) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.286"></a>
+<span class="sourceLineNo">287</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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 void run(PRESP resp) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (controller.failed()) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> try {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> future.complete(respConverter.convert(resp));<a name="line.295"></a>
+<span class="sourceLineNo">296</span> } catch (IOException e) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span> future.completeExceptionally(e);<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> });<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return future;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.305"></a>
+<span class="sourceLineNo">306</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.306"></a>
+<span class="sourceLineNo">307</span> ProcedureBiConsumer consumer) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> CompletableFuture<Long> procFuture = this<a name="line.308"></a>
+<span class="sourceLineNo">309</span> .<Long> newMasterCaller()<a name="line.309"></a>
+<span class="sourceLineNo">310</span> .action(<a name="line.310"></a>
+<span class="sourceLineNo">311</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.311"></a>
+<span class="sourceLineNo">312</span> respConverter)).call();<a name="line.312"></a>
+<span class="sourceLineNo">313</span> return waitProcedureResult(procFuture).whenComplete(consumer);<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> @FunctionalInterface<a name="line.316"></a>
+<span class="sourceLineNo">317</span> private interface TableOperator {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> CompletableFuture<Void> operate(TableName table);<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> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.321"></a>
+<span class="sourceLineNo">322</span> TableOperator operator, String operationType) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> listTables(pattern, false).whenComplete(<a name="line.325"></a>
+<span class="sourceLineNo">326</span> (tables, error) -> {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> if (error != null) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> future.completeExceptionally(error);<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return;<a name="line.329"></a>
+<span class="sourceLineNo">330</span> }<a name="line.330"></a>
+<span class="sourceLineNo">331</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.331"></a>
+<span class="sourceLineNo">332</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<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> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.337"></a>
+<span class="sourceLineNo">338</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.338"></a>
+<span class="sourceLineNo">339</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<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 AsyncConnectionImpl getConnection() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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> @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span> public CompletableFuture<TableDescriptor[]> listTables() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span> return listTables((Pattern) null, false);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span> public CompletableFuture<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return listTables(Pattern.compile(regex), false);<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> @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public CompletableFuture<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span> .<TableDescriptor[]>newMasterCaller()<a name="line.368"></a>
+<span class="sourceLineNo">369</span> .action(<a name="line.369"></a>
+<span class="sourceLineNo">370</span> (controller, stub) -> this<a name="line.370"></a>
+<span class="sourceLineNo">371</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.371"></a>
+<span class="sourceLineNo">372</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.372"></a>
+<span class="sourceLineNo">373</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.373"></a>
+<span class="sourceLineNo">374</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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> @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span> public CompletableFuture<TableName[]> listTableNames() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> return listTableNames((Pattern) null, false);<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> @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public CompletableFuture<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> return listTableNames(Pattern.compile(regex), false);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public CompletableFuture<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return this<a name="line.389"></a>
+<span class="sourceLineNo">390</span> .<TableName[]>newMasterCaller()<a name="line.390"></a>
+<span class="sourceLineNo">391</span> .action(<a name="line.391"></a>
+<span class="sourceLineNo">392</span> (controller, stub) -> this<a name="line.392"></a>
+<span class="sourceLineNo">393</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.393"></a>
+<span class="sourceLineNo">394</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.394"></a>
+<span class="sourceLineNo">395</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.395"></a>
+<span class="sourceLineNo">396</span> .getTableNameArray(resp.getTableNamesList()))).call();<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="sourceLine
<TRUNCATED>
[17/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html
index 8750fa2..4fd4af0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.NamespaceProcedureBiConsumer.html
@@ -48,2133 +48,2409 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span>import io.netty.util.Timeout;<a name="line.41"></a>
<span class="sourceLineNo">042</span>import io.netty.util.TimerTask;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.commons.logging.Log;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.commons.logging.LogFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ServerName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.HConstants;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>/**<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * The implementation of AsyncAdmin.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@InterfaceAudience.Private<a name="line.185"></a>
-<span class="sourceLineNo">186</span>@InterfaceStability.Evolving<a name="line.186"></a>
-<span class="sourceLineNo">187</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.187"></a>
+<span class="sourceLineNo">043</span>import org.apache.commons.io.IOUtils;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.commons.logging.Log;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.commons.logging.LogFactory;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ServerName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HConstants;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.TableName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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.snapshot.ClientSnapshotDescriptionUtils;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.187"></a>
<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> private final AsyncConnectionImpl connection;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span> private final RawAsyncTable metaTable;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final long rpcTimeoutNs;<a name="line.195"></a>
+<span class="sourceLineNo">189</span>/**<a name="line.189"></a>
+<span class="sourceLineNo">190</span> * The implementation of AsyncAdmin.<a name="line.190"></a>
+<span class="sourceLineNo">191</span> */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>@InterfaceAudience.Private<a name="line.192"></a>
+<span class="sourceLineNo">193</span>@InterfaceStability.Evolving<a name="line.193"></a>
+<span class="sourceLineNo">194</span>public class AsyncHBaseAdmin 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 final long operationTimeoutNs;<a name="line.197"></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 long pauseNs;<a name="line.199"></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 int maxAttempts;<a name="line.201"></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 int startLogErrorsCnt;<a name="line.203"></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 NonceGenerator ng;<a name="line.205"></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> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> this.connection = connection;<a name="line.208"></a>
-<span class="sourceLineNo">209</span> this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> this.rpcTimeoutNs = connection.connConf.getRpcTimeoutNs();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.212"></a>
-<span class="sourceLineNo">213</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.213"></a>
-<span class="sourceLineNo">214</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<a name="line.214"></a>
-<span class="sourceLineNo">215</span> this.ng = connection.getNonceGenerator();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> return this.connection.callerFactory.<T> masterRequest()<a name="line.219"></a>
-<span class="sourceLineNo">220</span> .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startLogErrorsCnt(startLogErrorsCnt);<a name="line.223"></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">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> private final int startLogErrorsCnt;<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">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<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 = connection.connConf.getRpcTimeoutNs();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.219"></a>
+<span class="sourceLineNo">220</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.220"></a>
+<span class="sourceLineNo">221</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.221"></a>
+<span class="sourceLineNo">222</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<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 <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> adminRequest()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> 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> @FunctionalInterface<a name="line.234"></a>
-<span class="sourceLineNo">235</span> private interface MasterRpcCall<RESP, REQ> {<a name="line.235"></a>
-<span class="sourceLineNo">236</span> void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.236"></a>
-<span class="sourceLineNo">237</span> RpcCallback<RESP> done);<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> @FunctionalInterface<a name="line.240"></a>
-<span class="sourceLineNo">241</span> private interface AdminRpcCall<RESP, REQ> {<a name="line.241"></a>
-<span class="sourceLineNo">242</span> void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> RpcCallback<RESP> done);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span> @FunctionalInterface<a name="line.246"></a>
-<span class="sourceLineNo">247</span> private interface Converter<D, S> {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> D convert(S src) throws IOException;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.251"></a>
-<span class="sourceLineNo">252</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.252"></a>
-<span class="sourceLineNo">253</span> Converter<RESP, PRESP> respConverter) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.254"></a>
-<span class="sourceLineNo">255</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> @Override<a name="line.257"></a>
-<span class="sourceLineNo">258</span> public void run(PRESP resp) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span> if (controller.failed()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span> future.completeExceptionally(controller.getFailed());<a name="line.260"></a>
-<span class="sourceLineNo">261</span> } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> future.complete(respConverter.convert(resp));<a name="line.263"></a>
-<span class="sourceLineNo">264</span> } catch (IOException e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span> future.completeExceptionally(e);<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> }<a name="line.268"></a>
-<span class="sourceLineNo">269</span> });<a name="line.269"></a>
-<span class="sourceLineNo">270</span> return future;<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> //TODO abstract call and adminCall into a single method.<a name="line.273"></a>
-<span class="sourceLineNo">274</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.274"></a>
-<span class="sourceLineNo">275</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.275"></a>
-<span class="sourceLineNo">276</span> Converter<RESP, PRESP> respConverter) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.279"></a>
+<span class="sourceLineNo">234</span> private <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.connection.callerFactory.<T> 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<RESP, REQ> {<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<RESP> done);<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<RESP, REQ> {<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<RESP> 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<D, S> {<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 <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.259"></a>
+<span class="sourceLineNo">260</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.260"></a>
+<span class="sourceLineNo">261</span> Converter<RESP, PRESP> respConverter) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.262"></a>
+<span class="sourceLineNo">263</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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> @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span> public void run(PRESP resp) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span> if (controller.failed()) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.284"></a>
-<span class="sourceLineNo">285</span> } else {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> future.complete(respConverter.convert(resp));<a name="line.287"></a>
-<span class="sourceLineNo">288</span> } catch (IOException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span> future.completeExceptionally(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span> }<a name="line.290"></a>
-<span class="sourceLineNo">291</span> }<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> return future;<a name="line.294"></a>
-<span class="sourceLineNo">295</span> }<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.298"></a>
-<span class="sourceLineNo">299</span> ProcedureBiConsumer consumer) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> CompletableFuture<Long> procFuture = this<a name="line.300"></a>
-<span class="sourceLineNo">301</span> .<Long> newMasterCaller()<a name="line.301"></a>
-<span class="sourceLineNo">302</span> .action(<a name="line.302"></a>
-<span class="sourceLineNo">303</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> respConverter)).call();<a name="line.304"></a>
-<span class="sourceLineNo">305</span> return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> @FunctionalInterface<a name="line.308"></a>
-<span class="sourceLineNo">309</span> private interface TableOperator {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> CompletableFuture<Void> operate(TableName table);<a name="line.310"></a>
-<span class="sourceLineNo">311</span> }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.313"></a>
-<span class="sourceLineNo">314</span> TableOperator operator, String operationType) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.315"></a>
-<span class="sourceLineNo">316</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> listTables(pattern, false).whenComplete(<a name="line.317"></a>
-<span class="sourceLineNo">318</span> (tables, error) -> {<a name="line.318"></a>
-<span class="sourceLineNo">319</span> if (error != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> future.completeExceptionally(error);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> return;<a name="line.321"></a>
-<span class="sourceLineNo">322</span> }<a name="line.322"></a>
-<span class="sourceLineNo">323</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.323"></a>
-<span class="sourceLineNo">324</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<a name="line.324"></a>
-<span class="sourceLineNo">325</span> if (ex != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.326"></a>
-<span class="sourceLineNo">327</span> failed.add(table);<a name="line.327"></a>
-<span class="sourceLineNo">328</span> }<a name="line.328"></a>
-<span class="sourceLineNo">329</span> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<a name="line.331"></a>
-<span class="sourceLineNo">332</span> });<a name="line.332"></a>
-<span class="sourceLineNo">333</span> });<a name="line.333"></a>
-<span class="sourceLineNo">334</span> return future;<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 AsyncConnectionImpl getConnection() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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<TableDescriptor[]> listTables() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return listTables((Pattern) null, false);<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<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> return listTables(Pattern.compile(regex), false);<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<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return this<a name="line.359"></a>
-<span class="sourceLineNo">360</span> .<TableDescriptor[]>newMasterCaller()<a name="line.360"></a>
-<span class="sourceLineNo">361</span> .action(<a name="line.361"></a>
-<span class="sourceLineNo">362</span> (controller, stub) -> this<a name="line.362"></a>
-<span class="sourceLineNo">363</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.363"></a>
-<span class="sourceLineNo">364</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.365"></a>
-<span class="sourceLineNo">366</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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<TableName[]> listTableNames() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span> return listTableNames((Pattern) null, false);<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<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> return listTableNames(Pattern.compile(regex), false);<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<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span> .<TableName[]>newMasterCaller()<a name="line.382"></a>
-<span class="sourceLineNo">383</span> .action(<a name="line.383"></a>
-<span class="sourceLineNo">384</span> (controller, stub) -> this<a name="line.384"></a>
-<span class="sourceLineNo">385</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.385"></a>
-<span class="sourceLineNo">386</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.386"></a>
-<span class="sourceLineNo">387</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.387"></a>
-<span class="sourceLineNo">388</span> .getTableNameArray(resp.getTableNamesList()))).call();<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<TableDescriptor> getTableDescriptor(TableName tableName) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> CompletableFuture<TableDescriptor> future = new CompletableFuture<>();<a name="line.393"></a>
-<span class="sourceLineNo">394</span> this.<List<TableSchema>> newMasterCaller()<a name="line.394"></a>
-<span class="sourceLineNo">395</span> .action(<a name="line.395"></a>
-<span class="sourceLineNo">396</span> (controller, stub) -> this<a name="line.396"></a>
-<span class="sourceLineNo">397</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, List<TableSchema>> call(<a name="line.397"></a>
-<span class="sourceLineNo">398</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.398"></a>
-<span class="sourceLineNo">399</span> c, req, done) -> s.getTableDescriptors(c, req, done), (resp) -> resp<a name="line.399"></a>
-<span class="sourceLineNo">400</span> .getTableSchemaList())).call().whenComplete((tableSchemas, error) -> {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> if (error != null) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> future.completeExceptionally(error);<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> if (!tableSchemas.isEmpty()) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.406"></a>
-<span class="sourceLineNo">407</span> } else {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<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> return future;<a name="line.411"></a>
-<span class="sourceLineNo">412</span> }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> @Override<a name="line.414"></a>
-<span class="sourceLineNo">415</span> public CompletableFuture<Void> createTable(TableDescriptor desc) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return createTable(desc, null);<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> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.420"></a>
-<span class="sourceLineNo">421</span> int numRegions) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> try {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> return createTable(desc, getSplitKeys(startKey, endKey, numRegions));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> } catch (IllegalArgumentException e) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span> return failedFuture(e);<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><a name="line.428"></a>
-<span class="sourceLineNo">429</span> @Override<a name="line.429"></a>
-<span class="sourceLineNo">430</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span> if (desc.getTableName() == null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (splitKeys != null && splitKeys.length > 0) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);<a name="line.435"></a>
-<span class="sourceLineNo">436</span> // Verify there are no duplicate split keys<a name="line.436"></a>
-<span class="sourceLineNo">437</span> byte[] lastKey = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> for (byte[] splitKey : splitKeys) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> if (Bytes.compareTo(splitKey, HConstants.EMPTY_BYTE_ARRAY) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> return failedFuture(new IllegalArgumentException(<a name="line.440"></a>
-<span class="sourceLineNo">441</span> "Empty split key must not be passed in the split keys."));<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> if (lastKey != null && Bytes.equals(splitKey, lastKey)) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span> return failedFuture(new IllegalArgumentException("All split keys must be unique, "<a name="line.444"></a>
-<span class="sourceLineNo">445</span> + "found duplicate: " + Bytes.toStringBinary(splitKey) + ", "<a name="line.445"></a>
-<span class="sourceLineNo">446</span> + Bytes.toStringBinary(lastKey)));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> }<a name="line.447"></a>
-<span class="sourceLineNo">448</span> lastKey = splitKey;<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><a name="line.451"></a>
-<span class="sourceLineNo">452</span> return this.<CreateTableRequest, CreateTableResponse> procedureCall(<a name="line.452"></a>
-<span class="sourceLineNo">453</span> RequestConverter.buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()),<a name="line.453"></a>
-<span class="sourceLineNo">454</span> (s, c, req, done) -> s.createTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.454"></a>
-<span class="sourceLineNo">455</span> new CreateTableProcedureBiConsumer(this, desc.getTableName()));<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<Void> deleteTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return this.<DeleteTableRequest, DeleteTableResponse> procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span> .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span> (s, c, req, done) -> s.deleteTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span> new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
+<span class="sourceLineNo">281</span> //TODO abstract call and adminCall into a single method.<a name="line.281"></a>
+<span class="sourceLineNo">282</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.282"></a>
+<span class="sourceLineNo">283</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Converter<RESP, PRESP> respConverter) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.286"></a>
+<span class="sourceLineNo">287</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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 void run(PRESP resp) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (controller.failed()) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> try {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> future.complete(respConverter.convert(resp));<a name="line.295"></a>
+<span class="sourceLineNo">296</span> } catch (IOException e) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span> future.completeExceptionally(e);<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> });<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return future;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.305"></a>
+<span class="sourceLineNo">306</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.306"></a>
+<span class="sourceLineNo">307</span> ProcedureBiConsumer consumer) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> CompletableFuture<Long> procFuture = this<a name="line.308"></a>
+<span class="sourceLineNo">309</span> .<Long> newMasterCaller()<a name="line.309"></a>
+<span class="sourceLineNo">310</span> .action(<a name="line.310"></a>
+<span class="sourceLineNo">311</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.311"></a>
+<span class="sourceLineNo">312</span> respConverter)).call();<a name="line.312"></a>
+<span class="sourceLineNo">313</span> return waitProcedureResult(procFuture).whenComplete(consumer);<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> @FunctionalInterface<a name="line.316"></a>
+<span class="sourceLineNo">317</span> private interface TableOperator {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> CompletableFuture<Void> operate(TableName table);<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> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.321"></a>
+<span class="sourceLineNo">322</span> TableOperator operator, String operationType) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> listTables(pattern, false).whenComplete(<a name="line.325"></a>
+<span class="sourceLineNo">326</span> (tables, error) -> {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> if (error != null) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> future.completeExceptionally(error);<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return;<a name="line.329"></a>
+<span class="sourceLineNo">330</span> }<a name="line.330"></a>
+<span class="sourceLineNo">331</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.331"></a>
+<span class="sourceLineNo">332</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<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> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.337"></a>
+<span class="sourceLineNo">338</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.338"></a>
+<span class="sourceLineNo">339</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<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 AsyncConnectionImpl getConnection() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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> @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span> public CompletableFuture<TableDescriptor[]> listTables() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span> return listTables((Pattern) null, false);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span> public CompletableFuture<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return listTables(Pattern.compile(regex), false);<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> @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public CompletableFuture<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span> .<TableDescriptor[]>newMasterCaller()<a name="line.368"></a>
+<span class="sourceLineNo">369</span> .action(<a name="line.369"></a>
+<span class="sourceLineNo">370</span> (controller, stub) -> this<a name="line.370"></a>
+<span class="sourceLineNo">371</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.371"></a>
+<span class="sourceLineNo">372</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.372"></a>
+<span class="sourceLineNo">373</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.373"></a>
+<span class="sourceLineNo">374</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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> @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span> public CompletableFuture<TableName[]> listTableNames() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> return listTableNames((Pattern) null, false);<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> @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public CompletableFuture<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> return listTableNames(Pattern.compile(regex), false);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public CompletableFuture<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return this<a name="line.389"></a>
+<span class="sourceLineNo">390</span> .<TableName[]>newMasterCaller()<a name="line.390"></a>
+<span class="sourceLineNo">391</span> .action(<a name="line.391"></a>
+<span class="sourceLineNo">392</span> (controller, stub) -> this<a name="line.392"></a>
+<span class="sourceLineNo">393</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.393"></a>
+<span class="sourceLineNo">394</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.394"></a>
+<span class="sourceLineNo">395</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.395"></a>
+<span class="sourceLineNo">396</span> .getTableNameArray(resp.getTableNamesList()))).call();<a name="line.396"></a>
+<span
<TRUNCATED>
[24/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html
index 8750fa2..4fd4af0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteTableProcedureBiConsumer.html
@@ -48,2133 +48,2409 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span>import io.netty.util.Timeout;<a name="line.41"></a>
<span class="sourceLineNo">042</span>import io.netty.util.TimerTask;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.commons.logging.Log;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.commons.logging.LogFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ServerName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.HConstants;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>/**<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * The implementation of AsyncAdmin.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@InterfaceAudience.Private<a name="line.185"></a>
-<span class="sourceLineNo">186</span>@InterfaceStability.Evolving<a name="line.186"></a>
-<span class="sourceLineNo">187</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.187"></a>
+<span class="sourceLineNo">043</span>import org.apache.commons.io.IOUtils;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.commons.logging.Log;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.commons.logging.LogFactory;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ServerName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HConstants;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.TableName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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.snapshot.ClientSnapshotDescriptionUtils;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.187"></a>
<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> private final AsyncConnectionImpl connection;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span> private final RawAsyncTable metaTable;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final long rpcTimeoutNs;<a name="line.195"></a>
+<span class="sourceLineNo">189</span>/**<a name="line.189"></a>
+<span class="sourceLineNo">190</span> * The implementation of AsyncAdmin.<a name="line.190"></a>
+<span class="sourceLineNo">191</span> */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>@InterfaceAudience.Private<a name="line.192"></a>
+<span class="sourceLineNo">193</span>@InterfaceStability.Evolving<a name="line.193"></a>
+<span class="sourceLineNo">194</span>public class AsyncHBaseAdmin 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 final long operationTimeoutNs;<a name="line.197"></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 long pauseNs;<a name="line.199"></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 int maxAttempts;<a name="line.201"></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 int startLogErrorsCnt;<a name="line.203"></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 NonceGenerator ng;<a name="line.205"></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> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> this.connection = connection;<a name="line.208"></a>
-<span class="sourceLineNo">209</span> this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> this.rpcTimeoutNs = connection.connConf.getRpcTimeoutNs();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.212"></a>
-<span class="sourceLineNo">213</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.213"></a>
-<span class="sourceLineNo">214</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<a name="line.214"></a>
-<span class="sourceLineNo">215</span> this.ng = connection.getNonceGenerator();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> return this.connection.callerFactory.<T> masterRequest()<a name="line.219"></a>
-<span class="sourceLineNo">220</span> .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startLogErrorsCnt(startLogErrorsCnt);<a name="line.223"></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">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> private final int startLogErrorsCnt;<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">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<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 = connection.connConf.getRpcTimeoutNs();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.219"></a>
+<span class="sourceLineNo">220</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.220"></a>
+<span class="sourceLineNo">221</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.221"></a>
+<span class="sourceLineNo">222</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<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 <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> adminRequest()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> 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> @FunctionalInterface<a name="line.234"></a>
-<span class="sourceLineNo">235</span> private interface MasterRpcCall<RESP, REQ> {<a name="line.235"></a>
-<span class="sourceLineNo">236</span> void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.236"></a>
-<span class="sourceLineNo">237</span> RpcCallback<RESP> done);<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> @FunctionalInterface<a name="line.240"></a>
-<span class="sourceLineNo">241</span> private interface AdminRpcCall<RESP, REQ> {<a name="line.241"></a>
-<span class="sourceLineNo">242</span> void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> RpcCallback<RESP> done);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span> @FunctionalInterface<a name="line.246"></a>
-<span class="sourceLineNo">247</span> private interface Converter<D, S> {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> D convert(S src) throws IOException;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.251"></a>
-<span class="sourceLineNo">252</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.252"></a>
-<span class="sourceLineNo">253</span> Converter<RESP, PRESP> respConverter) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.254"></a>
-<span class="sourceLineNo">255</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> @Override<a name="line.257"></a>
-<span class="sourceLineNo">258</span> public void run(PRESP resp) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span> if (controller.failed()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span> future.completeExceptionally(controller.getFailed());<a name="line.260"></a>
-<span class="sourceLineNo">261</span> } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> future.complete(respConverter.convert(resp));<a name="line.263"></a>
-<span class="sourceLineNo">264</span> } catch (IOException e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span> future.completeExceptionally(e);<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> }<a name="line.268"></a>
-<span class="sourceLineNo">269</span> });<a name="line.269"></a>
-<span class="sourceLineNo">270</span> return future;<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> //TODO abstract call and adminCall into a single method.<a name="line.273"></a>
-<span class="sourceLineNo">274</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.274"></a>
-<span class="sourceLineNo">275</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.275"></a>
-<span class="sourceLineNo">276</span> Converter<RESP, PRESP> respConverter) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.279"></a>
+<span class="sourceLineNo">234</span> private <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.connection.callerFactory.<T> 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<RESP, REQ> {<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<RESP> done);<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<RESP, REQ> {<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<RESP> 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<D, S> {<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 <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.259"></a>
+<span class="sourceLineNo">260</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.260"></a>
+<span class="sourceLineNo">261</span> Converter<RESP, PRESP> respConverter) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.262"></a>
+<span class="sourceLineNo">263</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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> @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span> public void run(PRESP resp) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span> if (controller.failed()) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.284"></a>
-<span class="sourceLineNo">285</span> } else {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> future.complete(respConverter.convert(resp));<a name="line.287"></a>
-<span class="sourceLineNo">288</span> } catch (IOException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span> future.completeExceptionally(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span> }<a name="line.290"></a>
-<span class="sourceLineNo">291</span> }<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> return future;<a name="line.294"></a>
-<span class="sourceLineNo">295</span> }<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.298"></a>
-<span class="sourceLineNo">299</span> ProcedureBiConsumer consumer) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> CompletableFuture<Long> procFuture = this<a name="line.300"></a>
-<span class="sourceLineNo">301</span> .<Long> newMasterCaller()<a name="line.301"></a>
-<span class="sourceLineNo">302</span> .action(<a name="line.302"></a>
-<span class="sourceLineNo">303</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> respConverter)).call();<a name="line.304"></a>
-<span class="sourceLineNo">305</span> return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> @FunctionalInterface<a name="line.308"></a>
-<span class="sourceLineNo">309</span> private interface TableOperator {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> CompletableFuture<Void> operate(TableName table);<a name="line.310"></a>
-<span class="sourceLineNo">311</span> }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.313"></a>
-<span class="sourceLineNo">314</span> TableOperator operator, String operationType) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.315"></a>
-<span class="sourceLineNo">316</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> listTables(pattern, false).whenComplete(<a name="line.317"></a>
-<span class="sourceLineNo">318</span> (tables, error) -> {<a name="line.318"></a>
-<span class="sourceLineNo">319</span> if (error != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> future.completeExceptionally(error);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> return;<a name="line.321"></a>
-<span class="sourceLineNo">322</span> }<a name="line.322"></a>
-<span class="sourceLineNo">323</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.323"></a>
-<span class="sourceLineNo">324</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<a name="line.324"></a>
-<span class="sourceLineNo">325</span> if (ex != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.326"></a>
-<span class="sourceLineNo">327</span> failed.add(table);<a name="line.327"></a>
-<span class="sourceLineNo">328</span> }<a name="line.328"></a>
-<span class="sourceLineNo">329</span> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<a name="line.331"></a>
-<span class="sourceLineNo">332</span> });<a name="line.332"></a>
-<span class="sourceLineNo">333</span> });<a name="line.333"></a>
-<span class="sourceLineNo">334</span> return future;<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 AsyncConnectionImpl getConnection() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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<TableDescriptor[]> listTables() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return listTables((Pattern) null, false);<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<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> return listTables(Pattern.compile(regex), false);<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<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return this<a name="line.359"></a>
-<span class="sourceLineNo">360</span> .<TableDescriptor[]>newMasterCaller()<a name="line.360"></a>
-<span class="sourceLineNo">361</span> .action(<a name="line.361"></a>
-<span class="sourceLineNo">362</span> (controller, stub) -> this<a name="line.362"></a>
-<span class="sourceLineNo">363</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.363"></a>
-<span class="sourceLineNo">364</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.365"></a>
-<span class="sourceLineNo">366</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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<TableName[]> listTableNames() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span> return listTableNames((Pattern) null, false);<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<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> return listTableNames(Pattern.compile(regex), false);<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<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span> .<TableName[]>newMasterCaller()<a name="line.382"></a>
-<span class="sourceLineNo">383</span> .action(<a name="line.383"></a>
-<span class="sourceLineNo">384</span> (controller, stub) -> this<a name="line.384"></a>
-<span class="sourceLineNo">385</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.385"></a>
-<span class="sourceLineNo">386</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.386"></a>
-<span class="sourceLineNo">387</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.387"></a>
-<span class="sourceLineNo">388</span> .getTableNameArray(resp.getTableNamesList()))).call();<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<TableDescriptor> getTableDescriptor(TableName tableName) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> CompletableFuture<TableDescriptor> future = new CompletableFuture<>();<a name="line.393"></a>
-<span class="sourceLineNo">394</span> this.<List<TableSchema>> newMasterCaller()<a name="line.394"></a>
-<span class="sourceLineNo">395</span> .action(<a name="line.395"></a>
-<span class="sourceLineNo">396</span> (controller, stub) -> this<a name="line.396"></a>
-<span class="sourceLineNo">397</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, List<TableSchema>> call(<a name="line.397"></a>
-<span class="sourceLineNo">398</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.398"></a>
-<span class="sourceLineNo">399</span> c, req, done) -> s.getTableDescriptors(c, req, done), (resp) -> resp<a name="line.399"></a>
-<span class="sourceLineNo">400</span> .getTableSchemaList())).call().whenComplete((tableSchemas, error) -> {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> if (error != null) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> future.completeExceptionally(error);<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> if (!tableSchemas.isEmpty()) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.406"></a>
-<span class="sourceLineNo">407</span> } else {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<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> return future;<a name="line.411"></a>
-<span class="sourceLineNo">412</span> }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> @Override<a name="line.414"></a>
-<span class="sourceLineNo">415</span> public CompletableFuture<Void> createTable(TableDescriptor desc) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return createTable(desc, null);<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> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.420"></a>
-<span class="sourceLineNo">421</span> int numRegions) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> try {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> return createTable(desc, getSplitKeys(startKey, endKey, numRegions));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> } catch (IllegalArgumentException e) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span> return failedFuture(e);<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><a name="line.428"></a>
-<span class="sourceLineNo">429</span> @Override<a name="line.429"></a>
-<span class="sourceLineNo">430</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span> if (desc.getTableName() == null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (splitKeys != null && splitKeys.length > 0) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);<a name="line.435"></a>
-<span class="sourceLineNo">436</span> // Verify there are no duplicate split keys<a name="line.436"></a>
-<span class="sourceLineNo">437</span> byte[] lastKey = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> for (byte[] splitKey : splitKeys) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> if (Bytes.compareTo(splitKey, HConstants.EMPTY_BYTE_ARRAY) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> return failedFuture(new IllegalArgumentException(<a name="line.440"></a>
-<span class="sourceLineNo">441</span> "Empty split key must not be passed in the split keys."));<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> if (lastKey != null && Bytes.equals(splitKey, lastKey)) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span> return failedFuture(new IllegalArgumentException("All split keys must be unique, "<a name="line.444"></a>
-<span class="sourceLineNo">445</span> + "found duplicate: " + Bytes.toStringBinary(splitKey) + ", "<a name="line.445"></a>
-<span class="sourceLineNo">446</span> + Bytes.toStringBinary(lastKey)));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> }<a name="line.447"></a>
-<span class="sourceLineNo">448</span> lastKey = splitKey;<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><a name="line.451"></a>
-<span class="sourceLineNo">452</span> return this.<CreateTableRequest, CreateTableResponse> procedureCall(<a name="line.452"></a>
-<span class="sourceLineNo">453</span> RequestConverter.buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()),<a name="line.453"></a>
-<span class="sourceLineNo">454</span> (s, c, req, done) -> s.createTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.454"></a>
-<span class="sourceLineNo">455</span> new CreateTableProcedureBiConsumer(this, desc.getTableName()));<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<Void> deleteTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return this.<DeleteTableRequest, DeleteTableResponse> procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span> .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span> (s, c, req, done) -> s.deleteTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span> new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
+<span class="sourceLineNo">281</span> //TODO abstract call and adminCall into a single method.<a name="line.281"></a>
+<span class="sourceLineNo">282</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.282"></a>
+<span class="sourceLineNo">283</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Converter<RESP, PRESP> respConverter) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.286"></a>
+<span class="sourceLineNo">287</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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 void run(PRESP resp) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (controller.failed()) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> try {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> future.complete(respConverter.convert(resp));<a name="line.295"></a>
+<span class="sourceLineNo">296</span> } catch (IOException e) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span> future.completeExceptionally(e);<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> });<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return future;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.305"></a>
+<span class="sourceLineNo">306</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.306"></a>
+<span class="sourceLineNo">307</span> ProcedureBiConsumer consumer) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> CompletableFuture<Long> procFuture = this<a name="line.308"></a>
+<span class="sourceLineNo">309</span> .<Long> newMasterCaller()<a name="line.309"></a>
+<span class="sourceLineNo">310</span> .action(<a name="line.310"></a>
+<span class="sourceLineNo">311</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.311"></a>
+<span class="sourceLineNo">312</span> respConverter)).call();<a name="line.312"></a>
+<span class="sourceLineNo">313</span> return waitProcedureResult(procFuture).whenComplete(consumer);<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> @FunctionalInterface<a name="line.316"></a>
+<span class="sourceLineNo">317</span> private interface TableOperator {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> CompletableFuture<Void> operate(TableName table);<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> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.321"></a>
+<span class="sourceLineNo">322</span> TableOperator operator, String operationType) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> listTables(pattern, false).whenComplete(<a name="line.325"></a>
+<span class="sourceLineNo">326</span> (tables, error) -> {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> if (error != null) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> future.completeExceptionally(error);<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return;<a name="line.329"></a>
+<span class="sourceLineNo">330</span> }<a name="line.330"></a>
+<span class="sourceLineNo">331</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.331"></a>
+<span class="sourceLineNo">332</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<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> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.337"></a>
+<span class="sourceLineNo">338</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.338"></a>
+<span class="sourceLineNo">339</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<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 AsyncConnectionImpl getConnection() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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> @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span> public CompletableFuture<TableDescriptor[]> listTables() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span> return listTables((Pattern) null, false);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span> public CompletableFuture<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return listTables(Pattern.compile(regex), false);<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> @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public CompletableFuture<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span> .<TableDescriptor[]>newMasterCaller()<a name="line.368"></a>
+<span class="sourceLineNo">369</span> .action(<a name="line.369"></a>
+<span class="sourceLineNo">370</span> (controller, stub) -> this<a name="line.370"></a>
+<span class="sourceLineNo">371</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.371"></a>
+<span class="sourceLineNo">372</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.372"></a>
+<span class="sourceLineNo">373</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.373"></a>
+<span class="sourceLineNo">374</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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> @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span> public CompletableFuture<TableName[]> listTableNames() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> return listTableNames((Pattern) null, false);<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> @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public CompletableFuture<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> return listTableNames(Pattern.compile(regex), false);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public CompletableFuture<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return this<a name="line.389"></a>
+<span class="sourceLineNo">390</span> .<TableName[]>newMasterCaller()<a name="line.390"></a>
+<span class="sourceLineNo">391</span> .action(<a name="line.391"></a>
+<span class="sourceLineNo">392</span> (controller, stub) -> this<a name="line.392"></a>
+<span class="sourceLineNo">393</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.393"></a>
+<span class="sourceLineNo">394</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.394"></a>
+<span class="sourceLineNo">395</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.395"></a>
+<span class="sourceLineNo">396</span> .getTableNameArray(resp.getTableNamesList()))).call();<a name="line.396"><
<TRUNCATED>
[20/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html
index 8750fa2..4fd4af0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.MergeTableRegionProcedureBiConsumer.html
@@ -48,2133 +48,2409 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span>import io.netty.util.Timeout;<a name="line.41"></a>
<span class="sourceLineNo">042</span>import io.netty.util.TimerTask;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.commons.logging.Log;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.commons.logging.LogFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ServerName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.HConstants;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>/**<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * The implementation of AsyncAdmin.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@InterfaceAudience.Private<a name="line.185"></a>
-<span class="sourceLineNo">186</span>@InterfaceStability.Evolving<a name="line.186"></a>
-<span class="sourceLineNo">187</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.187"></a>
+<span class="sourceLineNo">043</span>import org.apache.commons.io.IOUtils;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.commons.logging.Log;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.commons.logging.LogFactory;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ServerName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HConstants;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.TableName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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.snapshot.ClientSnapshotDescriptionUtils;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.187"></a>
<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> private final AsyncConnectionImpl connection;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span> private final RawAsyncTable metaTable;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final long rpcTimeoutNs;<a name="line.195"></a>
+<span class="sourceLineNo">189</span>/**<a name="line.189"></a>
+<span class="sourceLineNo">190</span> * The implementation of AsyncAdmin.<a name="line.190"></a>
+<span class="sourceLineNo">191</span> */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>@InterfaceAudience.Private<a name="line.192"></a>
+<span class="sourceLineNo">193</span>@InterfaceStability.Evolving<a name="line.193"></a>
+<span class="sourceLineNo">194</span>public class AsyncHBaseAdmin 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 final long operationTimeoutNs;<a name="line.197"></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 long pauseNs;<a name="line.199"></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 int maxAttempts;<a name="line.201"></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 int startLogErrorsCnt;<a name="line.203"></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 NonceGenerator ng;<a name="line.205"></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> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> this.connection = connection;<a name="line.208"></a>
-<span class="sourceLineNo">209</span> this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> this.rpcTimeoutNs = connection.connConf.getRpcTimeoutNs();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.212"></a>
-<span class="sourceLineNo">213</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.213"></a>
-<span class="sourceLineNo">214</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<a name="line.214"></a>
-<span class="sourceLineNo">215</span> this.ng = connection.getNonceGenerator();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> return this.connection.callerFactory.<T> masterRequest()<a name="line.219"></a>
-<span class="sourceLineNo">220</span> .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startLogErrorsCnt(startLogErrorsCnt);<a name="line.223"></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">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> private final int startLogErrorsCnt;<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">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<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 = connection.connConf.getRpcTimeoutNs();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.219"></a>
+<span class="sourceLineNo">220</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.220"></a>
+<span class="sourceLineNo">221</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.221"></a>
+<span class="sourceLineNo">222</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<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 <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> adminRequest()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> 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> @FunctionalInterface<a name="line.234"></a>
-<span class="sourceLineNo">235</span> private interface MasterRpcCall<RESP, REQ> {<a name="line.235"></a>
-<span class="sourceLineNo">236</span> void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.236"></a>
-<span class="sourceLineNo">237</span> RpcCallback<RESP> done);<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> @FunctionalInterface<a name="line.240"></a>
-<span class="sourceLineNo">241</span> private interface AdminRpcCall<RESP, REQ> {<a name="line.241"></a>
-<span class="sourceLineNo">242</span> void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> RpcCallback<RESP> done);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span> @FunctionalInterface<a name="line.246"></a>
-<span class="sourceLineNo">247</span> private interface Converter<D, S> {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> D convert(S src) throws IOException;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.251"></a>
-<span class="sourceLineNo">252</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.252"></a>
-<span class="sourceLineNo">253</span> Converter<RESP, PRESP> respConverter) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.254"></a>
-<span class="sourceLineNo">255</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> @Override<a name="line.257"></a>
-<span class="sourceLineNo">258</span> public void run(PRESP resp) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span> if (controller.failed()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span> future.completeExceptionally(controller.getFailed());<a name="line.260"></a>
-<span class="sourceLineNo">261</span> } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> future.complete(respConverter.convert(resp));<a name="line.263"></a>
-<span class="sourceLineNo">264</span> } catch (IOException e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span> future.completeExceptionally(e);<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> }<a name="line.268"></a>
-<span class="sourceLineNo">269</span> });<a name="line.269"></a>
-<span class="sourceLineNo">270</span> return future;<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> //TODO abstract call and adminCall into a single method.<a name="line.273"></a>
-<span class="sourceLineNo">274</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.274"></a>
-<span class="sourceLineNo">275</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.275"></a>
-<span class="sourceLineNo">276</span> Converter<RESP, PRESP> respConverter) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.279"></a>
+<span class="sourceLineNo">234</span> private <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.connection.callerFactory.<T> 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<RESP, REQ> {<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<RESP> done);<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<RESP, REQ> {<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<RESP> 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<D, S> {<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 <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.259"></a>
+<span class="sourceLineNo">260</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.260"></a>
+<span class="sourceLineNo">261</span> Converter<RESP, PRESP> respConverter) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.262"></a>
+<span class="sourceLineNo">263</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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> @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span> public void run(PRESP resp) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span> if (controller.failed()) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.284"></a>
-<span class="sourceLineNo">285</span> } else {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> future.complete(respConverter.convert(resp));<a name="line.287"></a>
-<span class="sourceLineNo">288</span> } catch (IOException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span> future.completeExceptionally(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span> }<a name="line.290"></a>
-<span class="sourceLineNo">291</span> }<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> return future;<a name="line.294"></a>
-<span class="sourceLineNo">295</span> }<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.298"></a>
-<span class="sourceLineNo">299</span> ProcedureBiConsumer consumer) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> CompletableFuture<Long> procFuture = this<a name="line.300"></a>
-<span class="sourceLineNo">301</span> .<Long> newMasterCaller()<a name="line.301"></a>
-<span class="sourceLineNo">302</span> .action(<a name="line.302"></a>
-<span class="sourceLineNo">303</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> respConverter)).call();<a name="line.304"></a>
-<span class="sourceLineNo">305</span> return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> @FunctionalInterface<a name="line.308"></a>
-<span class="sourceLineNo">309</span> private interface TableOperator {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> CompletableFuture<Void> operate(TableName table);<a name="line.310"></a>
-<span class="sourceLineNo">311</span> }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.313"></a>
-<span class="sourceLineNo">314</span> TableOperator operator, String operationType) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.315"></a>
-<span class="sourceLineNo">316</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> listTables(pattern, false).whenComplete(<a name="line.317"></a>
-<span class="sourceLineNo">318</span> (tables, error) -> {<a name="line.318"></a>
-<span class="sourceLineNo">319</span> if (error != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> future.completeExceptionally(error);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> return;<a name="line.321"></a>
-<span class="sourceLineNo">322</span> }<a name="line.322"></a>
-<span class="sourceLineNo">323</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.323"></a>
-<span class="sourceLineNo">324</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<a name="line.324"></a>
-<span class="sourceLineNo">325</span> if (ex != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.326"></a>
-<span class="sourceLineNo">327</span> failed.add(table);<a name="line.327"></a>
-<span class="sourceLineNo">328</span> }<a name="line.328"></a>
-<span class="sourceLineNo">329</span> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<a name="line.331"></a>
-<span class="sourceLineNo">332</span> });<a name="line.332"></a>
-<span class="sourceLineNo">333</span> });<a name="line.333"></a>
-<span class="sourceLineNo">334</span> return future;<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 AsyncConnectionImpl getConnection() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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<TableDescriptor[]> listTables() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return listTables((Pattern) null, false);<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<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> return listTables(Pattern.compile(regex), false);<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<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return this<a name="line.359"></a>
-<span class="sourceLineNo">360</span> .<TableDescriptor[]>newMasterCaller()<a name="line.360"></a>
-<span class="sourceLineNo">361</span> .action(<a name="line.361"></a>
-<span class="sourceLineNo">362</span> (controller, stub) -> this<a name="line.362"></a>
-<span class="sourceLineNo">363</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.363"></a>
-<span class="sourceLineNo">364</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.365"></a>
-<span class="sourceLineNo">366</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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<TableName[]> listTableNames() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span> return listTableNames((Pattern) null, false);<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<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> return listTableNames(Pattern.compile(regex), false);<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<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span> .<TableName[]>newMasterCaller()<a name="line.382"></a>
-<span class="sourceLineNo">383</span> .action(<a name="line.383"></a>
-<span class="sourceLineNo">384</span> (controller, stub) -> this<a name="line.384"></a>
-<span class="sourceLineNo">385</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.385"></a>
-<span class="sourceLineNo">386</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.386"></a>
-<span class="sourceLineNo">387</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.387"></a>
-<span class="sourceLineNo">388</span> .getTableNameArray(resp.getTableNamesList()))).call();<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<TableDescriptor> getTableDescriptor(TableName tableName) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> CompletableFuture<TableDescriptor> future = new CompletableFuture<>();<a name="line.393"></a>
-<span class="sourceLineNo">394</span> this.<List<TableSchema>> newMasterCaller()<a name="line.394"></a>
-<span class="sourceLineNo">395</span> .action(<a name="line.395"></a>
-<span class="sourceLineNo">396</span> (controller, stub) -> this<a name="line.396"></a>
-<span class="sourceLineNo">397</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, List<TableSchema>> call(<a name="line.397"></a>
-<span class="sourceLineNo">398</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.398"></a>
-<span class="sourceLineNo">399</span> c, req, done) -> s.getTableDescriptors(c, req, done), (resp) -> resp<a name="line.399"></a>
-<span class="sourceLineNo">400</span> .getTableSchemaList())).call().whenComplete((tableSchemas, error) -> {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> if (error != null) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> future.completeExceptionally(error);<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> if (!tableSchemas.isEmpty()) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.406"></a>
-<span class="sourceLineNo">407</span> } else {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<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> return future;<a name="line.411"></a>
-<span class="sourceLineNo">412</span> }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> @Override<a name="line.414"></a>
-<span class="sourceLineNo">415</span> public CompletableFuture<Void> createTable(TableDescriptor desc) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return createTable(desc, null);<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> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.420"></a>
-<span class="sourceLineNo">421</span> int numRegions) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> try {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> return createTable(desc, getSplitKeys(startKey, endKey, numRegions));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> } catch (IllegalArgumentException e) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span> return failedFuture(e);<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><a name="line.428"></a>
-<span class="sourceLineNo">429</span> @Override<a name="line.429"></a>
-<span class="sourceLineNo">430</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span> if (desc.getTableName() == null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (splitKeys != null && splitKeys.length > 0) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);<a name="line.435"></a>
-<span class="sourceLineNo">436</span> // Verify there are no duplicate split keys<a name="line.436"></a>
-<span class="sourceLineNo">437</span> byte[] lastKey = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> for (byte[] splitKey : splitKeys) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> if (Bytes.compareTo(splitKey, HConstants.EMPTY_BYTE_ARRAY) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> return failedFuture(new IllegalArgumentException(<a name="line.440"></a>
-<span class="sourceLineNo">441</span> "Empty split key must not be passed in the split keys."));<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> if (lastKey != null && Bytes.equals(splitKey, lastKey)) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span> return failedFuture(new IllegalArgumentException("All split keys must be unique, "<a name="line.444"></a>
-<span class="sourceLineNo">445</span> + "found duplicate: " + Bytes.toStringBinary(splitKey) + ", "<a name="line.445"></a>
-<span class="sourceLineNo">446</span> + Bytes.toStringBinary(lastKey)));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> }<a name="line.447"></a>
-<span class="sourceLineNo">448</span> lastKey = splitKey;<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><a name="line.451"></a>
-<span class="sourceLineNo">452</span> return this.<CreateTableRequest, CreateTableResponse> procedureCall(<a name="line.452"></a>
-<span class="sourceLineNo">453</span> RequestConverter.buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()),<a name="line.453"></a>
-<span class="sourceLineNo">454</span> (s, c, req, done) -> s.createTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.454"></a>
-<span class="sourceLineNo">455</span> new CreateTableProcedureBiConsumer(this, desc.getTableName()));<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<Void> deleteTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return this.<DeleteTableRequest, DeleteTableResponse> procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span> .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span> (s, c, req, done) -> s.deleteTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span> new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
+<span class="sourceLineNo">281</span> //TODO abstract call and adminCall into a single method.<a name="line.281"></a>
+<span class="sourceLineNo">282</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.282"></a>
+<span class="sourceLineNo">283</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Converter<RESP, PRESP> respConverter) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.286"></a>
+<span class="sourceLineNo">287</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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 void run(PRESP resp) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (controller.failed()) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> try {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> future.complete(respConverter.convert(resp));<a name="line.295"></a>
+<span class="sourceLineNo">296</span> } catch (IOException e) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span> future.completeExceptionally(e);<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> });<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return future;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.305"></a>
+<span class="sourceLineNo">306</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.306"></a>
+<span class="sourceLineNo">307</span> ProcedureBiConsumer consumer) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> CompletableFuture<Long> procFuture = this<a name="line.308"></a>
+<span class="sourceLineNo">309</span> .<Long> newMasterCaller()<a name="line.309"></a>
+<span class="sourceLineNo">310</span> .action(<a name="line.310"></a>
+<span class="sourceLineNo">311</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.311"></a>
+<span class="sourceLineNo">312</span> respConverter)).call();<a name="line.312"></a>
+<span class="sourceLineNo">313</span> return waitProcedureResult(procFuture).whenComplete(consumer);<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> @FunctionalInterface<a name="line.316"></a>
+<span class="sourceLineNo">317</span> private interface TableOperator {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> CompletableFuture<Void> operate(TableName table);<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> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.321"></a>
+<span class="sourceLineNo">322</span> TableOperator operator, String operationType) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> listTables(pattern, false).whenComplete(<a name="line.325"></a>
+<span class="sourceLineNo">326</span> (tables, error) -> {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> if (error != null) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> future.completeExceptionally(error);<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return;<a name="line.329"></a>
+<span class="sourceLineNo">330</span> }<a name="line.330"></a>
+<span class="sourceLineNo">331</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.331"></a>
+<span class="sourceLineNo">332</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<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> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.337"></a>
+<span class="sourceLineNo">338</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.338"></a>
+<span class="sourceLineNo">339</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<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 AsyncConnectionImpl getConnection() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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> @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span> public CompletableFuture<TableDescriptor[]> listTables() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span> return listTables((Pattern) null, false);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span> public CompletableFuture<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return listTables(Pattern.compile(regex), false);<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> @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public CompletableFuture<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span> .<TableDescriptor[]>newMasterCaller()<a name="line.368"></a>
+<span class="sourceLineNo">369</span> .action(<a name="line.369"></a>
+<span class="sourceLineNo">370</span> (controller, stub) -> this<a name="line.370"></a>
+<span class="sourceLineNo">371</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.371"></a>
+<span class="sourceLineNo">372</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.372"></a>
+<span class="sourceLineNo">373</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.373"></a>
+<span class="sourceLineNo">374</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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> @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span> public CompletableFuture<TableName[]> listTableNames() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> return listTableNames((Pattern) null, false);<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> @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public CompletableFuture<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> return listTableNames(Pattern.compile(regex), false);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public CompletableFuture<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return this<a name="line.389"></a>
+<span class="sourceLineNo">390</span> .<TableName[]>newMasterCaller()<a name="line.390"></a>
+<span class="sourceLineNo">391</span> .action(<a name="line.391"></a>
+<span class="sourceLineNo">392</span> (controller, stub) -> this<a name="line.392"></a>
+<span class="sourceLineNo">393</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.393"></a>
+<span class="sourceLineNo">394</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.394"></a>
+<span class="sourceLineNo">395</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.395"></a>
+<span class="sourceLineNo">396</span> .getTableNameArray(resp.getTableNamesList()))).ca
<TRUNCATED>
[02/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 39aaca5..dc8a182 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html
@@ -33,422 +33,649 @@
<span class="sourceLineNo">025</span>import java.io.IOException;<a name="line.25"></a>
<span class="sourceLineNo">026</span>import java.util.ArrayList;<a name="line.26"></a>
<span class="sourceLineNo">027</span>import java.util.List;<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.HColumnDescriptor;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.HConstants;<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.HRegionLocation;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.ServerName;<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.master.AssignmentManager;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.master.HMaster;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.master.RegionStates;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.master.ServerManager;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.testclassification.ClientTests;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.util.JVMClusterUtil;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.junit.Test;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.junit.experimental.categories.Category;<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> * Class to test asynchronous region admin operations.<a name="line.53"></a>
-<span class="sourceLineNo">054</span> */<a name="line.54"></a>
-<span class="sourceLineNo">055</span>@Category({ MediumTests.class, ClientTests.class })<a name="line.55"></a>
-<span class="sourceLineNo">056</span>public class TestAsyncRegionAdminApi extends TestAsyncAdminBase {<a name="line.56"></a>
+<span class="sourceLineNo">028</span>import java.util.Random;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.concurrent.atomic.AtomicInteger;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.stream.Collectors;<a name="line.30"></a>
+<span class="sourceLineNo">031</span><a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.HConstants;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.ServerName;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.TableName;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.master.AssignmentManager;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.master.HMaster;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.master.RegionState;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.master.RegionStates;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.master.ServerManager;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.regionserver.HRegionServer;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.regionserver.Region;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.testclassification.ClientTests;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.util.JVMClusterUtil;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.util.Threads;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.junit.Assert;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.junit.Test;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.junit.experimental.categories.Category;<a name="line.56"></a>
<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span> private void createTableWithDefaultConf(TableName TABLENAME) throws Exception {<a name="line.58"></a>
-<span class="sourceLineNo">059</span> HTableDescriptor htd = new HTableDescriptor(TABLENAME);<a name="line.59"></a>
-<span class="sourceLineNo">060</span> HColumnDescriptor hcd = new HColumnDescriptor("value");<a name="line.60"></a>
-<span class="sourceLineNo">061</span> htd.addFamily(hcd);<a name="line.61"></a>
-<span class="sourceLineNo">062</span><a name="line.62"></a>
-<span class="sourceLineNo">063</span> admin.createTable(htd, null).get();<a name="line.63"></a>
-<span class="sourceLineNo">064</span> }<a name="line.64"></a>
+<span class="sourceLineNo">058</span>/**<a name="line.58"></a>
+<span class="sourceLineNo">059</span> * Class to test asynchronous region admin operations.<a name="line.59"></a>
+<span class="sourceLineNo">060</span> */<a name="line.60"></a>
+<span class="sourceLineNo">061</span>@Category({ MediumTests.class, ClientTests.class })<a name="line.61"></a>
+<span class="sourceLineNo">062</span>public class TestAsyncRegionAdminApi extends TestAsyncAdminBase {<a name="line.62"></a>
+<span class="sourceLineNo">063</span><a name="line.63"></a>
+<span class="sourceLineNo">064</span> public static Random RANDOM = new Random(System.currentTimeMillis());<a name="line.64"></a>
<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span> @Test<a name="line.66"></a>
-<span class="sourceLineNo">067</span> public void testCloseRegion() throws Exception {<a name="line.67"></a>
-<span class="sourceLineNo">068</span> TableName TABLENAME = TableName.valueOf("TestHBACloseRegion");<a name="line.68"></a>
-<span class="sourceLineNo">069</span> createTableWithDefaultConf(TABLENAME);<a name="line.69"></a>
+<span class="sourceLineNo">066</span> private void createTableWithDefaultConf(TableName TABLENAME) throws Exception {<a name="line.66"></a>
+<span class="sourceLineNo">067</span> HTableDescriptor htd = new HTableDescriptor(TABLENAME);<a name="line.67"></a>
+<span class="sourceLineNo">068</span> HColumnDescriptor hcd = new HColumnDescriptor("value");<a name="line.68"></a>
+<span class="sourceLineNo">069</span> htd.addFamily(hcd);<a name="line.69"></a>
<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span> HRegionInfo info = null;<a name="line.71"></a>
-<span class="sourceLineNo">072</span> HRegionServer rs = TEST_UTIL.getRSForFirstRegionInTable(TABLENAME);<a name="line.72"></a>
-<span class="sourceLineNo">073</span> List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());<a name="line.73"></a>
-<span class="sourceLineNo">074</span> for (HRegionInfo regionInfo : onlineRegions) {<a name="line.74"></a>
-<span class="sourceLineNo">075</span> if (!regionInfo.getTable().isSystemTable()) {<a name="line.75"></a>
-<span class="sourceLineNo">076</span> info = regionInfo;<a name="line.76"></a>
-<span class="sourceLineNo">077</span> boolean closed = admin.closeRegionWithEncodedRegionName(regionInfo.getEncodedName(),<a name="line.77"></a>
-<span class="sourceLineNo">078</span> rs.getServerName().getServerName()).get();<a name="line.78"></a>
-<span class="sourceLineNo">079</span> assertTrue(closed);<a name="line.79"></a>
-<span class="sourceLineNo">080</span> }<a name="line.80"></a>
-<span class="sourceLineNo">081</span> }<a name="line.81"></a>
-<span class="sourceLineNo">082</span> boolean isInList = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices()).contains(info);<a name="line.82"></a>
-<span class="sourceLineNo">083</span> long timeout = System.currentTimeMillis() + 10000;<a name="line.83"></a>
-<span class="sourceLineNo">084</span> while ((System.currentTimeMillis() < timeout) && (isInList)) {<a name="line.84"></a>
-<span class="sourceLineNo">085</span> Thread.sleep(100);<a name="line.85"></a>
-<span class="sourceLineNo">086</span> isInList = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices()).contains(info);<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> assertFalse("The region should not be present in online regions list.", isInList);<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> @Test<a name="line.92"></a>
-<span class="sourceLineNo">093</span> public void testCloseRegionIfInvalidRegionNameIsPassed() throws Exception {<a name="line.93"></a>
-<span class="sourceLineNo">094</span> final String name = "TestHBACloseRegion1";<a name="line.94"></a>
-<span class="sourceLineNo">095</span> byte[] TABLENAME = Bytes.toBytes(name);<a name="line.95"></a>
-<span class="sourceLineNo">096</span> createTableWithDefaultConf(TableName.valueOf(TABLENAME));<a name="line.96"></a>
-<span class="sourceLineNo">097</span><a name="line.97"></a>
-<span class="sourceLineNo">098</span> HRegionInfo info = null;<a name="line.98"></a>
-<span class="sourceLineNo">099</span> HRegionServer rs = TEST_UTIL.getRSForFirstRegionInTable(TableName.valueOf(TABLENAME));<a name="line.99"></a>
-<span class="sourceLineNo">100</span> List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());<a name="line.100"></a>
-<span class="sourceLineNo">101</span> for (HRegionInfo regionInfo : onlineRegions) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span> if (!regionInfo.isMetaTable()) {<a name="line.102"></a>
-<span class="sourceLineNo">103</span> if (regionInfo.getRegionNameAsString().contains(name)) {<a name="line.103"></a>
-<span class="sourceLineNo">104</span> info = regionInfo;<a name="line.104"></a>
-<span class="sourceLineNo">105</span> boolean catchNotServingException = false;<a name="line.105"></a>
-<span class="sourceLineNo">106</span> try {<a name="line.106"></a>
-<span class="sourceLineNo">107</span> admin.closeRegionWithEncodedRegionName("sample", rs.getServerName().getServerName())<a name="line.107"></a>
-<span class="sourceLineNo">108</span> .get();<a name="line.108"></a>
-<span class="sourceLineNo">109</span> } catch (Exception e) {<a name="line.109"></a>
-<span class="sourceLineNo">110</span> catchNotServingException = true;<a name="line.110"></a>
-<span class="sourceLineNo">111</span> // expected, ignore it<a name="line.111"></a>
-<span class="sourceLineNo">112</span> }<a name="line.112"></a>
-<span class="sourceLineNo">113</span> assertTrue(catchNotServingException);<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> }<a name="line.116"></a>
-<span class="sourceLineNo">117</span> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());<a name="line.117"></a>
-<span class="sourceLineNo">118</span> assertTrue("The region should be present in online regions list.",<a name="line.118"></a>
-<span class="sourceLineNo">119</span> onlineRegions.contains(info));<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> @Test<a name="line.122"></a>
-<span class="sourceLineNo">123</span> public void testCloseRegionWhenServerNameIsNull() throws Exception {<a name="line.123"></a>
-<span class="sourceLineNo">124</span> byte[] TABLENAME = Bytes.toBytes("TestHBACloseRegion3");<a name="line.124"></a>
-<span class="sourceLineNo">125</span> createTableWithDefaultConf(TableName.valueOf(TABLENAME));<a name="line.125"></a>
-<span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span> HRegionServer rs = TEST_UTIL.getRSForFirstRegionInTable(TableName.valueOf(TABLENAME));<a name="line.127"></a>
-<span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span> try {<a name="line.129"></a>
-<span class="sourceLineNo">130</span> List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());<a name="line.130"></a>
-<span class="sourceLineNo">131</span> for (HRegionInfo regionInfo : onlineRegions) {<a name="line.131"></a>
-<span class="sourceLineNo">132</span> if (!regionInfo.isMetaTable()) {<a name="line.132"></a>
-<span class="sourceLineNo">133</span> if (regionInfo.getRegionNameAsString().contains("TestHBACloseRegion3")) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span> admin.closeRegionWithEncodedRegionName(regionInfo.getEncodedName(), null).get();<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> }<a name="line.137"></a>
-<span class="sourceLineNo">138</span> fail("The test should throw exception if the servername passed is null.");<a name="line.138"></a>
-<span class="sourceLineNo">139</span> } catch (IllegalArgumentException e) {<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><a name="line.142"></a>
-<span class="sourceLineNo">143</span> @Test<a name="line.143"></a>
-<span class="sourceLineNo">144</span> public void testCloseRegionWhenServerNameIsEmpty() throws Exception {<a name="line.144"></a>
-<span class="sourceLineNo">145</span> byte[] TABLENAME = Bytes.toBytes("TestHBACloseRegionWhenServerNameIsEmpty");<a name="line.145"></a>
-<span class="sourceLineNo">146</span> createTableWithDefaultConf(TableName.valueOf(TABLENAME));<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span> HRegionServer rs = TEST_UTIL.getRSForFirstRegionInTable(TableName.valueOf(TABLENAME));<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span> try {<a name="line.150"></a>
-<span class="sourceLineNo">151</span> List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());<a name="line.151"></a>
-<span class="sourceLineNo">152</span> for (HRegionInfo regionInfo : onlineRegions) {<a name="line.152"></a>
-<span class="sourceLineNo">153</span> if (!regionInfo.isMetaTable()) {<a name="line.153"></a>
-<span class="sourceLineNo">154</span> if (regionInfo.getRegionNameAsString()<a name="line.154"></a>
-<span class="sourceLineNo">155</span> .contains("TestHBACloseRegionWhenServerNameIsEmpty")) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span> admin.closeRegionWithEncodedRegionName(regionInfo.getEncodedName(), " ").get();<a name="line.156"></a>
-<span class="sourceLineNo">157</span> }<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> fail("The test should throw exception if the servername passed is empty.");<a name="line.160"></a>
-<span class="sourceLineNo">161</span> } catch (IllegalArgumentException e) {<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><a name="line.164"></a>
-<span class="sourceLineNo">165</span> @Test<a name="line.165"></a>
-<span class="sourceLineNo">166</span> public void testCloseRegionWhenEncodedRegionNameIsNotGiven() throws Exception {<a name="line.166"></a>
-<span class="sourceLineNo">167</span> byte[] TABLENAME = Bytes.toBytes("TestHBACloseRegion4");<a name="line.167"></a>
-<span class="sourceLineNo">168</span> createTableWithDefaultConf(TableName.valueOf(TABLENAME));<a name="line.168"></a>
-<span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span> HRegionInfo info = null;<a name="line.170"></a>
-<span class="sourceLineNo">171</span> HRegionServer rs = TEST_UTIL.getRSForFirstRegionInTable(TableName.valueOf(TABLENAME));<a name="line.171"></a>
+<span class="sourceLineNo">071</span> admin.createTable(htd, null).get();<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> @Test<a name="line.74"></a>
+<span class="sourceLineNo">075</span> public void testCloseRegion() throws Exception {<a name="line.75"></a>
+<span class="sourceLineNo">076</span> TableName TABLENAME = TableName.valueOf("TestHBACloseRegion");<a name="line.76"></a>
+<span class="sourceLineNo">077</span> createTableWithDefaultConf(TABLENAME);<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span> HRegionInfo info = null;<a name="line.79"></a>
+<span class="sourceLineNo">080</span> HRegionServer rs = TEST_UTIL.getRSForFirstRegionInTable(TABLENAME);<a name="line.80"></a>
+<span class="sourceLineNo">081</span> List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());<a name="line.81"></a>
+<span class="sourceLineNo">082</span> for (HRegionInfo regionInfo : onlineRegions) {<a name="line.82"></a>
+<span class="sourceLineNo">083</span> if (!regionInfo.getTable().isSystemTable()) {<a name="line.83"></a>
+<span class="sourceLineNo">084</span> info = regionInfo;<a name="line.84"></a>
+<span class="sourceLineNo">085</span> boolean closed = admin.closeRegionWithEncodedRegionName(regionInfo.getEncodedName(),<a name="line.85"></a>
+<span class="sourceLineNo">086</span> rs.getServerName().getServerName()).get();<a name="line.86"></a>
+<span class="sourceLineNo">087</span> assertTrue(closed);<a name="line.87"></a>
+<span class="sourceLineNo">088</span> }<a name="line.88"></a>
+<span class="sourceLineNo">089</span> }<a name="line.89"></a>
+<span class="sourceLineNo">090</span> boolean isInList = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices()).contains(info);<a name="line.90"></a>
+<span class="sourceLineNo">091</span> long timeout = System.currentTimeMillis() + 10000;<a name="line.91"></a>
+<span class="sourceLineNo">092</span> while ((System.currentTimeMillis() < timeout) && (isInList)) {<a name="line.92"></a>
+<span class="sourceLineNo">093</span> Thread.sleep(100);<a name="line.93"></a>
+<span class="sourceLineNo">094</span> isInList = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices()).contains(info);<a name="line.94"></a>
+<span class="sourceLineNo">095</span> }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span> assertFalse("The region should not be present in online regions list.", isInList);<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> @Test<a name="line.100"></a>
+<span class="sourceLineNo">101</span> public void testCloseRegionIfInvalidRegionNameIsPassed() throws Exception {<a name="line.101"></a>
+<span class="sourceLineNo">102</span> final String name = "TestHBACloseRegion1";<a name="line.102"></a>
+<span class="sourceLineNo">103</span> byte[] TABLENAME = Bytes.toBytes(name);<a name="line.103"></a>
+<span class="sourceLineNo">104</span> createTableWithDefaultConf(TableName.valueOf(TABLENAME));<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span> HRegionInfo info = null;<a name="line.106"></a>
+<span class="sourceLineNo">107</span> HRegionServer rs = TEST_UTIL.getRSForFirstRegionInTable(TableName.valueOf(TABLENAME));<a name="line.107"></a>
+<span class="sourceLineNo">108</span> List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());<a name="line.108"></a>
+<span class="sourceLineNo">109</span> for (HRegionInfo regionInfo : onlineRegions) {<a name="line.109"></a>
+<span class="sourceLineNo">110</span> if (!regionInfo.isMetaTable()) {<a name="line.110"></a>
+<span class="sourceLineNo">111</span> if (regionInfo.getRegionNameAsString().contains(name)) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span> info = regionInfo;<a name="line.112"></a>
+<span class="sourceLineNo">113</span> boolean catchNotServingException = false;<a name="line.113"></a>
+<span class="sourceLineNo">114</span> try {<a name="line.114"></a>
+<span class="sourceLineNo">115</span> admin.closeRegionWithEncodedRegionName("sample", rs.getServerName().getServerName())<a name="line.115"></a>
+<span class="sourceLineNo">116</span> .get();<a name="line.116"></a>
+<span class="sourceLineNo">117</span> } catch (Exception e) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span> catchNotServingException = true;<a name="line.118"></a>
+<span class="sourceLineNo">119</span> // expected, ignore it<a name="line.119"></a>
+<span class="sourceLineNo">120</span> }<a name="line.120"></a>
+<span class="sourceLineNo">121</span> assertTrue(catchNotServingException);<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> }<a name="line.124"></a>
+<span class="sourceLineNo">125</span> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());<a name="line.125"></a>
+<span class="sourceLineNo">126</span> assertTrue("The region should be present in online regions list.",<a name="line.126"></a>
+<span class="sourceLineNo">127</span> onlineRegions.contains(info));<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 testCloseRegionWhenServerNameIsNull() throws Exception {<a name="line.131"></a>
+<span class="sourceLineNo">132</span> byte[] TABLENAME = Bytes.toBytes("TestHBACloseRegion3");<a name="line.132"></a>
+<span class="sourceLineNo">133</span> createTableWithDefaultConf(TableName.valueOf(TABLENAME));<a name="line.133"></a>
+<span class="sourceLineNo">134</span><a name="line.134"></a>
+<span class="sourceLineNo">135</span> HRegionServer rs = TEST_UTIL.getRSForFirstRegionInTable(TableName.valueOf(TABLENAME));<a name="line.135"></a>
+<span class="sourceLineNo">136</span><a name="line.136"></a>
+<span class="sourceLineNo">137</span> try {<a name="line.137"></a>
+<span class="sourceLineNo">138</span> List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());<a name="line.138"></a>
+<span class="sourceLineNo">139</span> for (HRegionInfo regionInfo : onlineRegions) {<a name="line.139"></a>
+<span class="sourceLineNo">140</span> if (!regionInfo.isMetaTable()) {<a name="line.140"></a>
+<span class="sourceLineNo">141</span> if (regionInfo.getRegionNameAsString().contains("TestHBACloseRegion3")) {<a name="line.141"></a>
+<span class="sourceLineNo">142</span> admin.closeRegionWithEncodedRegionName(regionInfo.getEncodedName(), null).get();<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> }<a name="line.145"></a>
+<span class="sourceLineNo">146</span> fail("The test should throw exception if the servername passed is null.");<a name="line.146"></a>
+<span class="sourceLineNo">147</span> } catch (IllegalArgumentException e) {<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><a name="line.150"></a>
+<span class="sourceLineNo">151</span> @Test<a name="line.151"></a>
+<span class="sourceLineNo">152</span> public void testCloseRegionWhenServerNameIsEmpty() throws Exception {<a name="line.152"></a>
+<span class="sourceLineNo">153</span> byte[] TABLENAME = Bytes.toBytes("TestHBACloseRegionWhenServerNameIsEmpty");<a name="line.153"></a>
+<span class="sourceLineNo">154</span> createTableWithDefaultConf(TableName.valueOf(TABLENAME));<a name="line.154"></a>
+<span class="sourceLineNo">155</span><a name="line.155"></a>
+<span class="sourceLineNo">156</span> HRegionServer rs = TEST_UTIL.getRSForFirstRegionInTable(TableName.valueOf(TABLENAME));<a name="line.156"></a>
+<span class="sourceLineNo">157</span><a name="line.157"></a>
+<span class="sourceLineNo">158</span> try {<a name="line.158"></a>
+<span class="sourceLineNo">159</span> List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());<a name="line.159"></a>
+<span class="sourceLineNo">160</span> for (HRegionInfo regionInfo : onlineRegions) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span> if (!regionInfo.isMetaTable()) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span> if (regionInfo.getRegionNameAsString()<a name="line.162"></a>
+<span class="sourceLineNo">163</span> .contains("TestHBACloseRegionWhenServerNameIsEmpty")) {<a name="line.163"></a>
+<span class="sourceLineNo">164</span> admin.closeRegionWithEncodedRegionName(regionInfo.getEncodedName(), " ").get();<a name="line.164"></a>
+<span class="sourceLineNo">165</span> }<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> fail("The test should throw exception if the servername passed is empty.");<a name="line.168"></a>
+<span class="sourceLineNo">169</span> } catch (IllegalArgumentException e) {<a name="line.169"></a>
+<span class="sourceLineNo">170</span> }<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> List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());<a name="line.173"></a>
-<span class="sourceLineNo">174</span> for (HRegionInfo regionInfo : onlineRegions) {<a name="line.174"></a>
-<span class="sourceLineNo">175</span> if (!regionInfo.isMetaTable()) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span> if (regionInfo.getRegionNameAsString().contains("TestHBACloseRegion4")) {<a name="line.176"></a>
-<span class="sourceLineNo">177</span> info = regionInfo;<a name="line.177"></a>
-<span class="sourceLineNo">178</span> boolean catchNotServingException = false;<a name="line.178"></a>
-<span class="sourceLineNo">179</span> try {<a name="line.179"></a>
-<span class="sourceLineNo">180</span> admin.closeRegionWithEncodedRegionName(regionInfo.getRegionNameAsString(),<a name="line.180"></a>
-<span class="sourceLineNo">181</span> rs.getServerName().getServerName()).get();<a name="line.181"></a>
-<span class="sourceLineNo">182</span> } catch (Exception e) {<a name="line.182"></a>
-<span class="sourceLineNo">183</span> // expected, ignore it.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> catchNotServingException = true;<a name="line.184"></a>
-<span class="sourceLineNo">185</span> }<a name="line.185"></a>
-<span class="sourceLineNo">186</span> assertTrue(catchNotServingException);<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> }<a name="line.189"></a>
-<span class="sourceLineNo">190</span> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());<a name="line.190"></a>
-<span class="sourceLineNo">191</span> assertTrue("The region should be present in online regions list.",<a name="line.191"></a>
-<span class="sourceLineNo">192</span> onlineRegions.contains(info));<a name="line.192"></a>
-<span class="sourceLineNo">193</span> }<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> @Test<a name="line.195"></a>
-<span class="sourceLineNo">196</span> public void testGetRegion() throws Exception {<a name="line.196"></a>
-<span class="sourceLineNo">197</span> AsyncHBaseAdmin rawAdmin = (AsyncHBaseAdmin) admin;<a name="line.197"></a>
-<span class="sourceLineNo">198</span><a name="line.198"></a>
-<span class="sourceLineNo">199</span> final TableName tableName = TableName.valueOf("testGetRegion");<a name="line.199"></a>
-<span class="sourceLineNo">200</span> LOG.info("Started " + tableName);<a name="line.200"></a>
-<span class="sourceLineNo">201</span> TEST_UTIL.createMultiRegionTable(tableName, HConstants.CATALOG_FAMILY);<a name="line.201"></a>
+<span class="sourceLineNo">173</span> @Test<a name="line.173"></a>
+<span class="sourceLineNo">174</span> public void testCloseRegionWhenEncodedRegionNameIsNotGiven() throws Exception {<a name="line.174"></a>
+<span class="sourceLineNo">175</span> byte[] TABLENAME = Bytes.toBytes("TestHBACloseRegion4");<a name="line.175"></a>
+<span class="sourceLineNo">176</span> createTableWithDefaultConf(TableName.valueOf(TABLENAME));<a name="line.176"></a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span> HRegionInfo info = null;<a name="line.178"></a>
+<span class="sourceLineNo">179</span> HRegionServer rs = TEST_UTIL.getRSForFirstRegionInTable(TableName.valueOf(TABLENAME));<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span> List<HRegionInfo> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());<a name="line.181"></a>
+<span class="sourceLineNo">182</span> for (HRegionInfo regionInfo : onlineRegions) {<a name="line.182"></a>
+<span class="sourceLineNo">183</span> if (!regionInfo.isMetaTable()) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span> if (regionInfo.getRegionNameAsString().contains("TestHBACloseRegion4")) {<a name="line.184"></a>
+<span class="sourceLineNo">185</span> info = regionInfo;<a name="line.185"></a>
+<span class="sourceLineNo">186</span> boolean catchNotServingException = false;<a name="line.186"></a>
+<span class="sourceLineNo">187</span> try {<a name="line.187"></a>
+<span class="sourceLineNo">188</span> admin.closeRegionWithEncodedRegionName(regionInfo.getRegionNameAsString(),<a name="line.188"></a>
+<span class="sourceLineNo">189</span> rs.getServerName().getServerName()).get();<a name="line.189"></a>
+<span class="sourceLineNo">190</span> } catch (Exception e) {<a name="line.190"></a>
+<span class="sourceLineNo">191</span> // expected, ignore it.<a name="line.191"></a>
+<span class="sourceLineNo">192</span> catchNotServingException = true;<a name="line.192"></a>
+<span class="sourceLineNo">193</span> }<a name="line.193"></a>
+<span class="sourceLineNo">194</span> assertTrue(catchNotServingException);<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> }<a name="line.197"></a>
+<span class="sourceLineNo">198</span> onlineRegions = ProtobufUtil.getOnlineRegions(rs.getRSRpcServices());<a name="line.198"></a>
+<span class="sourceLineNo">199</span> assertTrue("The region should be present in online regions list.",<a name="line.199"></a>
+<span class="sourceLineNo">200</span> onlineRegions.contains(info));<a name="line.200"></a>
+<span class="sourceLineNo">201</span> }<a name="line.201"></a>
<span class="sourceLineNo">202</span><a name="line.202"></a>
-<span class="sourceLineNo">203</span> try (RegionLocator locator = TEST_UTIL.getConnection().getRegionLocator(tableName)) {<a name="line.203"></a>
-<span class="sourceLineNo">204</span> HRegionLocation regionLocation = locator.getRegionLocation(Bytes.toBytes("mmm"));<a name="line.204"></a>
-<span class="sourceLineNo">205</span> HRegionInfo region = regionLocation.getRegionInfo();<a name="line.205"></a>
-<span class="sourceLineNo">206</span> byte[] regionName = region.getRegionName();<a name="line.206"></a>
-<span class="sourceLineNo">207</span> Pair<HRegionInfo, ServerName> pair = rawAdmin.getRegion(regionName).get();<a name="line.207"></a>
-<span class="sourceLineNo">208</span> assertTrue(Bytes.equals(regionName, pair.getFirst().getRegionName()));<a name="line.208"></a>
-<span class="sourceLineNo">209</span> pair = rawAdmin.getRegion(region.getEncodedNameAsBytes()).get();<a name="line.209"></a>
-<span class="sourceLineNo">210</span> assertTrue(Bytes.equals(regionName, pair.getFirst().getRegionName()));<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><a name="line.213"></a>
-<span class="sourceLineNo">214</span> @Test<a name="line.214"></a>
-<span class="sourceLineNo">215</span> public void testMergeRegions() throws Exception {<a name="line.215"></a>
-<span class="sourceLineNo">216</span> final TableName tableName = TableName.valueOf("testMergeRegions");<a name="line.216"></a>
-<span class="sourceLineNo">217</span> HColumnDescriptor cd = new HColumnDescriptor("d");<a name="line.217"></a>
-<span class="sourceLineNo">218</span> HTableDescriptor td = new HTableDescriptor(tableName);<a name="line.218"></a>
-<span class="sourceLineNo">219</span> td.addFamily(cd);<a name="line.219"></a>
-<span class="sourceLineNo">220</span> byte[][] splitRows = new byte[][] { Bytes.toBytes("3"), Bytes.toBytes("6") };<a name="line.220"></a>
-<span class="sourceLineNo">221</span> Admin syncAdmin = TEST_UTIL.getAdmin();<a name="line.221"></a>
-<span class="sourceLineNo">222</span> try {<a name="line.222"></a>
-<span class="sourceLineNo">223</span> TEST_UTIL.createTable(td, splitRows);<a name="line.223"></a>
-<span class="sourceLineNo">224</span> TEST_UTIL.waitTableAvailable(tableName);<a name="line.224"></a>
-<span class="sourceLineNo">225</span><a name="line.225"></a>
-<span class="sourceLineNo">226</span> List<HRegionInfo> tableRegions;<a name="line.226"></a>
-<span class="sourceLineNo">227</span> HRegionInfo regionA;<a name="line.227"></a>
-<span class="sourceLineNo">228</span> HRegionInfo regionB;<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span> // merge with full name<a name="line.230"></a>
-<span class="sourceLineNo">231</span> tableRegions = syncAdmin.getTableRegions(tableName);<a name="line.231"></a>
-<span class="sourceLineNo">232</span> assertEquals(3, syncAdmin.getTableRegions(tableName).size());<a name="line.232"></a>
-<span class="sourceLineNo">233</span> regionA = tableRegions.get(0);<a name="line.233"></a>
-<span class="sourceLineNo">234</span> regionB = tableRegions.get(1);<a name="line.234"></a>
-<span class="sourceLineNo">235</span> admin.mergeRegions(regionA.getRegionName(), regionB.getRegionName(), false).get();<a name="line.235"></a>
-<span class="sourceLineNo">236</span><a name="line.236"></a>
-<span class="sourceLineNo">237</span> assertEquals(2, syncAdmin.getTableRegions(tableName).size());<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span> // merge with encoded name<a name="line.239"></a>
-<span class="sourceLineNo">240</span> tableRegions = syncAdmin.getTableRegions(tableName);<a name="line.240"></a>
+<span class="sourceLineNo">203</span> @Test<a name="line.203"></a>
+<span class="sourceLineNo">204</span> public void testGetRegion() throws Exception {<a name="line.204"></a>
+<span class="sourceLineNo">205</span> AsyncHBaseAdmin rawAdmin = (AsyncHBaseAdmin) admin;<a name="line.205"></a>
+<span class="sourceLineNo">206</span><a name="line.206"></a>
+<span class="sourceLineNo">207</span> final TableName tableName = TableName.valueOf("testGetRegion");<a name="line.207"></a>
+<span class="sourceLineNo">208</span> LOG.info("Started " + tableName);<a name="line.208"></a>
+<span class="sourceLineNo">209</span> TEST_UTIL.createMultiRegionTable(tableName, HConstants.CATALOG_FAMILY);<a name="line.209"></a>
+<span class="sourceLineNo">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> try (RegionLocator locator = TEST_UTIL.getConnection().getRegionLocator(tableName)) {<a name="line.211"></a>
+<span class="sourceLineNo">212</span> HRegionLocation regionLocation = locator.getRegionLocation(Bytes.toBytes("mmm"));<a name="line.212"></a>
+<span class="sourceLineNo">213</span> HRegionInfo region = regionLocation.getRegionInfo();<a name="line.213"></a>
+<span class="sourceLineNo">214</span> byte[] regionName = region.getRegionName();<a name="line.214"></a>
+<span class="sourceLineNo">215</span> Pair<HRegionInfo, ServerName> pair = rawAdmin.getRegion(regionName).get();<a name="line.215"></a>
+<span class="sourceLineNo">216</span> assertTrue(Bytes.equals(regionName, pair.getFirst().getRegionName()));<a name="line.216"></a>
+<span class="sourceLineNo">217</span> pair = rawAdmin.getRegion(region.getEncodedNameAsBytes()).get();<a name="line.217"></a>
+<span class="sourceLineNo">218</span> assertTrue(Bytes.equals(regionName, pair.getFirst().getRegionName()));<a name="line.218"></a>
+<span class="sourceLineNo">219</span> }<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> @Test<a name="line.222"></a>
+<span class="sourceLineNo">223</span> public void testMergeRegions() throws Exception {<a name="line.223"></a>
+<span class="sourceLineNo">224</span> final TableName tableName = TableName.valueOf("testMergeRegions");<a name="line.224"></a>
+<span class="sourceLineNo">225</span> HColumnDescriptor cd = new HColumnDescriptor("d");<a name="line.225"></a>
+<span class="sourceLineNo">226</span> HTableDescriptor td = new HTableDescriptor(tableName);<a name="line.226"></a>
+<span class="sourceLineNo">227</span> td.addFamily(cd);<a name="line.227"></a>
+<span class="sourceLineNo">228</span> byte[][] splitRows = new byte[][] { Bytes.toBytes("3"), Bytes.toBytes("6") };<a name="line.228"></a>
+<span class="sourceLineNo">229</span> Admin syncAdmin = TEST_UTIL.getAdmin();<a name="line.229"></a>
+<span class="sourceLineNo">230</span> try {<a name="line.230"></a>
+<span class="sourceLineNo">231</span> TEST_UTIL.createTable(td, splitRows);<a name="line.231"></a>
+<span class="sourceLineNo">232</span> TEST_UTIL.waitTableAvailable(tableName);<a name="line.232"></a>
+<span class="sourceLineNo">233</span><a name="line.233"></a>
+<span class="sourceLineNo">234</span> List<HRegionInfo> tableRegions;<a name="line.234"></a>
+<span class="sourceLineNo">235</span> HRegionInfo regionA;<a name="line.235"></a>
+<span class="sourceLineNo">236</span> HRegionInfo regionB;<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span> // merge with full name<a name="line.238"></a>
+<span class="sourceLineNo">239</span> tableRegions = syncAdmin.getTableRegions(tableName);<a name="line.239"></a>
+<span class="sourceLineNo">240</span> assertEquals(3, syncAdmin.getTableRegions(tableName).size());<a name="line.240"></a>
<span class="sourceLineNo">241</span> regionA = tableRegions.get(0);<a name="line.241"></a>
<span class="sourceLineNo">242</span> regionB = tableRegions.get(1);<a name="line.242"></a>
<span class="sourceLineNo">243</span> admin.mergeRegions(regionA.getRegionName(), regionB.getRegionName(), false).get();<a name="line.243"></a>
<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span> assertEquals(1, syncAdmin.getTableRegions(tableName).size());<a name="line.245"></a>
-<span class="sourceLineNo">246</span> } finally {<a name="line.246"></a>
-<span class="sourceLineNo">247</span> syncAdmin.disableTable(tableName);<a name="line.247"></a>
-<span class="sourceLineNo">248</span> syncAdmin.deleteTable(tableName);<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<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> @Test<a name="line.252"></a>
-<span class="sourceLineNo">253</span> public void testSplitTable() throws Exception {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> splitTests(TableName.valueOf("testSplitTable"), 3000, false, null);<a name="line.254"></a>
-<span class="sourceLineNo">255</span> splitTests(TableName.valueOf("testSplitTableWithSplitPoint"), 3000, false, Bytes.toBytes("3"));<a name="line.255"></a>
-<span class="sourceLineNo">256</span> splitTests(TableName.valueOf("testSplitRegion"), 3000, true, null);<a name="line.256"></a>
-<span class="sourceLineNo">257</span> splitTests(TableName.valueOf("testSplitRegionWithSplitPoint"), 3000, true, Bytes.toBytes("3"));<a name="line.257"></a>
+<span class="sourceLineNo">245</span> assertEquals(2, syncAdmin.getTableRegions(tableName).size());<a name="line.245"></a>
+<span class="sourceLineNo">246</span><a name="line.246"></a>
+<span class="sourceLineNo">247</span> // merge with encoded name<a name="line.247"></a>
+<span class="sourceLineNo">248</span> tableRegions = syncAdmin.getTableRegions(tableName);<a name="line.248"></a>
+<span class="sourceLineNo">249</span> regionA = tableRegions.get(0);<a name="line.249"></a>
+<span class="sourceLineNo">250</span> regionB = tableRegions.get(1);<a name="line.250"></a>
+<span class="sourceLineNo">251</span> admin.mergeRegions(regionA.getRegionName(), regionB.getRegionName(), false).get();<a name="line.251"></a>
+<span class="sourceLineNo">252</span><a name="line.252"></a>
+<span class="sourceLineNo">253</span> assertEquals(1, syncAdmin.getTableRegions(tableName).size());<a name="line.253"></a>
+<span class="sourceLineNo">254</span> } finally {<a name="line.254"></a>
+<span class="sourceLineNo">255</span> syncAdmin.disableTable(tableName);<a name="line.255"></a>
+<span class="sourceLineNo">256</span> syncAdmin.deleteTable(tableName);<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><a name="line.259"></a>
-<span class="sourceLineNo">260</span> private void splitTests(TableName tableName, int rowCount, boolean isSplitRegion,<a name="line.260"></a>
-<span class="sourceLineNo">261</span> byte[] splitPoint) throws Exception {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> int count = 0;<a name="line.262"></a>
-<span class="sourceLineNo">263</span> // create table<a name="line.263"></a>
-<span class="sourceLineNo">264</span> HColumnDescriptor cd = new HColumnDescriptor("d");<a name="line.264"></a>
-<span class="sourceLineNo">265</span> HTableDescriptor td = new HTableDescriptor(tableName);<a name="line.265"></a>
-<span class="sourceLineNo">266</span> td.addFamily(cd);<a name="line.266"></a>
-<span class="sourceLineNo">267</span> Table table = TEST_UTIL.createTable(td, null);<a name="line.267"></a>
-<span class="sourceLineNo">268</span> TEST_UTIL.waitTableAvailable(tableName);<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span> List<HRegionInfo> regions = TEST_UTIL.getAdmin().getTableRegions(tableName);<a name="line.270"></a>
-<span class="sourceLineNo">271</span> assertEquals(regions.size(), 1);<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> List<Put> puts = new ArrayList<>();<a name="line.273"></a>
-<span class="sourceLineNo">274</span> for (int i = 0; i < rowCount; i++) {<a name="line.274"></a>
-<span class="sourceLineNo">275</span> Put put = new Put(Bytes.toBytes(i));<a name="line.275"></a>
-<span class="sourceLineNo">276</span> put.addColumn(Bytes.toBytes("d"), null, Bytes.toBytes("value" + i));<a name="line.276"></a>
-<span class="sourceLineNo">277</span> puts.add(put);<a name="line.277"></a>
-<span class="sourceLineNo">278</span> }<a name="line.278"></a>
-<span class="sourceLineNo">279</span> table.put(puts);<a name="line.279"></a>
+<span class="sourceLineNo">260</span> @Test<a name="line.260"></a>
+<span class="sourceLineNo">261</span> public void testSplitTable() throws Exception {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> splitTests(TableName.valueOf("testSplitTable"), 3000, false, null);<a name="line.262"></a>
+<span class="sourceLineNo">263</span> splitTests(TableName.valueOf("testSplitTableWithSplitPoint"), 3000, false, Bytes.toBytes("3"));<a name="line.263"></a>
+<span class="sourceLineNo">264</span> splitTests(TableName.valueOf("testSplitRegion"), 3000, true, null);<a name="line.264"></a>
+<span class="sourceLineNo">265</span> splitTests(TableName.valueOf("testSplitRegionWithSplitPoint"), 3000, true, Bytes.toBytes("3"));<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> private void splitTests(TableName tableName, int rowCount, boolean isSplitRegion,<a name="line.268"></a>
+<span class="sourceLineNo">269</span> byte[] splitPoint) throws Exception {<a name="line.269"></a>
+<span class="sourceLineNo">270</span> int count = 0;<a name="line.270"></a>
+<span class="sourceLineNo">271</span> // create table<a name="line.271"></a>
+<span class="sourceLineNo">272</span> HColumnDescriptor cd = new HColumnDescriptor("d");<a name="line.272"></a>
+<span class="sourceLineNo">273</span> HTableDescriptor td = new HTableDescriptor(tableName);<a name="line.273"></a>
+<span class="sourceLineNo">274</span> td.addFamily(cd);<a name="line.274"></a>
+<span class="sourceLineNo">275</span> Table table = TEST_UTIL.createTable(td, null);<a name="line.275"></a>
+<span class="sourceLineNo">276</span> TEST_UTIL.waitTableAvailable(tableName);<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span> List<HRegionInfo> regions = TEST_UTIL.getAdmin().getTableRegions(tableName);<a name="line.278"></a>
+<span class="sourceLineNo">279</span> assertEquals(regions.size(), 1);<a name="line.279"></a>
<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span> if (isSplitRegion) {<a name="line.281"></a>
-<span class="sourceLineNo">282</span> admin.splitRegion(regions.get(0).getRegionName(), splitPoint).get();<a name="line.282"></a>
-<span class="sourceLineNo">283</span> } else {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> if (splitPoint == null) {<a name="line.284"></a>
-<span class="sourceLineNo">285</span> admin.split(tableName).get();<a name="line.285"></a>
-<span class="sourceLineNo">286</span> } else {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> admin.split(tableName, splitPoint).get();<a name="line.287"></a>
-<span class="sourceLineNo">288</span> }<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> for (int i = 0; i < 45; i++) {<a name="line.291"></a>
-<span class="sourceLineNo">292</span> try {<a name="line.292"></a>
-<span class="sourceLineNo">293</span> List<HRegionInfo> hRegionInfos = TEST_UTIL.getAdmin().getTableRegions(tableName);<a name="line.293"></a>
-<span class="sourceLineNo">294</span> count = hRegionInfos.size();<a name="line.294"></a>
-<span class="sourceLineNo">295</span> if (count >= 2) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span> break;<a name="line.296"></a>
-<span class="sourceLineNo">297</span> }<a name="line.297"></a>
-<span class="sourceLineNo">298</span> Thread.sleep(1000L);<a name="line.298"></a>
-<span class="sourceLineNo">299</span> } catch (Exception e) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> LOG.error(e);<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> assertEquals(count, 2);<a name="line.304"></a>
-<span class="sourceLineNo">305</span> }<a name="line.305"></a>
-<span class="sourceLineNo">306</span><a name="line.306"></a>
-<span class="sourceLineNo">307</span> @Test<a name="line.307"></a>
-<span class="sourceLineNo">308</span> public void testAssignRegionAndUnassignRegion() throws Exception {<a name="line.308"></a>
-<span class="sourceLineNo">309</span> final TableName tableName = TableName.valueOf("testAssignRegionAndUnassignRegion");<a name="line.309"></a>
-<span class="sourceLineNo">310</span> try {<a name="line.310"></a>
-<span class="sourceLineNo">311</span> // create test table<a name="line.311"></a>
-<span class="sourceLineNo">312</span> HTableDescriptor desc = new HTableDescriptor(tableName);<a name="line.312"></a>
-<span class="sourceLineNo">313</span> desc.addFamily(new HColumnDescriptor(FAMILY));<a name="line.313"></a>
-<span class="sourceLineNo">314</span> admin.createTable(desc).get();<a name="line.314"></a>
-<span class="sourceLineNo">315</span><a name="line.315"></a>
-<span class="sourceLineNo">316</span> // add region to meta.<a name="line.316"></a>
-<span class="sourceLineNo">317</span> Table meta = TEST_UTIL.getConnection().getTable(TableName.META_TABLE_NAME);<a name="line.317"></a>
-<span class="sourceLineNo">318</span> HRegionInfo hri =<a name="line.318"></a>
-<span class="sourceLineNo">319</span> new HRegionInfo(desc.getTableName(), Bytes.toBytes("A"), Bytes.toBytes("Z"));<a name="line.319"></a>
-<span class="sourceLineNo">320</span> MetaTableAccessor.addRegionToMeta(meta, hri);<a name="line.320"></a>
-<span class="sourceLineNo">321</span><a name="line.321"></a>
-<span class="sourceLineNo">322</span> // assign region.<a name="line.322"></a>
-<span class="sourceLineNo">323</span> HMaster master = TEST_UTIL.getHBaseCluster().getMaster();<a name="line.323"></a>
-<span class="sourceLineNo">324</span> AssignmentManager am = master.getAssignmentManager();<a name="line.324"></a>
-<span class="sourceLineNo">325</span> admin.assign(hri.getRegionName()).get();<a name="line.325"></a>
-<span class="sourceLineNo">326</span> am.waitForAssignment(hri);<a name="line.326"></a>
-<span class="sourceLineNo">327</span><a name="line.327"></a>
-<span class="sourceLineNo">328</span> // assert region on server<a name="line.328"></a>
-<span class="sourceLineNo">329</span> RegionStates regionStates = am.getRegionStates();<a name="line.329"></a>
-<span class="sourceLineNo">330</span> ServerName serverName = regionStates.getRegionServerOfRegion(hri);<a name="line.330"></a>
-<span class="sourceLineNo">331</span> TEST_UTIL.assertRegionOnServer(hri, serverName, 200);<a name="line.331"></a>
-<span class="sourceLineNo">332</span> assertTrue(regionStates.getRegionState(hri).isOpened());<a name="line.332"></a>
-<span class="sourceLineNo">333</span><a name="line.333"></a>
-<span class="sourceLineNo">334</span> // Region is assigned now. Let's assign it again.<a name="line.334"></a>
-<span class="sourceLineNo">335</span> // Master should not abort, and region should be assigned.<a name="line.335"></a>
-<span class="sourceLineNo">336</span> admin.assign(hri.getRegionName()).get();<a name="line.336"></a>
-<span class="sourceLineNo">337</span> am.waitForAssignment(hri);<a name="line.337"></a>
-<span class="sourceLineNo">338</span> assertTrue(regionStates.getRegionState(hri).isOpened());<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span> // unassign region<a name="line.340"></a>
-<span class="sourceLineNo">341</span> admin.unassign(hri.getRegionName(), true).get();<a name="line.341"></a>
-<span class="sourceLineNo">342</span> am.waitForAssignment(hri);<a name="line.342"></a>
-<span class="sourceLineNo">343</span> assertTrue(regionStates.getRegionState(hri).isOpened());<a name="line.343"></a>
-<span class="sourceLineNo">344</span> } finally {<a name="line.344"></a>
-<span class="sourceLineNo">345</span> TEST_UTIL.deleteTable(tableName);<a name="line.345"></a>
-<span class="sourceLineNo">346</span> }<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> HRegionInfo createTableAndGetOneRegion(final TableName tableName)<a name="line.349"></a>
-<span class="sourceLineNo">350</span> throws IOException, InterruptedException {<a name="line.350"></a>
-<span class="sourceLineNo">351</span> HTableDescriptor desc = new HTableDescriptor(tableName);<a name="line.351"></a>
-<span class="sourceLineNo">352</span> desc.addFamily(new HColumnDescriptor(FAMILY));<a name="line.352"></a>
-<span class="sourceLineNo">353</span> admin.createTable(desc, Bytes.toBytes("A"), Bytes.toBytes("Z"), 5);<a name="line.353"></a>
-<span class="sourceLineNo">354</span><a name="line.354"></a>
-<span class="sourceLineNo">355</span> // wait till the table is assigned<a name="line.355"></a>
-<span class="sourceLineNo">356</span> HMaster master = TEST_UTIL.getHBaseCluster().getMaster();<a name="line.356"></a>
-<span class="sourceLineNo">357</span> long timeoutTime = System.currentTimeMillis() + 3000;<a name="line.357"></a>
-<span class="sourceLineNo">358</span> while (true) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> List<HRegionInfo> regions =<a name="line.359"></a>
-<span class="sourceLineNo">360</span> master.getAssignmentManager().getRegionStates().getRegionsOfTable(tableName);<a name="line.360"></a>
-<span class="sourceLineNo">361</span> if (regions.size() > 3) {<a name="line.361"></a>
-<span class="sourceLineNo">362</span> return regions.get(2);<a name="line.362"></a>
-<span class="sourceLineNo">363</span> }<a name="line.363"></a>
-<span class="sourceLineNo">364</span> long now = System.currentTimeMillis();<a name="line.364"></a>
-<span class="sourceLineNo">365</span> if (now > timeoutTime) {<a name="line.365"></a>
-<span class="sourceLineNo">366</span> fail("Could not find an online region");<a name="line.366"></a>
-<span class="sourceLineNo">367</span> }<a name="line.367"></a>
-<span class="sourceLineNo">368</span> Thread.sleep(10);<a name="line.368"></a>
-<span class="sourceLineNo">369</span> }<a name="line.369"></a>
-<span class="sourceLineNo">370</span> }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span> @Test<a name="line.372"></a>
-<span class="sourceLineNo">373</span> public void testOfflineRegion() throws Exception {<a name="line.373"></a>
-<span class="sourceLineNo">374</span> final TableName tableName = TableName.valueOf("testOfflineRegion");<a name="line.374"></a>
-<span class="sourceLineNo">375</span> try {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> HRegionInfo hri = createTableAndGetOneRegion(tableName);<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span> RegionStates regionStates =<a name="line.378"></a>
-<span class="sourceLineNo">379</span> TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager().getRegionStates();<a name="line.379"></a>
-<span class="sourceLineNo">380</span> ServerName serverName = regionStates.getRegionServerOfRegion(hri);<a name="line.380"></a>
-<span class="sourceLineNo">381</span> TEST_UTIL.assertRegionOnServer(hri, serverName, 200);<a name="line.381"></a>
-<span class="sourceLineNo">382</span> admin.offline(hri.getRegionName()).get();<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span> long timeoutTime = System.currentTimeMillis() + 3000;<a name="line.384"></a>
-<span class="sourceLineNo">385</span> while (true) {<a name="line.385"></a>
-<span class="sourceLineNo">386</span> if (regionStates.getRegionByStateOfTable(tableName).get(RegionState.State.OFFLINE)<a name="line.386"></a>
-<span class="sourceLineNo">387</span> .contains(hri))<a name="line.387"></a>
-<span class="sourceLineNo">388</span> break;<a name="line.388"></a>
-<span class="sourceLineNo">389</span> long now = System.currentTimeMillis();<a name="line.389"></a>
-<span class="sourceLineNo">390</span> if (now > timeoutTime) {<a name="line.390"></a>
-<span class="sourceLineNo">391</span> fail("Failed to offline the region in time");<a name="line.391"></a>
-<span class="sourceLineNo">392</span> break;<a name="line.392"></a>
-<span class="sourceLineNo">393</span> }<a name="line.393"></a>
-<span class="sourceLineNo">394</span> Thread.sleep(10);<a name="line.394"></a>
-<span class="sourceLineNo">395</span> }<a name="line.395"></a>
-<span class="sourceLineNo">396</span> RegionState regionState = regionStates.getRegionState(hri);<a name="line.396"></a>
-<span class="sourceLineNo">397</span> assertTrue(regionState.isOffline());<a name="line.397"></a>
-<span class="sourceLineNo">398</span> } finally {<a name="line.398"></a>
-<span class="sourceLineNo">399</span> TEST_UTIL.deleteTable(tableName);<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><a name="line.402"></a>
-<span class="sourceLineNo">403</span> @Test<a name="line.403"></a>
-<span class="sourceLineNo">404</span> public void testMoveRegion() throws Exception {<a name="line.404"></a>
-<span class="sourceLineNo">405</span> final TableName tableName = TableName.valueOf("testMoveRegion");<a name="line.405"></a>
-<span class="sourceLineNo">406</span> try {<a name="line.406"></a>
-<span class="sourceLineNo">407</span> HRegionInfo hri = createTableAndGetOneRegion(tableName);<a name="line.407"></a>
-<span class="sourceLineNo">408</span><a name="line.408"></a>
-<span class="sourceLineNo">409</span> HMaster master = TEST_UTIL.getHBaseCluster().getMaster();<a name="line.409"></a>
-<span class="sourceLineNo">410</span> RegionStates regionStates = master.getAssignmentManager().getRegionStates();<a name="line.410"></a>
-<span class="sourceLineNo">411</span> ServerName serverName = regionStates.getRegionServerOfRegion(hri);<a name="line.411"></a>
-<span class="sourceLineNo">412</span> ServerManager serverManager = master.getServerManager();<a name="line.412"></a>
-<span class="sourceLineNo">413</span> ServerName destServerName = null;<a name="line.413"></a>
-<span class="sourceLineNo">414</span> List<JVMClusterUtil.RegionServerThread> regionServers =<a name="line.414"></a>
-<span class="sourceLineNo">415</span> TEST_UTIL.getHBaseCluster().getLiveRegionServerThreads();<a name="line.415"></a>
-<span class="sourceLineNo">416</span> for (JVMClusterUtil.RegionServerThread regionServer : regionServers) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span> HRegionServer destServer = regionServer.getRegionServer();<a name="line.417"></a>
-<span class="sourceLineNo">418</span> destServerName = destServer.getServerName();<a name="line.418"></a>
-<span class="sourceLineNo">419</span> if (!destServerName.equals(serverName) && serverManager.isServerOnline(destServerName)) {<a name="line.419"></a>
-<span class="sourceLineNo">420</span> break;<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> assertTrue(destServerName != null && !destServerName.equals(serverName));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> admin.move(hri.getEncodedNameAsBytes(), Bytes.toBytes(destServerName.getServerName())).get();<a name="line.424"></a>
-<span class="sourceLineNo">425</span><a name="line.425"></a>
-<span class="sourceLineNo">426</span> long timeoutTime = System.currentTimeMillis() + 30000;<a name="line.426"></a>
-<span class="sourceLineNo">427</span> while (true) {<a name="line.427"></a>
-<span class="sourceLineNo">428</span> ServerName sn = regionStates.getRegionServerOfRegion(hri);<a name="line.428"></a>
-<span class="sourceLineNo">429</span> if (sn != null && sn.equals(destServerName)) {<a name="line.429"></a>
-<span class="sourceLineNo">430</span> TEST_UTIL.assertRegionOnServer(hri, sn, 200);<a name="line.430"></a>
-<span class="sourceLineNo">431</span> break;<a name="line.431"></a>
-<span class="sourceLineNo">432</span> }<a name="line.432"></a>
-<span class="sourceLineNo">433</span> long now = System.currentTimeMillis();<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (now > timeoutTime) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> fail("Failed to move the region in time: " + regionStates.getRegionState(hri));<a name="line.435"></a>
-<span class="sourceLineNo">436</span> }<a name="line.436"></a>
-<span class="sourceLineNo">437</span> regionStates.waitForUpdate(50);<a name="line.437"></a>
-<span class="sourceLineNo">438</span> }<a name="line.438"></a>
-<span class="sourceLineNo">439</span> } finally {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> TEST_UTIL.deleteTable(tableName);<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>}<a name="line.443"></a>
+<span class="sourceLineNo">281</span> List<Put> puts = new ArrayList<>();<a name="line.281"></a>
+<span class="sourceLineNo">282</span> for (int i = 0; i < rowCount; i++) {<a name="line.282"></a>
+<span class="sourceLineNo">283</span> Put put = new Put(Bytes.toBytes(i));<a name="line.283"></a>
+<span class="sourceLineNo">284</span> put.addColumn(Bytes.toBytes("d"), null, Bytes.toBytes("value" + i));<a name="line.284"></a>
+<span class="sourceLineNo">285</span> puts.add(put);<a name="line.285"></a>
+<span class="sourceLineNo">286</span> }<a name="line.286"></a>
+<span class="sourceLineNo">287</span> table.put(puts);<a name="line.287"></a>
+<span class="sourceLineNo">288</span><a name="line.288"></a>
+<span class="sourceLineNo">289</span> if (isSplitRegion) {<a name="line.289"></a>
+<span class="sourceLineNo">290</span> admin.splitRegion(regions.get(0).getRegionName(), splitPoint).get();<a name="line.290"></a>
+<span class="sourceLineNo">291</span> } else {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> if (splitPoint == null) {<a name="line.292"></a>
+<span class="sourceLineNo">293</span> admin.split(tableName).get();<a name="line.293"></a>
+<span class="sourceLineNo">294</span> } else {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> admin.split(tableName, splitPoint).get();<a name="line.295"></a>
+<span class="sourceLineNo">296</span> }<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> for (int i = 0; i < 45; i++) {<a name="line.299"></a>
+<span class="sourceLineNo">300</span> try {<a name="line.300"></a>
+<span class="sourceLineNo">301</span> List<HRegionInfo> hRegionInfos = TEST_UTIL.getAdmin().getTableRegions(tableName);<a name="line.301"></a>
+<span class="sourceLineNo">302</span> count = hRegionInfos.size();<a name="line.302"></a>
+<span class="sourceLineNo">303</span> if (count >= 2) {<a name="line.303"></a>
+<span class="sourceLineNo">304</span> break;<a name="line.304"></a>
+<span class="sourceLineNo">305</span> }<a name="line.305"></a>
+<span class="sourceLineNo">306</span> Thread.sleep(1000L);<a name="line.306"></a>
+<span class="sourceLineNo">307</span> } catch (Exception e) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> LOG.error(e);<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><a name="line.311"></a>
+<span class="sourceLineNo">312</span> assertEquals(count, 2);<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> @Test<a name="line.315"></a>
+<span class="sourceLineNo">316</span> public void testAssignRegionAndUnassignRegion() throws Exception {<a name="line.316"></a>
+<span class="sourceLineNo">317</span> final TableName tableName = TableName.valueOf("testAssignRegionAndUnassignRegion");<a name="line.317"></a>
+<span class="sourceLineNo">318</span> try {<a name="line.318"></a>
+<span class="sourceLineNo">319</span> // create test table<a name="line.319"></a>
+<span class="sourceLineNo">320</span> HTableDescriptor desc = new HTableDescriptor(tableName);<a name="line.320"></a>
+<span class="sourceLineNo">321</span> desc.addFamily(new HColumnDescriptor(FAMILY));<a name="line.321"></a>
+<span class="sourceLineNo">322</span> admin.createTable(desc).get();<a name="line.322"></a>
+<span class="sourceLineNo">323</span><a name="line.323"></a>
+<span class="sourceLineNo">324</span> // add region to meta.<a name="line.324"></a>
+<span class="sourceLineNo">325</span> Table meta = TEST_UTIL.getConnection().getTable(TableName.META_TABLE_NAME);<a name="line.325"></a>
+<span class="sourceLineNo">326</span> HRegionInfo hri =<a name="line.326"></a>
+<span class="sourceLineNo">327</span> new HRegionInfo(desc.getTableName(), Bytes.toBytes("A"), Bytes.toBytes("Z"));<a name="line.327"></a>
+<span class="sourceLineNo">328</span> MetaTableAccessor.addRegionToMeta(meta, hri);<a name="line.328"></a>
+<span class="sourceLineNo">329</span><a name="line.329"></a>
+<span class="sourceLineNo">330</span> // assign region.<a name="line.330"></a>
+<span class="sourceLineNo">331</span> HMaster master = TEST_UTIL.getHBaseCluster().getMaster();<a name="line.331"></a>
+<span class="sourceLineNo">332</span> AssignmentManager am = master.getAssignmentManager();<a name="line.332"></a>
+<span class="sourceLineNo">333</span> admin.assign(hri.getRegionName()).get();<a name="line.333"></a>
+<span class="sourceLineNo">334</span> am.waitForAssignment(hri);<a name="line.334"></a>
+<span class="sourceLineNo">335</span><a name="line.335"></a>
+<span class="sourceLineNo">336</span> // assert region on server<a name="line.336"></a>
+<span class="sourceLineNo">337</span> RegionStates regionStates = am.getRegionStates();<a name="line.337"></a>
+<span class="sourceLineNo">338</span> ServerName serverName = regionStates.getRegionServerOfRegion(hri);<a name="line.338"></a>
+<span class="sourceLineNo">339</span> TEST_UTIL.assertRegionOnServer(hri, serverName, 200);<a name="line.339"></a>
+<span class="sourceLineNo">340</span> assertTrue(regionStates.getRegionState(hri).isOpened());<a name="line.340"></a>
+<span class="sourceLineNo">341</span><a name="line.341"></a>
+<span class="sourceLineNo">342</span> // Region is assigned now. Let's assign it again.<a name="line.342"></a>
+<span class="sourceLineNo">343</span> // Master should not abort, and region should be assigned.<a name="line.343"></a>
+<span class="sourceLineNo">344</span> admin.assign(hri.getRegionName()).get();<a name="line.344"></a>
+<span class="sourceLineNo">345</span> am.waitForAssignment(hri);<a name="line.345"></a>
+<span class="sourceLineNo">346</span> assertTrue(regionStates.getRegionState(hri).isOpened());<a name="line.346"></a>
+<span class="sourceLineNo">347</span><a name="line.347"></a>
+<span class="sourceLineNo">348</span> // unassign region<a name="line.348"></a>
+<span class="sourceLineNo">349</span> admin.unassign(hri.getRegionName(), true).get();<a name="line.349"></a>
+<span class="sourceLineNo">350</span> am.waitForAssignment(hri);<a name="line.350"></a>
+<span class="sourceLineNo">351</span> assertTrue(regionStates.getRegionState(hri).isOpened());<a name="line.351"></a>
+<span class="sourceLineNo">352</span> } finally {<a name="line.352"></a>
+<span class="sourceLineNo">353</span> TEST_UTIL.deleteTable(tableName);<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><a name="line.356"></a>
+<span class="sourceLineNo">357</span> HRegionInfo createTableAndGetOneRegion(final TableName tableName)<a name="line.357"></a>
+<span class="sourceLineNo">358</span> throws IOException, InterruptedException {<a name="line.358"></a>
+<span class="sourceLineNo">359</span> HTableDescriptor desc = new HTableDescriptor(tableName);<a name="line.359"></a>
+<span class="sourceLineNo">360</span> desc.addFamily(new HColumnDescriptor(FAMILY));<a name="line.360"></a>
+<span class="sourceLineNo">361</span> admin.createTable(desc, Bytes.toBytes("A"), Bytes.toBytes("Z"), 5);<a name="line.361"></a>
+<span class="sourceLineNo">362</span><a name="line.362"></a>
+<span class="sourceLineNo">363</span> // wait till the table is assigned<a name="line.363"></a>
+<span class="sourceLineNo">364</span> HMaster master = TEST_UTIL.getHBaseCluster().getMaster();<a name="line.364"></a>
+<span class="sourceLineNo">365</span> long timeoutTime = System.currentTimeMillis() + 3000;<a name="line.365"></a>
+<span class="sourceLineNo">366</span> while (true) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> List<HRegionInfo> regions =<a name="line.367"></a>
+<span class="sourceLineNo">368</span> master.getAssignmentManager().getRegionStates().getRegionsOfTable(tableName);<a name="line.368"></a>
+<span class="sourceLineNo">369</span> if (regions.size() > 3) {<a name="line.369"></a>
+<span class="sourceLineNo">370</span> return regions.get(2);<a name="line.370"></a>
+<span class="sourceLineNo">371</span> }<a name="line.371"></a>
+<span class="sourceLineNo">372</span> long now = System.currentTimeMillis();<a name="line.372"></a>
+<span class="sourceLineNo">373</span> if (now > timeoutTime) {<a name="line.373"></a>
+<span class="sourceLineNo">374</span> fail("Could not find an online region");<a name="line.374"></a>
+<span class="sourceLineNo">375</span> }<a name="line.375"></a>
+<span class="sourceLineNo">376</span> Thread.sleep(10);<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><a name="line.379"></a>
+<span class="sourceLineNo">380</span> @Test<a name="line.380"></a>
+<span class="sourceLineNo">381</span> public void testOfflineRegion() throws Exception {<a name="line.381"></a>
+<span class="sourceLineNo">382</span> final TableName tableName = TableName.valueOf("testOfflineRegion");<a name="line.382"></a>
+<span class="sourceLineNo">383</span> try {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> HRegionInfo hri = createTableAndGetOneRegion(tableName);<a name="line.384"></a>
+<span class="sourceLineNo">385</span><a name="line.385"></a>
+<span class="sourceLineNo">386</span> RegionStates regionStates =<a name="line.386"></a>
+<span class="sourceLineNo">387</span> TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager().getRegionStates();<a name="line.387"></a>
+<span class="sourceLineNo">388</span> ServerName serverName = regionStates.getRegionServerOfRegion(hri);<a name="line.388"></a>
+<span class="sourceLineNo">389</span> TEST_UTIL.assertRegionOnServer(hri, serverName, 200);<a name="line.389"></a>
+<span class="sourceLineNo">390</span> admin.offline(hri.getRegionName()).get();<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span> long timeoutTime = System.currentTimeMillis() + 3000;<a name="line.392"></a>
+<span class="sourceLineNo">393</span> while (true) {<a name="line.393"></a>
+<span class="sourceLineNo">394</span> if (regionStates.getRegionByStateOfTable(tableName).get(RegionState.State.OFFLINE)<a name="line.394"></a>
+<span class="sourceLineNo">395</span> .contains(hri))<a name="line.395"></a>
+<span class="sourceLineNo">396</span> break;<a name="line.396"></a>
+<span class="sourceLineNo">397</span> long now = System.currentTimeMillis();<a name="line.397"></a>
+<span class="sourceLineNo">398</span> if (now > timeoutTime) {<a name="line.398"></a>
+<span class="sourceLineNo">399</span> fail("Failed to offline the region in time");<a name="line.399"></a>
+<span class="sourceLineNo">400</span> break;<a name="line.400"></a>
+<span class="sourceLineNo">401</span> }<a name="line.401"></a>
+<span class="sourceLineNo">402</span> Thread.sleep(10);<a name="line.402"></a>
+<span class="sourceLineNo">403</span> }<a name="line.403"></a>
+<span class="sourceLineNo">404</span> RegionState regionState = regionStates.getRegionState(hri);<a name="line.404"></a>
+<span class="sourceLineNo">405</span> assertTrue(regionState.isOffline());<a name="line.405"></a>
+<span class="sourceLineNo">406</span> } finally {<a name="line.406"></a>
+<span class="sourceLineNo">407</span> TEST_UTIL.deleteTable(tableName);<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><a name="line.410"></a>
+<span class="sourceLineNo">411</span> @Test<a name="line.411"></a>
+<span class="sourceLineNo">412</span> public void testMoveRegion() throws Exception {<a name="line.412"></a>
+<span class="sourceLineNo">413</span> final TableName tableName = TableName.valueOf("testMoveRegion");<a name="line.413"></a>
+<span class="sourceLineNo">414</span> try {<a name="line.414"></a>
+<span class="sourceLineNo">415</span> HRegionInfo hri = createTableAndGetOneRegion(tableName);<a name="line.415"></a>
+<span class="sourceLineNo">416</span><a name="line.416"></a>
+<span class="sourceLineNo">417</span> HMaster master = TEST_UTIL.getHBaseCluster().getMaster();<a name="line.417"></a>
+<span class="sourceLineNo">418</span> RegionStates regionStates = master.getAssignmentManager().getRegionStates();<a name="line.418"></a>
+<span class="sourceLineNo">419</span> ServerName serverName = regionStates.getRegionServerOfRegion(hri);<a name="line.419"></a>
+<span class="sourceLineNo">420</span> ServerManager serverManager = master.getServerManager();<a name="line.420"></a>
+<span class="sourceLineNo">421</span> ServerName destServerName = null;<a name="line.421"></a>
+<span class="sourceLineNo">422</span> List<JVMClusterUtil.RegionServerThread> regionServers =<a name="line.422"></a>
+<span class="sourceLineNo">423</span> TEST_UTIL.getHBaseCluster().getLiveRegionServerThreads();<a name="line.423"></a>
+<span class="sourceLineNo">424</span> for (JVMClusterUtil.RegionServerThread regionServer : regionServers) {<a name="line.424"></a>
+<span class="sourceLineNo">425</span> HRegionServer destServer = regionServer.getRegionServer();<a name="line.425"></a>
+<span class="sourceLineNo">426</span> destServerName = destServer.getServerName();<a name="line.426"></a>
+<span class="sourceLineNo">427</span> if (!destServerName.equals(serverName) && serverManager.isServerOnline(destServerName)) {<a name="line.427"></a>
+<span class="sourceLineNo">428</span> break;<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> assertTrue(destServerName != null && !destServerName.equals(serverName));<a name="line.431"></a>
+<span class="sourceLineNo">432</span> admin.move(hri.getEncodedNameAsBytes(), Bytes.toBytes(destServerName.getServerName())).get();<a name="line.432"></a>
+<span class="sourceLineNo">433</span><a name="line.433"></a>
+<span class="sourceLineNo">434</span> long timeoutTime = System.currentTimeMillis() + 30000;<a name="line.434"></a>
+<span class="sourceLineNo">435</span> while (true) {<a name="line.435"></a>
+<span class="sourceLineNo">436</span> ServerName sn = regionStates.getRegionServerOfRegion(hri);<a name="line.436"></a>
+<span class="sourceLineNo">437</span> if (sn != null && sn.equals(destServerName)) {<a name="line.437"></a>
+<span class="sourceLineNo">438</span> TEST_UTIL.assertRegionOnServer(hri, sn, 200);<a name="line.438"></a>
+<span class="sourceLineNo">439</span> break;<a name="line.439"></a>
+<span class="sourceLineNo">440</span> }<a name="line.440"></a>
+<span class="sourceLineNo">441</span> long now = System.currentTimeMillis();<a name="line.441"></a>
+<span class="sourceLineNo">442</span> if (now > timeoutTime) {<a name="line.442"></a>
+<span class="sourceLineNo">443</span> fail("Failed to move the region in time: " + regionStates.getRegionState(hri));<a name="line.443"></a>
+<span class="sourceLineNo">444</span> }<a name="line.444"></a>
+<span class="sourceLineNo">445</span> regionStates.waitForUpdate(50);<a name="line.445"></a>
+<span class="sourceLineNo">446</span> }<a name="line.446"></a>
+<span class="sourceLineNo">447</span> } finally {<a name="line.447"></a>
+<span class="sourceLineNo">448</span> TEST_UTIL.deleteTable(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><a name="line.451"></a>
+<span class="sourceLineNo">452</span> @Test<a name="line.452"></a>
+<span class="sourceLineNo">453</span> public void testGetOnlineRegions() throws Exception {<a name="line.453"></a>
+<span class="sourceLineNo">454</span> final TableName tableName = TableName.valueOf("testGetOnlineRegions");<a name="line.454"></a>
+<span class="sourceLineNo">455</span> try {<a name="line.455"></a>
+<span class="sourceLineNo">456</span> createTableAndGetOneRegion(tableName);<a name="line.456"></a>
+<span class="sourceLineNo">457</span> AtomicInteger regionServerCount = new AtomicInteger(0);<a name="line.457"></a>
+<span class="sourceLineNo">458</span> TEST_UTIL.getHBaseCluster().getLiveRegionServerThreads().stream()<a name="line.458"></a>
+<span class="sourceLineNo">459</span> .map(rsThread -> rsThread.getRegionServer().getServerName()).forEach(serverName -> {<a name="line.459"></a>
+<span class="sourceLineNo">460</span> try {<a name="line.460"></a>
+<span class="sourceLineNo">461</span> Assert.assertEquals(admin.getOnlineRegions(serverName).get().size(),<a name="line.461"></a>
+<span class="sourceLineNo">462</span> TEST_UTIL.getAdmin().getOnlineRegions(serverName).size());<a name="line.462"></a>
+<span class="sourceLineNo">463</span> } catch (Exception e) {<a name="line.463"></a>
+<span class="sourceLineNo">464</span> fail("admin.getOnlineRegions() method throws a exception: " + e.getMessage());<a name="line.464"></a>
+<span class="sourceLineNo">465</span> }<a name="line.465"></a>
+<span class="sourceLineNo">466</span> regionServerCount.incrementAndGet();<a name="line.466"></a>
+<span class="sourceLineNo">467</span> });<a name="line.467"></a>
+<span class="sourceLineNo">468</span> Assert.assertEquals(regionServerCount.get(), 2);<a name="line.468"></a>
+<span class="sourceLineNo">469</span> } finally {<a name="line.469"></a>
+<span class="sourceLineNo">470</span> TEST_UTIL.deleteTable(tableName);<a name="line.470"></a>
+<span class="sourceLineNo">471</span> }<a name="line.471"></a>
+<span class="sourceLineNo">472</span> }<a name="line.472"></a>
+<span class="sourceLineNo">473</span><a name="line.473"></a>
+<span class="sourceLineNo">474</span> @Test<a name="line.474"></a>
+<span class="sourceLineNo">475</span> public void testFlushTableAndRegion() throws Exception {<a name="line.475"></a>
+<span class="sourceLineNo">476</span> final TableName tableName = TableName.valueOf("testFlushRegion");<a name="line.476"></a>
+<span class="sourceLineNo">477</span> try {<a name="line.477"></a>
+<span class="sourceLineNo">478</span> HRegionInfo hri = createTableAndGetOneRegion(tableName);<a name="line.478"></a>
+<span class="sourceLineNo">479</span> ServerName serverName = TEST_UTIL.getHBaseCluster().getMaster().getAssignmentManager()<a name="line.479"></a>
+<span class="sourceLineNo">480</span> .getRegionStates().getRegionServerOfRegion(hri);<a name="line.480"></a>
+<span class="sourceLineNo">481</span> HRegionServer regionServer = TEST_UTIL.getHBaseCluster().getLiveRegionServerThreads().stream()<a name="line.481"></a>
+<span class="sourceLineNo">482</span> .map(rsThread -> rsThread.getRegionServer())<a name="line.482"></a>
+<span class="sourceLineNo">483</span> .filter(rs -> rs.getServerName().equals(serverName)).findFirst().get();<a name="line.483"></a>
+<span class="sourceLineNo">484</span> // write a put into the specific region<a name="line.484"></a>
+<span class="sourceLineNo">485</span> try (Table table = TEST_UTIL.getConnection().getTable(tableName)) {<a name="line.485"></a>
+<span class="sourceLineNo">486</span> table.put(new Put(hri.getStartKey()).addColumn(FAMILY, FAMILY_0, Bytes.toBytes("value-1")));<a name="line.486"></a>
+<span class="sourceLineNo">487</span> }<a name="line.487"></a>
+<span class="sourceLineNo">488</span> Assert.assertTrue(regionServer.getOnlineRegion(hri.getRegionName()).getMemstoreSize() > 0);<a name="line.488"></a>
+<span class="sourceLineNo">489</span> // flush region and wait flush operation finished.<a name="line.489"></a>
+<span class="sourceLineNo">490</span> LOG.info("flushing region: " + Bytes.toStringBinary(hri.getRegionName()));<a name="line.490"></a>
+<span class="sourceLineNo">491</span> admin.flushRegion(hri.getRegionName()).get();<a name="line.491"></a>
+<span class="sourceLineNo">492</span> LOG.info("blocking until flush is complete: " + Bytes.toStringBinary(hri.getRegionName()));<a name="line.492"></a>
+<span class="sourceLineNo">493</span> Threads.sleepWithoutInterrupt(500);<a name="line.493"></a>
+<span class="sourceLineNo">494</span> while (regionServer.getOnlineRegion(hri.getRegionName()).getMemstoreSize() > 0) {<a name="line.494"></a>
+<span class="sourceLineNo">495</span> Threads.sleep(50);<a name="line.495"></a>
+<span class="sourceLineNo">496</span> }<a name="line.496"></a>
+<span class="sourceLineNo">497</span> // check the memstore.<a name="line.497"></a>
+<span class="sourceLineNo">498</span> Assert.assertEquals(regionServer.getOnlineRegion(hri.getRegionName()).getMemstoreSize(), 0);<a name="l
<TRUNCATED>
[05/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/dependency-management.html b/hbase-archetypes/dependency-management.html
index 8d5b78a..2163a55 100644
--- a/hbase-archetypes/dependency-management.html
+++ b/hbase-archetypes/dependency-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-archetype-builder/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/dependencies.html b/hbase-archetypes/hbase-archetype-builder/dependencies.html
index f3476d8..5f9721d 100644
--- a/hbase-archetypes/hbase-archetype-builder/dependencies.html
+++ b/hbase-archetypes/hbase-archetype-builder/dependencies.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html b/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
index 0c63991..90e1cb8 100644
--- a/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
+++ b/hbase-archetypes/hbase-archetype-builder/dependency-convergence.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-archetype-builder/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/dependency-info.html b/hbase-archetypes/hbase-archetype-builder/dependency-info.html
index 0c620d1..d295032 100644
--- a/hbase-archetypes/hbase-archetype-builder/dependency-info.html
+++ b/hbase-archetypes/hbase-archetype-builder/dependency-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-archetype-builder/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/dependency-management.html b/hbase-archetypes/hbase-archetype-builder/dependency-management.html
index 883dd08..6a6d64b 100644
--- a/hbase-archetypes/hbase-archetype-builder/dependency-management.html
+++ b/hbase-archetypes/hbase-archetype-builder/dependency-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-archetype-builder/index.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/index.html b/hbase-archetypes/hbase-archetype-builder/index.html
index b406ded..e94e237 100644
--- a/hbase-archetypes/hbase-archetype-builder/index.html
+++ b/hbase-archetypes/hbase-archetype-builder/index.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-archetype-builder/integration.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/integration.html b/hbase-archetypes/hbase-archetype-builder/integration.html
index 6a5c3ce..120ef37 100644
--- a/hbase-archetypes/hbase-archetype-builder/integration.html
+++ b/hbase-archetypes/hbase-archetype-builder/integration.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/issue-tracking.html b/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
index 8445a55..265d0ba 100644
--- a/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
+++ b/hbase-archetypes/hbase-archetype-builder/issue-tracking.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-archetype-builder/license.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/license.html b/hbase-archetypes/hbase-archetype-builder/license.html
index c376bcc..8ccf3ab 100644
--- a/hbase-archetypes/hbase-archetype-builder/license.html
+++ b/hbase-archetypes/hbase-archetype-builder/license.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-archetype-builder/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/mail-lists.html b/hbase-archetypes/hbase-archetype-builder/mail-lists.html
index e3171ec..e0d5d64 100644
--- a/hbase-archetypes/hbase-archetype-builder/mail-lists.html
+++ b/hbase-archetypes/hbase-archetype-builder/mail-lists.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-archetype-builder/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/plugin-management.html b/hbase-archetypes/hbase-archetype-builder/plugin-management.html
index 665e420..170f7af 100644
--- a/hbase-archetypes/hbase-archetype-builder/plugin-management.html
+++ b/hbase-archetypes/hbase-archetype-builder/plugin-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-archetype-builder/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/plugins.html b/hbase-archetypes/hbase-archetype-builder/plugins.html
index 7bd0c4a..0c74e06 100644
--- a/hbase-archetypes/hbase-archetype-builder/plugins.html
+++ b/hbase-archetypes/hbase-archetype-builder/plugins.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-archetype-builder/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/project-info.html b/hbase-archetypes/hbase-archetype-builder/project-info.html
index 10fd2b7..78285ee 100644
--- a/hbase-archetypes/hbase-archetype-builder/project-info.html
+++ b/hbase-archetypes/hbase-archetype-builder/project-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-archetype-builder/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/project-summary.html b/hbase-archetypes/hbase-archetype-builder/project-summary.html
index 04decec..557d9f3 100644
--- a/hbase-archetypes/hbase-archetype-builder/project-summary.html
+++ b/hbase-archetypes/hbase-archetype-builder/project-summary.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-archetype-builder/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/source-repository.html b/hbase-archetypes/hbase-archetype-builder/source-repository.html
index 3072cbb..f88fb88 100644
--- a/hbase-archetypes/hbase-archetype-builder/source-repository.html
+++ b/hbase-archetypes/hbase-archetype-builder/source-repository.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-archetype-builder/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-archetype-builder/team-list.html b/hbase-archetypes/hbase-archetype-builder/team-list.html
index 8cc1330..9c4efb8 100644
--- a/hbase-archetypes/hbase-archetype-builder/team-list.html
+++ b/hbase-archetypes/hbase-archetype-builder/team-list.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetype builder">Apache HBase - Archetype builder</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-client-project/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/checkstyle.html b/hbase-archetypes/hbase-client-project/checkstyle.html
index 562de61..7d273e2 100644
--- a/hbase-archetypes/hbase-client-project/checkstyle.html
+++ b/hbase-archetypes/hbase-client-project/checkstyle.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-client-project/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/dependencies.html b/hbase-archetypes/hbase-client-project/dependencies.html
index 1339fbc..5e0f68c 100644
--- a/hbase-archetypes/hbase-client-project/dependencies.html
+++ b/hbase-archetypes/hbase-client-project/dependencies.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
@@ -4070,7 +4070,7 @@ built on Jackson JSON processor</p>
<th>Sealed</th></tr>
<tr class="a">
<td>150</td>
-<td>70.53 MB</td>
+<td>70.54 MB</td>
<td>35,651</td>
<td>31,647</td>
<td>1,529</td>
@@ -4088,7 +4088,7 @@ built on Jackson JSON processor</p>
<td>compile: 1</td></tr>
<tr class="a">
<td>test: 70</td>
-<td>test: 38.36 MB</td>
+<td>test: 38.37 MB</td>
<td>test: 13,539</td>
<td>test: 11,825</td>
<td>test: 536</td>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-client-project/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/dependency-convergence.html b/hbase-archetypes/hbase-client-project/dependency-convergence.html
index a43e261..6fd6eaf 100644
--- a/hbase-archetypes/hbase-client-project/dependency-convergence.html
+++ b/hbase-archetypes/hbase-client-project/dependency-convergence.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-client-project/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/dependency-info.html b/hbase-archetypes/hbase-client-project/dependency-info.html
index 6eba9a4..b452c0e 100644
--- a/hbase-archetypes/hbase-client-project/dependency-info.html
+++ b/hbase-archetypes/hbase-client-project/dependency-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-client-project/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/dependency-management.html b/hbase-archetypes/hbase-client-project/dependency-management.html
index f3f43c6..49f9102 100644
--- a/hbase-archetypes/hbase-client-project/dependency-management.html
+++ b/hbase-archetypes/hbase-client-project/dependency-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-client-project/index.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/index.html b/hbase-archetypes/hbase-client-project/index.html
index 0d42f65..5072e38 100644
--- a/hbase-archetypes/hbase-client-project/index.html
+++ b/hbase-archetypes/hbase-client-project/index.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-client-project/integration.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/integration.html b/hbase-archetypes/hbase-client-project/integration.html
index 1ca6996..38063fb 100644
--- a/hbase-archetypes/hbase-client-project/integration.html
+++ b/hbase-archetypes/hbase-client-project/integration.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-client-project/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/issue-tracking.html b/hbase-archetypes/hbase-client-project/issue-tracking.html
index 4d65ddc..7de856b 100644
--- a/hbase-archetypes/hbase-client-project/issue-tracking.html
+++ b/hbase-archetypes/hbase-client-project/issue-tracking.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-client-project/license.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/license.html b/hbase-archetypes/hbase-client-project/license.html
index 240e809..4f9efea 100644
--- a/hbase-archetypes/hbase-client-project/license.html
+++ b/hbase-archetypes/hbase-client-project/license.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-client-project/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/mail-lists.html b/hbase-archetypes/hbase-client-project/mail-lists.html
index 6ef9c85..e4e9735 100644
--- a/hbase-archetypes/hbase-client-project/mail-lists.html
+++ b/hbase-archetypes/hbase-client-project/mail-lists.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-client-project/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/plugin-management.html b/hbase-archetypes/hbase-client-project/plugin-management.html
index 65b9883..3f9a5c4 100644
--- a/hbase-archetypes/hbase-client-project/plugin-management.html
+++ b/hbase-archetypes/hbase-client-project/plugin-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-client-project/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/plugins.html b/hbase-archetypes/hbase-client-project/plugins.html
index ef3ce63..79edfda 100644
--- a/hbase-archetypes/hbase-client-project/plugins.html
+++ b/hbase-archetypes/hbase-client-project/plugins.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-client-project/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/project-info.html b/hbase-archetypes/hbase-client-project/project-info.html
index f89c2b6..ddb35ee 100644
--- a/hbase-archetypes/hbase-client-project/project-info.html
+++ b/hbase-archetypes/hbase-client-project/project-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-client-project/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/project-reports.html b/hbase-archetypes/hbase-client-project/project-reports.html
index 8e7c9d4..2913c31 100644
--- a/hbase-archetypes/hbase-client-project/project-reports.html
+++ b/hbase-archetypes/hbase-client-project/project-reports.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-client-project/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/project-summary.html b/hbase-archetypes/hbase-client-project/project-summary.html
index 99b66f1..0a7e3b9 100644
--- a/hbase-archetypes/hbase-client-project/project-summary.html
+++ b/hbase-archetypes/hbase-client-project/project-summary.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-client-project/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/source-repository.html b/hbase-archetypes/hbase-client-project/source-repository.html
index b4abefe..b799a85 100644
--- a/hbase-archetypes/hbase-client-project/source-repository.html
+++ b/hbase-archetypes/hbase-client-project/source-repository.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-client-project/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-client-project/team-list.html b/hbase-archetypes/hbase-client-project/team-list.html
index 4d96a19..452dc7b 100644
--- a/hbase-archetypes/hbase-client-project/team-list.html
+++ b/hbase-archetypes/hbase-client-project/team-list.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-client archetype">Apache HBase - Exemplar for hbase-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/checkstyle.html b/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
index eccd4d0..116b42c 100644
--- a/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
+++ b/hbase-archetypes/hbase-shaded-client-project/checkstyle.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-shaded-client-project/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/dependencies.html b/hbase-archetypes/hbase-shaded-client-project/dependencies.html
index bd97307..73a2a5b 100644
--- a/hbase-archetypes/hbase-shaded-client-project/dependencies.html
+++ b/hbase-archetypes/hbase-shaded-client-project/dependencies.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
@@ -4112,7 +4112,7 @@ These include: bzip2, gzip, pack200, xz and ar, cpio, jar, tar, zip, dump.</p>
<td>compile: 1</td></tr>
<tr class="b">
<td>test: 70</td>
-<td>test: 38.36 MB</td>
+<td>test: 38.37 MB</td>
<td>test: 13,539</td>
<td>test: 11,825</td>
<td>test: 536</td>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html b/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
index f3aa03a..e515499 100644
--- a/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
+++ b/hbase-archetypes/hbase-shaded-client-project/dependency-convergence.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/dependency-info.html b/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
index 7ffd8aa..47f76a5 100644
--- a/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
+++ b/hbase-archetypes/hbase-shaded-client-project/dependency-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/dependency-management.html b/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
index 56d8c08..5cf2453 100644
--- a/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
+++ b/hbase-archetypes/hbase-shaded-client-project/dependency-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-shaded-client-project/index.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/index.html b/hbase-archetypes/hbase-shaded-client-project/index.html
index 4f45b86..bf3238e 100644
--- a/hbase-archetypes/hbase-shaded-client-project/index.html
+++ b/hbase-archetypes/hbase-shaded-client-project/index.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-shaded-client-project/integration.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/integration.html b/hbase-archetypes/hbase-shaded-client-project/integration.html
index b400ff3..8915df2 100644
--- a/hbase-archetypes/hbase-shaded-client-project/integration.html
+++ b/hbase-archetypes/hbase-shaded-client-project/integration.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html b/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
index 66184e4..223a51e 100644
--- a/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
+++ b/hbase-archetypes/hbase-shaded-client-project/issue-tracking.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-shaded-client-project/license.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/license.html b/hbase-archetypes/hbase-shaded-client-project/license.html
index 0cde109..11f1057 100644
--- a/hbase-archetypes/hbase-shaded-client-project/license.html
+++ b/hbase-archetypes/hbase-shaded-client-project/license.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/mail-lists.html b/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
index 632339c..8251b75 100644
--- a/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
+++ b/hbase-archetypes/hbase-shaded-client-project/mail-lists.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/plugin-management.html b/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
index 47450a9..2d3315c 100644
--- a/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
+++ b/hbase-archetypes/hbase-shaded-client-project/plugin-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-shaded-client-project/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/plugins.html b/hbase-archetypes/hbase-shaded-client-project/plugins.html
index b12f97f..c5aa3a8 100644
--- a/hbase-archetypes/hbase-shaded-client-project/plugins.html
+++ b/hbase-archetypes/hbase-shaded-client-project/plugins.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-shaded-client-project/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/project-info.html b/hbase-archetypes/hbase-shaded-client-project/project-info.html
index 2e0d08c..99ae8eb 100644
--- a/hbase-archetypes/hbase-shaded-client-project/project-info.html
+++ b/hbase-archetypes/hbase-shaded-client-project/project-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-shaded-client-project/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/project-reports.html b/hbase-archetypes/hbase-shaded-client-project/project-reports.html
index 7175246..da193de 100644
--- a/hbase-archetypes/hbase-shaded-client-project/project-reports.html
+++ b/hbase-archetypes/hbase-shaded-client-project/project-reports.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-shaded-client-project/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/project-summary.html b/hbase-archetypes/hbase-shaded-client-project/project-summary.html
index ff00e15..d8b7220 100644
--- a/hbase-archetypes/hbase-shaded-client-project/project-summary.html
+++ b/hbase-archetypes/hbase-shaded-client-project/project-summary.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-shaded-client-project/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/source-repository.html b/hbase-archetypes/hbase-shaded-client-project/source-repository.html
index 4ecd97d..f34f9ea 100644
--- a/hbase-archetypes/hbase-shaded-client-project/source-repository.html
+++ b/hbase-archetypes/hbase-shaded-client-project/source-repository.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
[38/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 5692d87..c640f94 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":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"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":6,"i45":6,"i46":6,"i47":6,"i48":6,"i49":6,"i50":6,"i51":6,"i52":6,"i53":6,"i54":6,"i55":6,"i56":6,"i57":6,"i58":6,"i59":6,"i60":6,"i61":6,"i62":6,"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":6,"i78":6,"i79":6,"i80":6,"i81":6,"i82":6,"i83":6,"i84":6,"i85":6,"i86":6,"i87":6};
+var methods = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":6,"i5":6,"i6":6,"i7":6,"i8":6,"i9":6,"i10":6,"i11":6,"i12":6,"i13":6,"i14":6,"i15":6,"i16":6,"i17":6,"i18":6,"i19":6,"i20":6,"i21":6,"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":6,"i45":6,"i46":6,"i47":6,"i48":6,"i49":6,"i50":6,"i51":6,"i52":6,"i53":6,"i54":6,"i55":6,"i56":6,"i57":6,"i58":6,"i59":6,"i60":6,"i61":6,"i62":6,"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":6,"i78":6,"i79":6,"i80":6,"i81":6,"i82":6,"i83":6,"i84":6,"i85":6,"i86":6,"i87":6,"i88":6,"i89":6,"i90":6,"i91":6,"i92":6,"i93":6,"i94":6,"i95":6,"i96":6,"i97":6,"i98":6,"i99":6,"i100":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -210,24 +210,56 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
</tr>
<tr id="i12" 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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#compact-org.apache.hadoop.hbase.TableName-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
+<div class="block">Compact a table.</div>
+</td>
+</tr>
+<tr id="i13" 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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#compact-org.apache.hadoop.hbase.TableName-byte:A-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
+ byte[] columnFamily)</code>
+<div class="block">Compact a column family within a table.</div>
+</td>
+</tr>
+<tr id="i14" 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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#compactRegion-byte:A-">compactRegion</a></span>(byte[] regionName)</code>
+<div class="block">Compact an individual region.</div>
+</td>
+</tr>
+<tr id="i15" 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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#compactRegion-byte:A-byte:A-">compactRegion</a></span>(byte[] regionName,
+ byte[] columnFamily)</code>
+<div class="block">Compact a column family within a region.</div>
+</td>
+</tr>
+<tr id="i16" 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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#compactRegionServer-org.apache.hadoop.hbase.ServerName-">compactRegionServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code>
+<div class="block">Compact all regions on the region server.</div>
+</td>
+</tr>
+<tr id="i17" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#createNamespace-org.apache.hadoop.hbase.NamespaceDescriptor-">createNamespace</a></span>(<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a> descriptor)</code>
<div class="block">Create a new namespace.</div>
</td>
</tr>
-<tr id="i13" class="rowColor">
+<tr id="i18" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#createTable-org.apache.hadoop.hbase.client.TableDescriptor-">createTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a> desc)</code>
<div class="block">Creates a new table.</div>
</td>
</tr>
-<tr id="i14" class="altColor">
+<tr id="i19" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#createTable-org.apache.hadoop.hbase.client.TableDescriptor-byte:A:A-">createTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a> desc,
byte[][] splitKeys)</code>
<div class="block">Creates a new table with an initial set of empty regions defined by the specified split keys.</div>
</td>
</tr>
-<tr id="i15" class="rowColor">
+<tr id="i20" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#createTable-org.apache.hadoop.hbase.client.TableDescriptor-byte:A-byte:A-int-">createTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a> desc,
byte[] startKey,
@@ -236,56 +268,56 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
<div class="block">Creates a new table with the specified number of regions.</div>
</td>
</tr>
-<tr id="i16" class="altColor">
+<tr id="i21" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#deleteColumnFamily-org.apache.hadoop.hbase.TableName-byte:A-">deleteColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] columnFamily)</code>
<div class="block">Delete a column family from a table.</div>
</td>
</tr>
-<tr id="i17" class="rowColor">
+<tr id="i22" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#deleteNamespace-java.lang.String-">deleteNamespace</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> name)</code>
<div class="block">Delete an existing namespace.</div>
</td>
</tr>
-<tr id="i18" class="altColor">
+<tr id="i23" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#deleteSnapshot-java.lang.String-">deleteSnapshot</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> snapshotName)</code>
<div class="block">Delete an existing snapshot.</div>
</td>
</tr>
-<tr id="i19" class="rowColor">
+<tr id="i24" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#deleteSnapshots-java.util.regex.Pattern-">deleteSnapshots</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> pattern)</code>
<div class="block">Delete existing snapshots whose names match the pattern passed.</div>
</td>
</tr>
-<tr id="i20" class="altColor">
+<tr id="i25" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#deleteSnapshots-java.lang.String-">deleteSnapshots</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> regex)</code>
<div class="block">Delete existing snapshots whose names match the pattern passed.</div>
</td>
</tr>
-<tr id="i21" class="rowColor">
+<tr id="i26" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#deleteTable-org.apache.hadoop.hbase.TableName-">deleteTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Deletes a table.</div>
</td>
</tr>
-<tr id="i22" class="altColor">
+<tr id="i27" 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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#deleteTables-java.util.regex.Pattern-">deleteTables</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> pattern)</code>
<div class="block">Delete tables matching the passed in pattern and wait on completion.</div>
</td>
</tr>
-<tr id="i23" class="rowColor">
+<tr id="i28" 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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#deleteTables-java.lang.String-">deleteTables</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> regex)</code>
<div class="block">Deletes tables matching the passed in pattern and wait on completion.</div>
</td>
</tr>
-<tr id="i24" class="altColor">
+<tr id="i29" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#deleteTableSnapshots-java.util.regex.Pattern-java.util.regex.Pattern-">deleteTableSnapshots</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> 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> snapshotNamePattern)</code>
@@ -293,7 +325,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
name regular expression.</div>
</td>
</tr>
-<tr id="i25" class="rowColor">
+<tr id="i30" 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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#deleteTableSnapshots-java.lang.String-java.lang.String-">deleteTableSnapshots</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> tableNameRegex,
<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> snapshotNameRegex)</code>
@@ -301,55 +333,55 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
name regular expression.</div>
</td>
</tr>
-<tr id="i26" class="altColor">
+<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#disableReplicationPeer-java.lang.String-">disableReplicationPeer</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> peerId)</code>
<div class="block">Stop the replication stream to the specified peer</div>
</td>
</tr>
-<tr id="i27" class="rowColor">
+<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#disableTable-org.apache.hadoop.hbase.TableName-">disableTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Disable a table.</div>
</td>
</tr>
-<tr id="i28" class="altColor">
+<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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#disableTables-java.util.regex.Pattern-">disableTables</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> pattern)</code>
<div class="block">Disable tables matching the passed in pattern.</div>
</td>
</tr>
-<tr id="i29" class="rowColor">
+<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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#disableTables-java.lang.String-">disableTables</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> regex)</code>
<div class="block">Disable tables matching the passed in pattern.</div>
</td>
</tr>
-<tr id="i30" class="altColor">
+<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#enableReplicationPeer-java.lang.String-">enableReplicationPeer</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> peerId)</code>
<div class="block">Restart the replication stream to the specified peer</div>
</td>
</tr>
-<tr id="i31" class="rowColor">
+<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#enableTable-org.apache.hadoop.hbase.TableName-">enableTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Enable a table.</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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#enableTables-java.util.regex.Pattern-">enableTables</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> pattern)</code>
<div class="block">Enable tables matching the passed in pattern.</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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#enableTables-java.lang.String-">enableTables</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> regex)</code>
<div class="block">Enable tables matching the passed in pattern.</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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#execProcedure-java.lang.String-java.lang.String-java.util.Map-">execProcedure</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> 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> instance,
@@ -357,7 +389,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
<div class="block">Execute a distributed procedure on a cluster.</div>
</td>
</tr>
-<tr id="i35" class="rowColor">
+<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><byte[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#execProcedureWithRet-java.lang.String-java.lang.String-java.util.Map-">execProcedureWithRet</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> 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> instance,
@@ -365,48 +397,66 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
<div class="block">Execute a distributed procedure on a cluster.</div>
</td>
</tr>
-<tr id="i36" class="altColor">
+<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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#flush-org.apache.hadoop.hbase.TableName-">flush</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
+<div class="block">Flush a table.</div>
+</td>
+</tr>
+<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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#flushRegion-byte:A-">flushRegion</a></span>(byte[] regionName)</code>
+<div class="block">Flush an individual region.</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><<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getAlterStatus-org.apache.hadoop.hbase.TableName-">getAlterStatus</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Get the status of alter command - indicates how many regions have received the updated schema
Asynchronous operation.</div>
</td>
</tr>
-<tr id="i37" class="rowColor">
+<tr id="i44" class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html" title="class in org.apache.hadoop.hbase.client">AsyncConnectionImpl</a></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getConnection--">getConnection</a></span>()</code> </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><<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>></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> name)</code>
<div class="block">Get a namespace descriptor by name</div>
</td>
</tr>
-<tr id="i39" class="rowColor">
+<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><<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><<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>>></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> sn)</code>
+<div class="block">Get all the online regions on a region server.</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><<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><<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSettings.html" title="class in org.apache.hadoop.hbase.quotas">QuotaSettings</a>>></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> filter)</code>
<div class="block">List the quotas based on the filter.</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><<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a>></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> peerId)</code>
<div class="block">Returns the configured ReplicationPeerConfig for the specified peer</div>
</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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>></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> tableName)</code>
<div class="block">Method for getting the tableDescriptor</div>
</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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#isBalancerEnabled--">isBalancerEnabled</a></span>()</code>
<div class="block">Query the current state of the balancer.</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><<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>></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> 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> instance,
@@ -414,17 +464,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="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><<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>></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> snapshot)</code>
<div class="block">Check the current state of the passed snapshot.</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><<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>></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> tableName)</code> </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><<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>></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> tableName,
byte[][] splitKeys)</code>
@@ -432,109 +482,109 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
which was used while creating the given table.</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><<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>></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> tableName)</code> </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><<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>></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> tableName)</code> </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><<a href="../../../../../org/apache/hadoop/hbase/NamespaceDescriptor.html" title="class in org.apache.hadoop.hbase">NamespaceDescriptor</a>[]></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="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><<a href="../../../../../org/apache/hadoop/hbase/ProcedureInfo.html" title="class in org.apache.hadoop.hbase">ProcedureInfo</a>[]></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="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><<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><<a href="../../../../../org/apache/hadoop/hbase/client/replication/TableCFs.html" title="class in org.apache.hadoop.hbase.client.replication">TableCFs</a>>></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="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><<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><<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>>></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="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><<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><<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listReplicationPeers-java.util.regex.Pattern-">listReplicationPeers</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> pattern)</code>
<div class="block">Return a list of replication peers.</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><<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><<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerDescription.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerDescription</a>>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listReplicationPeers-java.lang.String-">listReplicationPeers</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> regex)</code>
<div class="block">Return a list of replication peers.</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><<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><<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>>></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="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><<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><<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listSnapshots-java.util.regex.Pattern-">listSnapshots</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> pattern)</code>
<div class="block">List all the completed snapshots matching the given pattern.</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><<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><<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listSnapshots-java.lang.String-">listSnapshots</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> regex)</code>
<div class="block">List all the completed snapshots matching the given regular expression.</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><<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>[]></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="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><<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTableNames-java.util.regex.Pattern-boolean-">listTableNames</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> pattern,
boolean includeSysTables)</code>
<div class="block">List all of the names of userspace tables.</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><<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTableNames-java.lang.String-boolean-">listTableNames</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> regex,
boolean includeSysTables)</code>
<div class="block">List all of the names of userspace tables.</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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>[]></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="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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTables-java.util.regex.Pattern-boolean-">listTables</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> pattern,
boolean includeSysTables)</code>
<div class="block">List all the tables matching the given pattern.</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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>[]></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTables-java.lang.String-boolean-">listTables</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> regex,
boolean includeSysTables)</code>
<div class="block">List all the tables matching the given pattern.</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><<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><<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>>></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> 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> snapshotNamePattern)</code>
@@ -542,7 +592,7 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
name regular expression.</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><<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><<a href="../../../../../org/apache/hadoop/hbase/client/SnapshotDescription.html" title="class in org.apache.hadoop.hbase.client">SnapshotDescription</a>>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#listTableSnapshots-java.lang.String-java.lang.String-">listTableSnapshots</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> tableNameRegex,
<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> snapshotNameRegex)</code>
@@ -550,7 +600,39 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
name regular expression.</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><<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>></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> tableName)</code>
+<div class="block">Major compact a table.</div>
+</td>
+</tr>
+<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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.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> tableName,
+ byte[] columnFamily)</code>
+<div class="block">Major compact a column family within a table.</div>
+</td>
+</tr>
+<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><<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>></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[] regionName)</code>
+<div class="block">Major compact a table or an individual region.</div>
+</td>
+</tr>
+<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><<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>></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompactRegion-byte:A-byte:A-">majorCompactRegion</a></span>(byte[] regionName,
+ byte[] columnFamily)</code>
+<div class="block">Major compact a column family within region.</div>
+</td>
+</tr>
+<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><<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>></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> sn)</code>
+<div class="block">Compact all regions on the region server.</div>
+</td>
+</tr>
+<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><<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>></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[] nameOfRegionA,
byte[] nameOfRegionB,
@@ -558,84 +640,84 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
<div class="block">Merge two regions.</div>
</td>
</tr>
-<tr id="i67" class="rowColor">
+<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><<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>></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.HColumnDescriptor-">modifyColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<a href="../../../../../org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a> columnFamily)</code>
<div class="block">Modify an existing column family on a table.</div>
</td>
</tr>
-<tr id="i68" class="altColor">
+<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><<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>></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> descriptor)</code>
<div class="block">Modify an existing namespace.</div>
</td>
</tr>
-<tr id="i69" class="rowColor">
+<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#move-byte:A-byte:A-">move</a></span>(byte[] regionName,
byte[] destServerName)</code>
<div class="block">Move the region <code>r</code> to <code>dest</code>.</div>
</td>
</tr>
-<tr id="i70" class="altColor">
+<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><<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>></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[] regionName)</code>
<div class="block">Offline specified region from master's in-memory state.</div>
</td>
</tr>
-<tr id="i71" class="rowColor">
+<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><<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>></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> peerId)</code>
<div class="block">Remove a peer and stop the replication</div>
</td>
</tr>
-<tr id="i72" class="altColor">
+<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><<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>></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> 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><<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><<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>>> tableCfs)</code>
<div class="block">Remove some table-cfs from config of the specified peer</div>
</td>
</tr>
-<tr id="i73" class="rowColor">
+<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><<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>></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> snapshotName)</code>
<div class="block">Restore the specified snapshot on the original table.</div>
</td>
</tr>
-<tr id="i74" class="altColor">
+<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><<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>></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> snapshotName,
boolean takeFailSafeSnapshot)</code>
<div class="block">Restore the specified snapshot on the original table.</div>
</td>
</tr>
-<tr id="i75" class="rowColor">
+<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#setBalancerRunning-boolean-">setBalancerRunning</a></span>(boolean on)</code>
<div class="block">Turn the load balancer on or off.</div>
</td>
</tr>
-<tr id="i76" class="altColor">
+<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><<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>></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> quota)</code>
<div class="block">Apply the new quota settings.</div>
</td>
</tr>
-<tr id="i77" class="rowColor">
+<tr id="i90" 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><<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>></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> snapshot)</code>
<div class="block">Take a snapshot and wait for the server to complete that snapshot asynchronously.</div>
</td>
</tr>
-<tr id="i78" class="altColor">
+<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><<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>></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> snapshotName,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Take a snapshot for the given table.</div>
</td>
</tr>
-<tr id="i79" class="rowColor">
+<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><<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>></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> snapshotName,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
@@ -643,51 +725,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="i80" class="altColor">
+<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><<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>></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> tableName)</code>
<div class="block">Split a table.</div>
</td>
</tr>
-<tr id="i81" class="rowColor">
+<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><<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>></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> tableName,
byte[] splitPoint)</code>
<div class="block">Split a table.</div>
</td>
</tr>
-<tr id="i82" class="altColor">
+<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><<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>></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[] regionName)</code>
<div class="block">Split an individual region.</div>
</td>
</tr>
-<tr id="i83" class="rowColor">
+<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><<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>></code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#splitRegion-byte:A-byte:A-">splitRegion</a></span>(byte[] regionName,
byte[] splitPoint)</code>
<div class="block">Split an individual region.</div>
</td>
</tr>
-<tr id="i84" class="altColor">
+<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><<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>></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> tableName)</code> </td>
</tr>
-<tr id="i85" class="rowColor">
+<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><<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>></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> tableName,
boolean preserveSplits)</code>
<div class="block">Truncate a table.</div>
</td>
</tr>
-<tr id="i86" class="altColor">
+<tr id="i99" 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><<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>></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[] regionName,
boolean force)</code>
<div class="block">Unassign a region from current hosting regionserver.</div>
</td>
</tr>
-<tr id="i87" class="rowColor">
+<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><<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>></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> peerId,
<a href="../../../../../org/apache/hadoop/hbase/replication/ReplicationPeerConfig.html" title="class in org.apache.hadoop.hbase.replication">ReplicationPeerConfig</a> peerConfig)</code>
@@ -1445,13 +1527,203 @@ public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/client
</dl>
</li>
</ul>
+<a name="getOnlineRegions-org.apache.hadoop.hbase.ServerName-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getOnlineRegions</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><<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><<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>>> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.411">getOnlineRegions</a>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</pre>
+<div class="block">Get all the online regions on a region server.</div>
+</li>
+</ul>
+<a name="flush-org.apache.hadoop.hbase.TableName-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>flush</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><<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="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.417">flush</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</pre>
+<div class="block">Flush a table.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tableName</code> - table to flush</dd>
+</dl>
+</li>
+</ul>
+<a name="flushRegion-byte:A-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>flushRegion</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><<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="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.423">flushRegion</a>(byte[] regionName)</pre>
+<div class="block">Flush an individual region.</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>regionName</code> - region to flush</dd>
+</dl>
+</li>
+</ul>
+<a name="compact-org.apache.hadoop.hbase.TableName-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>compact</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><<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="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.429">compact</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</pre>
+<div class="block">Compact a table. Asynchronous operation even if CompletableFuture.get().</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tableName</code> - table to compact</dd>
+</dl>
+</li>
+</ul>
+<a name="compact-org.apache.hadoop.hbase.TableName-byte:A-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>compact</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><<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="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.436">compact</a>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
+ byte[] columnFamily)</pre>
+<div class="block">Compact a column family within a table. Asynchronous operation even if CompletableFuture.get().</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>tableName</code> - table to compact</dd>
+<dd><code>columnFamily</code> - column family within a table</dd>
+</dl>
+</li>
+</ul>
+<a name="compactRegion-byte:A-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>compactRegion</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><<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="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.442">compactRegion</a>(byte[] regionName)</pre>
+<div class="block">Compact an individual region. Asynchronous operation even if CompletableFuture.get().</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>regionName</code> - region to compact</dd>
+</dl>
+</li>
+</ul>
+<a name="compactRegion-byte:A-byte:A-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>compactRegion</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><<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="../../../../../src-html/org/apache/hadoop/hbase/client/AsyncAdmin.html#line.450">compactRegion</a>(byte[] regionName,
+ byte[] columnFamily)</pre>
+<div class="block">Compact a column family within a region. Asynchronous operation even if
+ CompletableFuture.get().</div>
+<dl>
+<dt><span class="paramLabel">Parameters:</span></dt>
+<dd><code>regionName</code> - region to compact</dd>
+<dd><code>columnFamily</code> - column family within a region</dd>
+</dl>
+</li>
+</ul>
+<a name="majorCompact-org.apache.hadoop.hbase.TableName-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>majorCompact</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.con
<TRUNCATED>
[04/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/hbase-shaded-client-project/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/hbase-shaded-client-project/team-list.html b/hbase-archetypes/hbase-shaded-client-project/team-list.html
index d0c61c8..9992975 100644
--- a/hbase-archetypes/hbase-shaded-client-project/team-list.html
+++ b/hbase-archetypes/hbase-shaded-client-project/team-list.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Exemplar for hbase-shaded-client archetype">Apache HBase - Exemplar for hbase-shaded-client archetype</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/index.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/index.html b/hbase-archetypes/index.html
index 9632368..4d0ac60 100644
--- a/hbase-archetypes/index.html
+++ b/hbase-archetypes/index.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/integration.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/integration.html b/hbase-archetypes/integration.html
index 54df814..22da0bd 100644
--- a/hbase-archetypes/integration.html
+++ b/hbase-archetypes/integration.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/issue-tracking.html b/hbase-archetypes/issue-tracking.html
index 6b11f9c..1b20fa1 100644
--- a/hbase-archetypes/issue-tracking.html
+++ b/hbase-archetypes/issue-tracking.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/license.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/license.html b/hbase-archetypes/license.html
index 9b1e33b..d8e40bc 100644
--- a/hbase-archetypes/license.html
+++ b/hbase-archetypes/license.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/mail-lists.html b/hbase-archetypes/mail-lists.html
index 383f205..ad875e7 100644
--- a/hbase-archetypes/mail-lists.html
+++ b/hbase-archetypes/mail-lists.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/plugin-management.html b/hbase-archetypes/plugin-management.html
index bcd1365..0b07d68 100644
--- a/hbase-archetypes/plugin-management.html
+++ b/hbase-archetypes/plugin-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/plugins.html b/hbase-archetypes/plugins.html
index 797b2c5..a14db33 100644
--- a/hbase-archetypes/plugins.html
+++ b/hbase-archetypes/plugins.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/project-info.html b/hbase-archetypes/project-info.html
index 8d83d70..eaadc2e 100644
--- a/hbase-archetypes/project-info.html
+++ b/hbase-archetypes/project-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/project-summary.html b/hbase-archetypes/project-summary.html
index 7312c62..5c75b67 100644
--- a/hbase-archetypes/project-summary.html
+++ b/hbase-archetypes/project-summary.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/source-repository.html b/hbase-archetypes/source-repository.html
index a62febb..035e8b0 100644
--- a/hbase-archetypes/source-repository.html
+++ b/hbase-archetypes/source-repository.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/team-list.html b/hbase-archetypes/team-list.html
index cbaddfd..82613ff 100644
--- a/hbase-archetypes/team-list.html
+++ b/hbase-archetypes/team-list.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-spark/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-spark/checkstyle.html b/hbase-spark/checkstyle.html
index 1143c31..aadebb1 100644
--- a/hbase-spark/checkstyle.html
+++ b/hbase-spark/checkstyle.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-spark/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependencies.html b/hbase-spark/dependencies.html
index 85fd05d..e25b5df 100644
--- a/hbase-spark/dependencies.html
+++ b/hbase-spark/dependencies.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-spark/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-convergence.html b/hbase-spark/dependency-convergence.html
index c67685f..8a67cde 100644
--- a/hbase-spark/dependency-convergence.html
+++ b/hbase-spark/dependency-convergence.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-spark/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-info.html b/hbase-spark/dependency-info.html
index 71ee311..30acd6a 100644
--- a/hbase-spark/dependency-info.html
+++ b/hbase-spark/dependency-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-spark/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-management.html b/hbase-spark/dependency-management.html
index fa14b8b..7f6fbb7 100644
--- a/hbase-spark/dependency-management.html
+++ b/hbase-spark/dependency-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-spark/index.html
----------------------------------------------------------------------
diff --git a/hbase-spark/index.html b/hbase-spark/index.html
index 78f2740..3737fe1 100644
--- a/hbase-spark/index.html
+++ b/hbase-spark/index.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-spark/integration.html
----------------------------------------------------------------------
diff --git a/hbase-spark/integration.html b/hbase-spark/integration.html
index ea257e6..81d4db9 100644
--- a/hbase-spark/integration.html
+++ b/hbase-spark/integration.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-spark/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-spark/issue-tracking.html b/hbase-spark/issue-tracking.html
index 8ef550b..33c164e 100644
--- a/hbase-spark/issue-tracking.html
+++ b/hbase-spark/issue-tracking.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-spark/license.html
----------------------------------------------------------------------
diff --git a/hbase-spark/license.html b/hbase-spark/license.html
index 736e4c9..1bbd968 100644
--- a/hbase-spark/license.html
+++ b/hbase-spark/license.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-spark/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-spark/mail-lists.html b/hbase-spark/mail-lists.html
index 082a81b..31a1ff6 100644
--- a/hbase-spark/mail-lists.html
+++ b/hbase-spark/mail-lists.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-spark/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-spark/plugin-management.html b/hbase-spark/plugin-management.html
index ff68916..1946a23 100644
--- a/hbase-spark/plugin-management.html
+++ b/hbase-spark/plugin-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-spark/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-spark/plugins.html b/hbase-spark/plugins.html
index 206cb93..867598e 100644
--- a/hbase-spark/plugins.html
+++ b/hbase-spark/plugins.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-spark/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-info.html b/hbase-spark/project-info.html
index 43111f4..82f7e22 100644
--- a/hbase-spark/project-info.html
+++ b/hbase-spark/project-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-spark/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-reports.html b/hbase-spark/project-reports.html
index 14a482a..d11993a 100644
--- a/hbase-spark/project-reports.html
+++ b/hbase-spark/project-reports.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-spark/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-summary.html b/hbase-spark/project-summary.html
index 9cc2c22..3e53c89 100644
--- a/hbase-spark/project-summary.html
+++ b/hbase-spark/project-summary.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-spark/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-spark/source-repository.html b/hbase-spark/source-repository.html
index 756ceee..949f4cf 100644
--- a/hbase-spark/source-repository.html
+++ b/hbase-spark/source-repository.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-spark/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-spark/team-list.html b/hbase-spark/team-list.html
index 65e25db..a126f2c 100644
--- a/hbase-spark/team-list.html
+++ b/hbase-spark/team-list.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index 7ae4a0b..b94e0e6 100644
--- a/index.html
+++ b/index.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Apache HBaseâ„¢ Home</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -438,7 +438,7 @@ Apache HBase is an open-source, distributed, versioned, non-relational database
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/integration.html
----------------------------------------------------------------------
diff --git a/integration.html b/integration.html
index 8172eb6..e9eae6d 100644
--- a/integration.html
+++ b/integration.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Continuous Integration</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -296,7 +296,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/issue-tracking.html
----------------------------------------------------------------------
diff --git a/issue-tracking.html b/issue-tracking.html
index c4d9efe..80cf39c 100644
--- a/issue-tracking.html
+++ b/issue-tracking.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Issue Tracking</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -293,7 +293,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/license.html
----------------------------------------------------------------------
diff --git a/license.html b/license.html
index 04fe56e..0b4b5bf 100644
--- a/license.html
+++ b/license.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project License</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -496,7 +496,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/mail-lists.html
----------------------------------------------------------------------
diff --git a/mail-lists.html b/mail-lists.html
index da85101..d3ad000 100644
--- a/mail-lists.html
+++ b/mail-lists.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Mailing Lists</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -346,7 +346,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/metrics.html
----------------------------------------------------------------------
diff --git a/metrics.html b/metrics.html
index 80a3b8e..5931dea 100644
--- a/metrics.html
+++ b/metrics.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Apache HBase (TM) Metrics
@@ -464,7 +464,7 @@ export HBASE_REGIONSERVER_OPTS="$HBASE_JMX_OPTS -Dcom.sun.management.jmxrem
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/old_news.html
----------------------------------------------------------------------
diff --git a/old_news.html b/old_news.html
index 98d0495..2b2a1eb 100644
--- a/old_news.html
+++ b/old_news.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Old Apache HBase (TM) News
@@ -419,7 +419,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/plugin-management.html
----------------------------------------------------------------------
diff --git a/plugin-management.html b/plugin-management.html
index f63096a..5e80b5e 100644
--- a/plugin-management.html
+++ b/plugin-management.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Plugin Management</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -441,7 +441,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/plugins.html
----------------------------------------------------------------------
diff --git a/plugins.html b/plugins.html
index fd4582f..dab7c43 100644
--- a/plugins.html
+++ b/plugins.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Build Plugins</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -376,7 +376,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/poweredbyhbase.html
----------------------------------------------------------------------
diff --git a/poweredbyhbase.html b/poweredbyhbase.html
index 4596146..c79e233 100644
--- a/poweredbyhbase.html
+++ b/poweredbyhbase.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Powered By Apache HBase™</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -774,7 +774,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/project-info.html
----------------------------------------------------------------------
diff --git a/project-info.html b/project-info.html
index c0cb33b..b7a5d7f 100644
--- a/project-info.html
+++ b/project-info.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Information</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -340,7 +340,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/project-reports.html
----------------------------------------------------------------------
diff --git a/project-reports.html b/project-reports.html
index 4107cb5..73f02b7 100644
--- a/project-reports.html
+++ b/project-reports.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Generated Reports</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -310,7 +310,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/project-summary.html
----------------------------------------------------------------------
diff --git a/project-summary.html b/project-summary.html
index ceaa2a8..e150647 100644
--- a/project-summary.html
+++ b/project-summary.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Summary</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -336,7 +336,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/pseudo-distributed.html
----------------------------------------------------------------------
diff --git a/pseudo-distributed.html b/pseudo-distributed.html
index b5eaf72..173ab57 100644
--- a/pseudo-distributed.html
+++ b/pseudo-distributed.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Running Apache HBase (TM) in pseudo-distributed mode
@@ -313,7 +313,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/replication.html
----------------------------------------------------------------------
diff --git a/replication.html b/replication.html
index 5118863..7f709c4 100644
--- a/replication.html
+++ b/replication.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Apache HBase (TM) Replication
@@ -308,7 +308,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/resources.html
----------------------------------------------------------------------
diff --git a/resources.html b/resources.html
index 6c8bd8b..3064519 100644
--- a/resources.html
+++ b/resources.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Other Apache HBase (TM) Resources</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -336,7 +336,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/source-repository.html
----------------------------------------------------------------------
diff --git a/source-repository.html b/source-repository.html
index 4a10062..5cb72c6 100644
--- a/source-repository.html
+++ b/source-repository.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Source Repository</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -304,7 +304,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/sponsors.html
----------------------------------------------------------------------
diff --git a/sponsors.html b/sponsors.html
index a8f30fe..7628528 100644
--- a/sponsors.html
+++ b/sponsors.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Apache HBase™ Sponsors</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -338,7 +338,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/supportingprojects.html
----------------------------------------------------------------------
diff --git a/supportingprojects.html b/supportingprojects.html
index fcf5c56..5f831ed 100644
--- a/supportingprojects.html
+++ b/supportingprojects.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Supporting Projects</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -525,7 +525,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/team-list.html
----------------------------------------------------------------------
diff --git a/team-list.html b/team-list.html
index e8619a3..d693b46 100644
--- a/team-list.html
+++ b/team-list.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Team list</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -799,7 +799,7 @@ window.onLoad = init();
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/testdevapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/index-all.html b/testdevapidocs/index-all.html
index 018913b..9ba46ee 100644
--- a/testdevapidocs/index-all.html
+++ b/testdevapidocs/index-all.html
@@ -4654,6 +4654,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TestIOFencing.CompactionBlockerRegion.html#compactionsWaiting">compactionsWaiting</a></span> - Variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestIOFencing.CompactionBlockerRegion.html" title="class in org.apache.hadoop.hbase">TestIOFencing.CompactionBlockerRegion</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#compactionTest-java.lang.String-int-org.apache.hadoop.hbase.client.CompactionState-boolean-">compactionTest(String, int, CompactionState, boolean)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncRegionAdminApi</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestCompaction.html#compactionThreshold">compactionThreshold</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestCompaction.html" title="class in org.apache.hadoop.hbase.regionserver">TestCompaction</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestMajorCompaction.html#compactionThreshold">compactionThreshold</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestMajorCompaction.html" title="class in org.apache.hadoop.hbase.regionserver">TestMajorCompaction</a></dt>
@@ -5220,6 +5222,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/TestDynamicClassLoader.html#conf">conf</a></span> - Variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/TestDynamicClassLoader.html" title="class in org.apache.hadoop.hbase.util">TestDynamicClassLoader</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/TestFSUtils.html#conf">conf</a></span> - Variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/TestFSUtils.html" title="class in org.apache.hadoop.hbase.util">TestFSUtils</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/TestHBaseFsckEncryption.html#conf">conf</a></span> - Variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/TestHBaseFsckEncryption.html" title="class in org.apache.hadoop.hbase.util">TestHBaseFsckEncryption</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/TestMiniClusterLoadSequential.html#conf">conf</a></span> - Variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/TestMiniClusterLoadSequential.html" title="class in org.apache.hadoop.hbase.util">TestMiniClusterLoadSequential</a></dt>
@@ -5896,8 +5900,12 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/TestIOFencing.CompactionBlockerRegion.html#countStoreFiles--">countStoreFiles()</a></span> - Method in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/TestIOFencing.CompactionBlockerRegion.html" title="class in org.apache.hadoop.hbase">TestIOFencing.CompactionBlockerRegion</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#countStoreFilesInFamilies-java.util.List-byte:A:A-">countStoreFilesInFamilies(List<Region>, byte[][])</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncRegionAdminApi</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestCompactionState.html#countStoreFilesInFamilies-java.util.List-byte:A:A-">countStoreFilesInFamilies(List<Region>, byte[][])</a></span> - Static method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestCompactionState.html" title="class in org.apache.hadoop.hbase.regionserver">TestCompactionState</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#countStoreFilesInFamily-java.util.List-byte:A-">countStoreFilesInFamily(List<Region>, byte[])</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncRegionAdminApi</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestCompactionState.html#countStoreFilesInFamily-java.util.List-byte:A-">countStoreFilesInFamily(List<Region>, byte[])</a></span> - Static method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestCompactionState.html" title="class in org.apache.hadoop.hbase.regionserver">TestCompactionState</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/TestDistributedLogSplitting.html#countWAL-org.apache.hadoop.fs.Path-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.conf.Configuration-">countWAL(Path, FileSystem, Configuration)</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/TestDistributedLogSplitting.html" title="class in org.apache.hadoop.hbase.master">TestDistributedLogSplitting</a></dt>
@@ -11107,6 +11115,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/snapshot/TestSnapshotManifest.html#fs">fs</a></span> - Variable in class org.apache.hadoop.hbase.snapshot.<a href="org/apache/hadoop/hbase/snapshot/TestSnapshotManifest.html" title="class in org.apache.hadoop.hbase.snapshot">TestSnapshotManifest</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/TestFSUtils.html#fs">fs</a></span> - Variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/TestFSUtils.html" title="class in org.apache.hadoop.hbase.util">TestFSUtils</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/TestFSVisitor.html#fs">fs</a></span> - Variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/TestFSVisitor.html" title="class in org.apache.hadoop.hbase.util">TestFSVisitor</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/wal/TestBoundedRegionGroupingStrategy.html#FS">FS</a></span> - Static variable in class org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/TestBoundedRegionGroupingStrategy.html" title="class in org.apache.hadoop.hbase.wal">TestBoundedRegionGroupingStrategy</a></dt>
@@ -15516,6 +15526,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/TestFSHDFSUtils.html#HTU">HTU</a></span> - Static variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/TestFSHDFSUtils.html" title="class in org.apache.hadoop.hbase.util">TestFSHDFSUtils</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/TestFSUtils.html#htu">htu</a></span> - Variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/TestFSUtils.html" title="class in org.apache.hadoop.hbase.util">TestFSUtils</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestReplicaWithCluster.html#HTU2">HTU2</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestReplicaWithCluster.html" title="class in org.apache.hadoop.hbase.client">TestReplicaWithCluster</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/IntegrationTestIngestWithACL.html#HYPHEN">HYPHEN</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/IntegrationTestIngestWithACL.html" title="class in org.apache.hadoop.hbase">IntegrationTestIngestWithACL</a></dt>
@@ -17987,6 +17999,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALLoaderPerformanceEvaluation.LoadCounter.html#LoadCounter--">LoadCounter()</a></span> - Constructor for class org.apache.hadoop.hbase.procedure2.store.wal.<a href="org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALLoaderPerformanceEvaluation.LoadCounter.html" title="class in org.apache.hadoop.hbase.procedure2.store.wal">ProcedureWALLoaderPerformanceEvaluation.LoadCounter</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#loadData-org.apache.hadoop.hbase.client.Table-byte:A:A-int-int-">loadData(Table, byte[][], int, int)</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncRegionAdminApi</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestMobSnapshotCloneIndependence.html#loadData-org.apache.hadoop.hbase.client.Table-byte:A...-">loadData(Table, byte[]...)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestMobSnapshotCloneIndependence.html" title="class in org.apache.hadoop.hbase.client">TestMobSnapshotCloneIndependence</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestSnapshotCloneIndependence.html#loadData-org.apache.hadoop.hbase.client.Table-byte:A...-">loadData(Table, byte[]...)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestSnapshotCloneIndependence.html" title="class in org.apache.hadoop.hbase.client">TestSnapshotCloneIndependence</a></dt>
@@ -26200,6 +26214,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/chaos/actions/TruncateTableAction.html#random">random</a></span> - Variable in class org.apache.hadoop.hbase.chaos.actions.<a href="org/apache/hadoop/hbase/chaos/actions/TruncateTableAction.html" title="class in org.apache.hadoop.hbase.chaos.actions">TruncateTableAction</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#RANDOM">RANDOM</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncRegionAdminApi</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestClientTimeouts.RandomTimeoutBlockingRpcChannel.html#RANDOM">RANDOM</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestClientTimeouts.RandomTimeoutBlockingRpcChannel.html" title="class in org.apache.hadoop.hbase.client">TestClientTimeouts.RandomTimeoutBlockingRpcChannel</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestFastFail.html#random">random</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestFastFail.html" title="class in org.apache.hadoop.hbase.client">TestFastFail</a></dt>
@@ -30861,6 +30877,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/TestFSHDFSUtils.html#setup--">setup()</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/TestFSHDFSUtils.html" title="class in org.apache.hadoop.hbase.util">TestFSHDFSUtils</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/TestFSUtils.html#setUp--">setUp()</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/TestFSUtils.html" title="class in org.apache.hadoop.hbase.util">TestFSUtils</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/TestFSVisitor.html#setUp--">setUp()</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/TestFSVisitor.html" title="class in org.apache.hadoop.hbase.util">TestFSVisitor</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/TestHBaseFsckEncryption.html#setUp--">setUp()</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/TestHBaseFsckEncryption.html" title="class in org.apache.hadoop.hbase.util">TestHBaseFsckEncryption</a></dt>
@@ -39361,6 +39379,10 @@
<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/regionserver/compactions/TestCompactor.StoreFileWritersCapture.Writer.html" title="class in org.apache.hadoop.hbase.regionserver.compactions"><span class="typeNameLink">TestCompactor.StoreFileWritersCapture.Writer</span></a> - Class in <a href="org/apache/hadoop/hbase/regionserver/compactions/package-summary.html">org.apache.hadoop.hbase.regionserver.compactions</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#testCompactRegionServer--">testCompactRegionServer()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncRegionAdminApi</a></dt>
+<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#testCompactRpcAPI--">testCompactRpcAPI()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncRegionAdminApi</a></dt>
+<dd> </dd>
<dt><a href="org/apache/hadoop/hbase/regionserver/TestCompactSplitThread.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestCompactSplitThread</span></a> - Class in <a href="org/apache/hadoop/hbase/regionserver/package-summary.html">org.apache.hadoop.hbase.regionserver</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestCompactSplitThread.html#TestCompactSplitThread--">TestCompactSplitThread()</a></span> - Constructor for class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestCompactSplitThread.html" title="class in org.apache.hadoop.hbase.regionserver">TestCompactSplitThread</a></dt>
@@ -41929,6 +41951,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestReplicasClient.html#testFlushTable--">testFlushTable()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestReplicasClient.html" title="class in org.apache.hadoop.hbase.client">TestReplicasClient</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#testFlushTableAndRegion--">testFlushTableAndRegion()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncRegionAdminApi</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/snapshot/TestFlushSnapshotFromClient.html#testFlushTableSnapshot--">testFlushTableSnapshot()</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>
<dd>
<div class="block">Test simple flush snapshotting a table that is online</div>
@@ -42603,6 +42627,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/favored/TestFavoredNodeAssignmentHelper.html#testGetOneRandomRack--">testGetOneRandomRack()</a></span> - Method in class org.apache.hadoop.hbase.favored.<a href="org/apache/hadoop/hbase/favored/TestFavoredNodeAssignmentHelper.html" title="class in org.apache.hadoop.hbase.favored">TestFavoredNodeAssignmentHelper</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#testGetOnlineRegions--">testGetOnlineRegions()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncRegionAdminApi</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestRegionReplicas.html#testGetOnTargetRegionReplica--">testGetOnTargetRegionReplica()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestRegionReplicas.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionReplicas</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestHCM.html#testGetOperationTimeout--">testGetOperationTimeout()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestHCM.html" title="class in org.apache.hadoop.hbase.client">TestHCM</a></dt>
[33/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
index e1c03e7..ccde903 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
@@ -293,76 +293,76 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<pre>private <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.71">m_regionServer</a></pre>
</li>
</ul>
-<a name="m_bcv">
+<a name="m_bcn">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_bcv</h4>
-<pre>private <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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.83">m_bcv</a></pre>
+<h4>m_bcn</h4>
+<pre>private <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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.83">m_bcn</a></pre>
</li>
</ul>
-<a name="m_bcv__IsNotDefault">
+<a name="m_bcn__IsNotDefault">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_bcv__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.88">m_bcv__IsNotDefault</a></pre>
+<h4>m_bcn__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.88">m_bcn__IsNotDefault</a></pre>
</li>
</ul>
-<a name="m_format">
+<a name="m_filter">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_format</h4>
-<pre>private <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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.100">m_format</a></pre>
+<h4>m_filter</h4>
+<pre>private <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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.100">m_filter</a></pre>
</li>
</ul>
-<a name="m_format__IsNotDefault">
+<a name="m_filter__IsNotDefault">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_format__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.105">m_format__IsNotDefault</a></pre>
+<h4>m_filter__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.105">m_filter__IsNotDefault</a></pre>
</li>
</ul>
-<a name="m_filter">
+<a name="m_format">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_filter</h4>
-<pre>private <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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.117">m_filter</a></pre>
+<h4>m_format</h4>
+<pre>private <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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.117">m_format</a></pre>
</li>
</ul>
-<a name="m_filter__IsNotDefault">
+<a name="m_format__IsNotDefault">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_filter__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.122">m_filter__IsNotDefault</a></pre>
+<h4>m_format__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.122">m_format__IsNotDefault</a></pre>
</li>
</ul>
-<a name="m_bcn">
+<a name="m_bcv">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>m_bcn</h4>
-<pre>private <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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.134">m_bcn</a></pre>
+<h4>m_bcv</h4>
+<pre>private <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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.134">m_bcv</a></pre>
</li>
</ul>
-<a name="m_bcn__IsNotDefault">
+<a name="m_bcv__IsNotDefault">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
-<h4>m_bcn__IsNotDefault</h4>
-<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.139">m_bcn__IsNotDefault</a></pre>
+<h4>m_bcv__IsNotDefault</h4>
+<pre>private boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.139">m_bcv__IsNotDefault</a></pre>
</li>
</ul>
</li>
@@ -408,112 +408,112 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
<pre>public <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.67">getRegionServer</a>()</pre>
</li>
</ul>
-<a name="setBcv-java.lang.String-">
+<a name="setBcn-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setBcv</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.73">setBcv</a>(<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> bcv)</pre>
+<h4>setBcn</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.73">setBcn</a>(<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> bcn)</pre>
</li>
</ul>
-<a name="getBcv--">
+<a name="getBcn--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getBcv</h4>
-<pre>public <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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.79">getBcv</a>()</pre>
+<h4>getBcn</h4>
+<pre>public <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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.79">getBcn</a>()</pre>
</li>
</ul>
-<a name="getBcv__IsNotDefault--">
+<a name="getBcn__IsNotDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getBcv__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.84">getBcv__IsNotDefault</a>()</pre>
+<h4>getBcn__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.84">getBcn__IsNotDefault</a>()</pre>
</li>
</ul>
-<a name="setFormat-java.lang.String-">
+<a name="setFilter-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setFormat</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.90">setFormat</a>(<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> format)</pre>
+<h4>setFilter</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.90">setFilter</a>(<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> filter)</pre>
</li>
</ul>
-<a name="getFormat--">
+<a name="getFilter--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getFormat</h4>
-<pre>public <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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.96">getFormat</a>()</pre>
+<h4>getFilter</h4>
+<pre>public <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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.96">getFilter</a>()</pre>
</li>
</ul>
-<a name="getFormat__IsNotDefault--">
+<a name="getFilter__IsNotDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getFormat__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.101">getFormat__IsNotDefault</a>()</pre>
+<h4>getFilter__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.101">getFilter__IsNotDefault</a>()</pre>
</li>
</ul>
-<a name="setFilter-java.lang.String-">
+<a name="setFormat-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setFilter</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.107">setFilter</a>(<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> filter)</pre>
+<h4>setFormat</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.107">setFormat</a>(<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> format)</pre>
</li>
</ul>
-<a name="getFilter--">
+<a name="getFormat--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getFilter</h4>
-<pre>public <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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.113">getFilter</a>()</pre>
+<h4>getFormat</h4>
+<pre>public <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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.113">getFormat</a>()</pre>
</li>
</ul>
-<a name="getFilter__IsNotDefault--">
+<a name="getFormat__IsNotDefault--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getFilter__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.118">getFilter__IsNotDefault</a>()</pre>
+<h4>getFormat__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.118">getFormat__IsNotDefault</a>()</pre>
</li>
</ul>
-<a name="setBcn-java.lang.String-">
+<a name="setBcv-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setBcn</h4>
-<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.124">setBcn</a>(<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> bcn)</pre>
+<h4>setBcv</h4>
+<pre>public void <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.124">setBcv</a>(<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> bcv)</pre>
</li>
</ul>
-<a name="getBcn--">
+<a name="getBcv--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>getBcn</h4>
-<pre>public <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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.130">getBcn</a>()</pre>
+<h4>getBcv</h4>
+<pre>public <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/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.130">getBcv</a>()</pre>
</li>
</ul>
-<a name="getBcn__IsNotDefault--">
+<a name="getBcv__IsNotDefault--">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
-<h4>getBcn__IsNotDefault</h4>
-<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.135">getBcn__IsNotDefault</a>()</pre>
+<h4>getBcv__IsNotDefault</h4>
+<pre>public boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.135">getBcv__IsNotDefault</a>()</pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
index e923d58..21d8cd2 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
@@ -297,40 +297,40 @@ extends org.jamon.AbstractTemplateProxy</pre>
<!-- -->
</a>
<h3>Field Detail</h3>
-<a name="bcv">
+<a name="bcn">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>bcv</h4>
-<pre>protected <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/tmpl/regionserver/RSStatusTmpl.html#line.151">bcv</a></pre>
+<h4>bcn</h4>
+<pre>protected <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/tmpl/regionserver/RSStatusTmpl.html#line.151">bcn</a></pre>
</li>
</ul>
-<a name="format">
+<a name="filter">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>format</h4>
-<pre>protected <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/tmpl/regionserver/RSStatusTmpl.html#line.158">format</a></pre>
+<h4>filter</h4>
+<pre>protected <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/tmpl/regionserver/RSStatusTmpl.html#line.158">filter</a></pre>
</li>
</ul>
-<a name="filter">
+<a name="format">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>filter</h4>
-<pre>protected <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/tmpl/regionserver/RSStatusTmpl.html#line.165">filter</a></pre>
+<h4>format</h4>
+<pre>protected <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/tmpl/regionserver/RSStatusTmpl.html#line.165">format</a></pre>
</li>
</ul>
-<a name="bcn">
+<a name="bcv">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
-<h4>bcn</h4>
-<pre>protected <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/tmpl/regionserver/RSStatusTmpl.html#line.172">bcn</a></pre>
+<h4>bcv</h4>
+<pre>protected <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/tmpl/regionserver/RSStatusTmpl.html#line.172">bcv</a></pre>
</li>
</ul>
</li>
@@ -402,40 +402,40 @@ extends org.jamon.AbstractTemplateProxy</pre>
</dl>
</li>
</ul>
-<a name="setBcv-java.lang.String-">
+<a name="setBcn-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setBcv</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.152">setBcv</a>(<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> p_bcv)</pre>
+<h4>setBcn</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.152">setBcn</a>(<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> p_bcn)</pre>
</li>
</ul>
-<a name="setFormat-java.lang.String-">
+<a name="setFilter-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setFormat</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.159">setFormat</a>(<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> p_format)</pre>
+<h4>setFilter</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.159">setFilter</a>(<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> p_filter)</pre>
</li>
</ul>
-<a name="setFilter-java.lang.String-">
+<a name="setFormat-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setFilter</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.166">setFilter</a>(<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> p_filter)</pre>
+<h4>setFormat</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.166">setFormat</a>(<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> p_format)</pre>
</li>
</ul>
-<a name="setBcn-java.lang.String-">
+<a name="setBcv-java.lang.String-">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>setBcn</h4>
-<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.173">setBcn</a>(<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> p_bcn)</pre>
+<h4>setBcv</h4>
+<pre>public final <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.173">setBcv</a>(<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> p_bcv)</pre>
</li>
</ul>
<a name="constructImpl-java.lang.Class-">
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
index e4ea8fb..4dd647a 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
@@ -238,40 +238,40 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
<pre>private final <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.28">regionServer</a></pre>
</li>
</ul>
-<a name="bcv">
+<a name="bcn">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>bcv</h4>
-<pre>private final <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/tmpl/regionserver/RSStatusTmplImpl.html#line.29">bcv</a></pre>
+<h4>bcn</h4>
+<pre>private final <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/tmpl/regionserver/RSStatusTmplImpl.html#line.29">bcn</a></pre>
</li>
</ul>
-<a name="format">
+<a name="filter">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>format</h4>
-<pre>private final <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/tmpl/regionserver/RSStatusTmplImpl.html#line.30">format</a></pre>
+<h4>filter</h4>
+<pre>private final <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/tmpl/regionserver/RSStatusTmplImpl.html#line.30">filter</a></pre>
</li>
</ul>
-<a name="filter">
+<a name="format">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
-<h4>filter</h4>
-<pre>private final <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/tmpl/regionserver/RSStatusTmplImpl.html#line.31">filter</a></pre>
+<h4>format</h4>
+<pre>private final <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/tmpl/regionserver/RSStatusTmplImpl.html#line.31">format</a></pre>
</li>
</ul>
-<a name="bcn">
+<a name="bcv">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
-<h4>bcn</h4>
-<pre>private final <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/tmpl/regionserver/RSStatusTmplImpl.html#line.32">bcn</a></pre>
+<h4>bcv</h4>
+<pre>private final <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/tmpl/regionserver/RSStatusTmplImpl.html#line.32">bcv</a></pre>
</li>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 8d2e2af..d8a0347 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -519,14 +519,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><E> (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><T>, 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/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><T>)</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/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><T>)</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/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/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/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/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/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><T>)</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>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 a7506e9..f5e5a86 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><E> (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><T>, 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/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>
+<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>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 a76a3b1..411342e 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 = "2.0.0-SNAPSHOT";<a name="line.10"></a>
-<span class="sourceLineNo">011</span> public static final String revision = "2de6b051f67b6a55eda8d4e247328fda24484adb";<a name="line.11"></a>
+<span class="sourceLineNo">011</span> public static final String revision = "2026540ea347e9359e6ac8cf8b3701cd3872a515";<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 = "Thu May 4 14:39:02 UTC 2017";<a name="line.13"></a>
+<span class="sourceLineNo">013</span> public static final String date = "Fri May 5 14:38:49 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 = "f7cfe544cca51d154aee357b8d8e159d";<a name="line.15"></a>
+<span class="sourceLineNo">015</span> public static final String srcChecksum = "54f389bd1b972e2318608b4907b1209d";<a name="line.15"></a>
<span class="sourceLineNo">016</span>}<a name="line.16"></a>
[43/43] 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/e2c783b2
Tree: http://git-wip-us.apache.org/repos/asf/hbase-site/tree/e2c783b2
Diff: http://git-wip-us.apache.org/repos/asf/hbase-site/diff/e2c783b2
Branch: refs/heads/asf-site
Commit: e2c783b2ddd7fe052b736801e383eff405618ecb
Parents: 02b3350
Author: jenkins <bu...@apache.org>
Authored: Fri May 5 14:58:21 2017 +0000
Committer: jenkins <bu...@apache.org>
Committed: Fri May 5 14:58:21 2017 +0000
----------------------------------------------------------------------
acid-semantics.html | 4 +-
apache_hbase_reference_guide.pdf | 4 +-
apache_hbase_reference_guide.pdfmarks | 4 +-
.../hbase/mapreduce/TableMapReduceUtil.html | 6 +-
.../hbase/mapreduce/TableMapReduceUtil.html | 473 +-
bulk-loads.html | 4 +-
checkstyle-aggregate.html | 29312 +++++++++--------
checkstyle.rss | 4 +-
coc.html | 4 +-
cygwin.html | 4 +-
dependencies.html | 4 +-
dependency-convergence.html | 4 +-
dependency-info.html | 4 +-
dependency-management.html | 4 +-
devapidocs/constant-values.html | 25 +-
devapidocs/index-all.html | 98 +
.../hadoop/hbase/backup/package-tree.html | 2 +-
.../hadoop/hbase/class-use/HRegionInfo.html | 49 +-
.../hadoop/hbase/class-use/HRegionLocation.html | 16 +-
.../hadoop/hbase/class-use/ServerName.html | 46 +-
.../hadoop/hbase/class-use/TableName.html | 251 +-
.../hbase/classification/package-tree.html | 8 +-
.../apache/hadoop/hbase/client/AsyncAdmin.html | 514 +-
...dmin.AddColumnFamilyProcedureBiConsumer.html | 6 +-
.../client/AsyncHBaseAdmin.AdminRpcCall.html | 4 +-
.../hbase/client/AsyncHBaseAdmin.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 +-
.../client/AsyncHBaseAdmin.MasterRpcCall.html | 4 +-
...min.MergeTableRegionProcedureBiConsumer.html | 6 +-
...n.ModifyColumnFamilyProcedureBiConsumer.html | 6 +-
...dmin.ModifyNamespaceProcedureBiConsumer.html | 6 +-
...HBaseAdmin.NamespaceProcedureBiConsumer.html | 14 +-
.../AsyncHBaseAdmin.ProcedureBiConsumer.html | 12 +-
.../client/AsyncHBaseAdmin.TableOperator.html | 4 +-
...syncHBaseAdmin.TableProcedureBiConsumer.html | 14 +-
...eAdmin.TruncateTableProcedureBiConsumer.html | 6 +-
.../hadoop/hbase/client/AsyncHBaseAdmin.html | 856 +-
.../hbase/client/class-use/CompactType.html | 29 +-
.../hadoop/hbase/client/package-tree.html | 24 +-
.../hadoop/hbase/executor/package-tree.html | 2 +-
.../hadoop/hbase/filter/package-tree.html | 10 +-
.../hadoop/hbase/io/hfile/package-tree.html | 4 +-
.../apache/hadoop/hbase/ipc/package-tree.html | 2 +-
.../hbase/mapreduce/TableMapReduceUtil.html | 16 +-
.../hadoop/hbase/mapreduce/package-tree.html | 4 +-
.../hadoop/hbase/master/package-tree.html | 6 +-
.../hbase/master/procedure/package-tree.html | 2 +-
.../org/apache/hadoop/hbase/package-tree.html | 12 +-
.../hadoop/hbase/procedure2/package-tree.html | 2 +-
.../hadoop/hbase/quotas/package-tree.html | 4 +-
.../CompactSplitThread.CompactionRunner.html | 27 +-
.../CompactSplitThread.Rejection.html | 6 +-
.../hbase/regionserver/CompactSplitThread.html | 16 +-
.../hadoop/hbase/regionserver/package-tree.html | 22 +-
.../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 +-
.../tmpl/master/MasterStatusTmpl.ImplData.html | 270 +-
.../hbase/tmpl/master/MasterStatusTmpl.html | 108 +-
.../hbase/tmpl/master/MasterStatusTmplImpl.html | 54 +-
.../regionserver/RSStatusTmpl.ImplData.html | 120 +-
.../hbase/tmpl/regionserver/RSStatusTmpl.html | 48 +-
.../tmpl/regionserver/RSStatusTmplImpl.html | 24 +-
.../apache/hadoop/hbase/util/package-tree.html | 8 +-
.../apache/hadoop/hbase/wal/package-tree.html | 2 +-
.../org/apache/hadoop/hbase/Version.html | 6 +-
.../apache/hadoop/hbase/client/AsyncAdmin.html | 835 +-
...dmin.AddColumnFamilyProcedureBiConsumer.html | 4408 +--
.../client/AsyncHBaseAdmin.AdminRpcCall.html | 4408 +--
.../hbase/client/AsyncHBaseAdmin.Converter.html | 4408 +--
...dmin.CreateNamespaceProcedureBiConsumer.html | 4408 +--
...aseAdmin.CreateTableProcedureBiConsumer.html | 4408 +--
...n.DeleteColumnFamilyProcedureBiConsumer.html | 4408 +--
...dmin.DeleteNamespaceProcedureBiConsumer.html | 4408 +--
...aseAdmin.DeleteTableProcedureBiConsumer.html | 4408 +--
...seAdmin.DisableTableProcedureBiConsumer.html | 4408 +--
...aseAdmin.EnableTableProcedureBiConsumer.html | 4408 +--
.../client/AsyncHBaseAdmin.MasterRpcCall.html | 4408 +--
...min.MergeTableRegionProcedureBiConsumer.html | 4408 +--
...n.ModifyColumnFamilyProcedureBiConsumer.html | 4408 +--
...dmin.ModifyNamespaceProcedureBiConsumer.html | 4408 +--
...HBaseAdmin.NamespaceProcedureBiConsumer.html | 4408 +--
.../AsyncHBaseAdmin.ProcedureBiConsumer.html | 4408 +--
.../client/AsyncHBaseAdmin.TableOperator.html | 4408 +--
...syncHBaseAdmin.TableProcedureBiConsumer.html | 4408 +--
...eAdmin.TruncateTableProcedureBiConsumer.html | 4408 +--
.../hadoop/hbase/client/AsyncHBaseAdmin.html | 4408 +--
.../hbase/mapreduce/TableMapReduceUtil.html | 473 +-
.../CompactSplitThread.CompactionRunner.html | 503 +-
.../CompactSplitThread.Rejection.html | 503 +-
.../hbase/regionserver/CompactSplitThread.html | 503 +-
.../tmpl/master/MasterStatusTmpl.ImplData.html | 270 +-
.../tmpl/master/MasterStatusTmpl.Intf.html | 270 +-
.../hbase/tmpl/master/MasterStatusTmpl.html | 270 +-
.../hbase/tmpl/master/MasterStatusTmplImpl.html | 76 +-
.../regionserver/RSStatusTmpl.ImplData.html | 120 +-
.../tmpl/regionserver/RSStatusTmpl.Intf.html | 120 +-
.../hbase/tmpl/regionserver/RSStatusTmpl.html | 120 +-
.../tmpl/regionserver/RSStatusTmplImpl.html | 36 +-
export_control.html | 4 +-
hbase-annotations/checkstyle.html | 6 +-
hbase-annotations/dependencies.html | 6 +-
hbase-annotations/dependency-convergence.html | 6 +-
hbase-annotations/dependency-info.html | 6 +-
hbase-annotations/dependency-management.html | 6 +-
hbase-annotations/index.html | 6 +-
hbase-annotations/integration.html | 6 +-
hbase-annotations/issue-tracking.html | 6 +-
hbase-annotations/license.html | 6 +-
hbase-annotations/mail-lists.html | 6 +-
hbase-annotations/plugin-management.html | 6 +-
hbase-annotations/plugins.html | 6 +-
hbase-annotations/project-info.html | 6 +-
hbase-annotations/project-reports.html | 6 +-
hbase-annotations/project-summary.html | 6 +-
hbase-annotations/source-repository.html | 6 +-
hbase-annotations/team-list.html | 6 +-
hbase-archetypes/dependencies.html | 6 +-
hbase-archetypes/dependency-convergence.html | 6 +-
hbase-archetypes/dependency-info.html | 6 +-
hbase-archetypes/dependency-management.html | 6 +-
.../hbase-archetype-builder/dependencies.html | 6 +-
.../dependency-convergence.html | 6 +-
.../dependency-info.html | 6 +-
.../dependency-management.html | 6 +-
.../hbase-archetype-builder/index.html | 6 +-
.../hbase-archetype-builder/integration.html | 6 +-
.../hbase-archetype-builder/issue-tracking.html | 6 +-
.../hbase-archetype-builder/license.html | 6 +-
.../hbase-archetype-builder/mail-lists.html | 6 +-
.../plugin-management.html | 6 +-
.../hbase-archetype-builder/plugins.html | 6 +-
.../hbase-archetype-builder/project-info.html | 6 +-
.../project-summary.html | 6 +-
.../source-repository.html | 6 +-
.../hbase-archetype-builder/team-list.html | 6 +-
.../hbase-client-project/checkstyle.html | 6 +-
.../hbase-client-project/dependencies.html | 10 +-
.../dependency-convergence.html | 6 +-
.../hbase-client-project/dependency-info.html | 6 +-
.../dependency-management.html | 6 +-
.../hbase-client-project/index.html | 6 +-
.../hbase-client-project/integration.html | 6 +-
.../hbase-client-project/issue-tracking.html | 6 +-
.../hbase-client-project/license.html | 6 +-
.../hbase-client-project/mail-lists.html | 6 +-
.../hbase-client-project/plugin-management.html | 6 +-
.../hbase-client-project/plugins.html | 6 +-
.../hbase-client-project/project-info.html | 6 +-
.../hbase-client-project/project-reports.html | 6 +-
.../hbase-client-project/project-summary.html | 6 +-
.../hbase-client-project/source-repository.html | 6 +-
.../hbase-client-project/team-list.html | 6 +-
.../hbase-shaded-client-project/checkstyle.html | 6 +-
.../dependencies.html | 8 +-
.../dependency-convergence.html | 6 +-
.../dependency-info.html | 6 +-
.../dependency-management.html | 6 +-
.../hbase-shaded-client-project/index.html | 6 +-
.../integration.html | 6 +-
.../issue-tracking.html | 6 +-
.../hbase-shaded-client-project/license.html | 6 +-
.../hbase-shaded-client-project/mail-lists.html | 6 +-
.../plugin-management.html | 6 +-
.../hbase-shaded-client-project/plugins.html | 6 +-
.../project-info.html | 6 +-
.../project-reports.html | 6 +-
.../project-summary.html | 6 +-
.../source-repository.html | 6 +-
.../hbase-shaded-client-project/team-list.html | 6 +-
hbase-archetypes/index.html | 6 +-
hbase-archetypes/integration.html | 6 +-
hbase-archetypes/issue-tracking.html | 6 +-
hbase-archetypes/license.html | 6 +-
hbase-archetypes/mail-lists.html | 6 +-
hbase-archetypes/plugin-management.html | 6 +-
hbase-archetypes/plugins.html | 6 +-
hbase-archetypes/project-info.html | 6 +-
hbase-archetypes/project-summary.html | 6 +-
hbase-archetypes/source-repository.html | 6 +-
hbase-archetypes/team-list.html | 6 +-
hbase-spark/checkstyle.html | 6 +-
hbase-spark/dependencies.html | 6 +-
hbase-spark/dependency-convergence.html | 6 +-
hbase-spark/dependency-info.html | 6 +-
hbase-spark/dependency-management.html | 6 +-
hbase-spark/index.html | 6 +-
hbase-spark/integration.html | 6 +-
hbase-spark/issue-tracking.html | 6 +-
hbase-spark/license.html | 6 +-
hbase-spark/mail-lists.html | 6 +-
hbase-spark/plugin-management.html | 6 +-
hbase-spark/plugins.html | 6 +-
hbase-spark/project-info.html | 6 +-
hbase-spark/project-reports.html | 6 +-
hbase-spark/project-summary.html | 6 +-
hbase-spark/source-repository.html | 6 +-
hbase-spark/team-list.html | 6 +-
index.html | 4 +-
integration.html | 4 +-
issue-tracking.html | 4 +-
license.html | 4 +-
mail-lists.html | 4 +-
metrics.html | 4 +-
old_news.html | 4 +-
plugin-management.html | 4 +-
plugins.html | 4 +-
poweredbyhbase.html | 4 +-
project-info.html | 4 +-
project-reports.html | 4 +-
project-summary.html | 4 +-
pseudo-distributed.html | 4 +-
replication.html | 4 +-
resources.html | 4 +-
source-repository.html | 4 +-
sponsors.html | 4 +-
supportingprojects.html | 4 +-
team-list.html | 4 +-
testdevapidocs/index-all.html | 26 +
.../hbase/class-use/HBaseTestingUtility.html | 26 +-
.../hbase/client/TestAsyncRegionAdminApi.html | 252 +-
.../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 | 4 +-
.../apache/hadoop/hbase/test/package-tree.html | 2 +-
.../apache/hadoop/hbase/util/TestFSUtils.html | 137 +-
.../apache/hadoop/hbase/wal/package-tree.html | 2 +-
.../hbase/client/TestAsyncRegionAdminApi.html | 1035 +-
.../apache/hadoop/hbase/util/TestFSUtils.html | 1036 +-
237 files changed, 67603 insertions(+), 60534 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/acid-semantics.html
----------------------------------------------------------------------
diff --git a/acid-semantics.html b/acid-semantics.html
index a401664..f3399f0 100644
--- a/acid-semantics.html
+++ b/acid-semantics.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Apache HBase (TM) ACID Properties
@@ -606,7 +606,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 10738a2..4d604c8 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:20170504144726+00'00')
-/ModDate (D:20170504144726+00'00')
+/CreationDate (D:20170505144712+00'00')
+/ModDate (D:20170505144712+00'00')
>>
endobj
2 0 obj
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/apache_hbase_reference_guide.pdfmarks
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdfmarks b/apache_hbase_reference_guide.pdfmarks
index 778d29e..aabeb9e 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:20170504144848)
- /CreationDate (D:20170504144848)
+ /ModDate (D:20170505144835)
+ /CreationDate (D:20170505144835)
/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/e2c783b2/apidocs/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html b/apidocs/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
index 8be2297..5e98a0b 100644
--- a/apidocs/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
+++ b/apidocs/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
@@ -1223,7 +1223,7 @@ public static void <a href="../../../../../src-html/org/apache/hadoop/
<ul class="blockList">
<li class="blockList">
<h4>buildDependencyClasspath</h4>
-<pre>public static <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/mapreduce/TableMapReduceUtil.html#line.804">buildDependencyClasspath</a>(org.apache.hadoop.conf.Configuration conf)</pre>
+<pre>public static <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/mapreduce/TableMapReduceUtil.html#line.805">buildDependencyClasspath</a>(org.apache.hadoop.conf.Configuration conf)</pre>
<div class="block">Returns a classpath string built from the content of the "tmpjars" value in <code>conf</code>.
Also exposed to shell scripts via `bin/hbase mapredcp`.</div>
</li>
@@ -1234,7 +1234,7 @@ public static void <a href="../../../../../src-html/org/apache/hadoop/
<ul class="blockList">
<li class="blockList">
<h4>addDependencyJars</h4>
-<pre>public static void <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#line.828">addDependencyJars</a>(org.apache.hadoop.mapreduce.Job job)
+<pre>public static void <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#line.829">addDependencyJars</a>(org.apache.hadoop.mapreduce.Job job)
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>
<div class="block">Add the HBase dependency jars as well as jars for any of the configured
job classes to the job configuration, so that JobClient will ship them
@@ -1252,7 +1252,7 @@ public static void <a href="../../../../../src-html/org/apache/hadoop/
<li class="blockList">
<h4>addDependencyJars</h4>
<pre><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Deprecated.html?is-external=true" title="class or interface in java.lang">@Deprecated</a>
-public static void <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#line.854">addDependencyJars</a>(org.apache.hadoop.conf.Configuration conf,
+public static void <a href="../../../../../src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#line.855">addDependencyJars</a>(org.apache.hadoop.conf.Configuration conf,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a><?>... classes)
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>
<div class="block"><span class="deprecatedLabel">Deprecated.</span> <span class="deprecationComment">rely on <a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html#addDependencyJars-org.apache.hadoop.mapreduce.Job-"><code>addDependencyJars(Job)</code></a> instead.</span></div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
index bf0bc21..bd316ac 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.html
@@ -795,242 +795,243 @@
<span class="sourceLineNo">787</span> org.apache.hadoop.hbase.CompatibilityFactory.class, // hbase-hadoop-compat<a name="line.787"></a>
<span class="sourceLineNo">788</span> org.apache.hadoop.hbase.mapreduce.TableMapper.class, // hbase-server<a name="line.788"></a>
<span class="sourceLineNo">789</span> org.apache.hadoop.hbase.metrics.impl.FastLongHistogram.class, // hbase-metrics<a name="line.789"></a>
-<span class="sourceLineNo">790</span> prefixTreeCodecClass, // hbase-prefix-tree (if null will be skipped)<a name="line.790"></a>
-<span class="sourceLineNo">791</span> // pull necessary dependencies<a name="line.791"></a>
-<span class="sourceLineNo">792</span> org.apache.zookeeper.ZooKeeper.class,<a name="line.792"></a>
-<span class="sourceLineNo">793</span> io.netty.channel.Channel.class,<a name="line.793"></a>
-<span class="sourceLineNo">794</span> com.google.protobuf.Message.class,<a name="line.794"></a>
-<span class="sourceLineNo">795</span> com.google.common.collect.Lists.class,<a name="line.795"></a>
-<span class="sourceLineNo">796</span> org.apache.htrace.Trace.class,<a name="line.796"></a>
-<span class="sourceLineNo">797</span> com.codahale.metrics.MetricRegistry.class);<a name="line.797"></a>
-<span class="sourceLineNo">798</span> }<a name="line.798"></a>
-<span class="sourceLineNo">799</span><a name="line.799"></a>
-<span class="sourceLineNo">800</span> /**<a name="line.800"></a>
-<span class="sourceLineNo">801</span> * Returns a classpath string built from the content of the "tmpjars" value in {@code conf}.<a name="line.801"></a>
-<span class="sourceLineNo">802</span> * Also exposed to shell scripts via `bin/hbase mapredcp`.<a name="line.802"></a>
-<span class="sourceLineNo">803</span> */<a name="line.803"></a>
-<span class="sourceLineNo">804</span> public static String buildDependencyClasspath(Configuration conf) {<a name="line.804"></a>
-<span class="sourceLineNo">805</span> if (conf == null) {<a name="line.805"></a>
-<span class="sourceLineNo">806</span> throw new IllegalArgumentException("Must provide a configuration object.");<a name="line.806"></a>
-<span class="sourceLineNo">807</span> }<a name="line.807"></a>
-<span class="sourceLineNo">808</span> Set<String> paths = new HashSet<>(conf.getStringCollection("tmpjars"));<a name="line.808"></a>
-<span class="sourceLineNo">809</span> if (paths.isEmpty()) {<a name="line.809"></a>
-<span class="sourceLineNo">810</span> throw new IllegalArgumentException("Configuration contains no tmpjars.");<a name="line.810"></a>
-<span class="sourceLineNo">811</span> }<a name="line.811"></a>
-<span class="sourceLineNo">812</span> StringBuilder sb = new StringBuilder();<a name="line.812"></a>
-<span class="sourceLineNo">813</span> for (String s : paths) {<a name="line.813"></a>
-<span class="sourceLineNo">814</span> // entries can take the form 'file:/path/to/file.jar'.<a name="line.814"></a>
-<span class="sourceLineNo">815</span> int idx = s.indexOf(":");<a name="line.815"></a>
-<span class="sourceLineNo">816</span> if (idx != -1) s = s.substring(idx + 1);<a name="line.816"></a>
-<span class="sourceLineNo">817</span> if (sb.length() > 0) sb.append(File.pathSeparator);<a name="line.817"></a>
-<span class="sourceLineNo">818</span> sb.append(s);<a name="line.818"></a>
-<span class="sourceLineNo">819</span> }<a name="line.819"></a>
-<span class="sourceLineNo">820</span> return sb.toString();<a name="line.820"></a>
-<span class="sourceLineNo">821</span> }<a name="line.821"></a>
-<span class="sourceLineNo">822</span><a name="line.822"></a>
-<span class="sourceLineNo">823</span> /**<a name="line.823"></a>
-<span class="sourceLineNo">824</span> * Add the HBase dependency jars as well as jars for any of the configured<a name="line.824"></a>
-<span class="sourceLineNo">825</span> * job classes to the job configuration, so that JobClient will ship them<a name="line.825"></a>
-<span class="sourceLineNo">826</span> * to the cluster and add them to the DistributedCache.<a name="line.826"></a>
-<span class="sourceLineNo">827</span> */<a name="line.827"></a>
-<span class="sourceLineNo">828</span> public static void addDependencyJars(Job job) throws IOException {<a name="line.828"></a>
-<span class="sourceLineNo">829</span> addHBaseDependencyJars(job.getConfiguration());<a name="line.829"></a>
-<span class="sourceLineNo">830</span> try {<a name="line.830"></a>
-<span class="sourceLineNo">831</span> addDependencyJarsForClasses(job.getConfiguration(),<a name="line.831"></a>
-<span class="sourceLineNo">832</span> // when making changes here, consider also mapred.TableMapReduceUtil<a name="line.832"></a>
-<span class="sourceLineNo">833</span> // pull job classes<a name="line.833"></a>
-<span class="sourceLineNo">834</span> job.getMapOutputKeyClass(),<a name="line.834"></a>
-<span class="sourceLineNo">835</span> job.getMapOutputValueClass(),<a name="line.835"></a>
-<span class="sourceLineNo">836</span> job.getInputFormatClass(),<a name="line.836"></a>
-<span class="sourceLineNo">837</span> job.getOutputKeyClass(),<a name="line.837"></a>
-<span class="sourceLineNo">838</span> job.getOutputValueClass(),<a name="line.838"></a>
-<span class="sourceLineNo">839</span> job.getOutputFormatClass(),<a name="line.839"></a>
-<span class="sourceLineNo">840</span> job.getPartitionerClass(),<a name="line.840"></a>
-<span class="sourceLineNo">841</span> job.getCombinerClass());<a name="line.841"></a>
-<span class="sourceLineNo">842</span> } catch (ClassNotFoundException e) {<a name="line.842"></a>
-<span class="sourceLineNo">843</span> throw new IOException(e);<a name="line.843"></a>
-<span class="sourceLineNo">844</span> }<a name="line.844"></a>
-<span class="sourceLineNo">845</span> }<a name="line.845"></a>
-<span class="sourceLineNo">846</span><a name="line.846"></a>
-<span class="sourceLineNo">847</span> /**<a name="line.847"></a>
-<span class="sourceLineNo">848</span> * Add the jars containing the given classes to the job's configuration<a name="line.848"></a>
-<span class="sourceLineNo">849</span> * such that JobClient will ship them to the cluster and add them to<a name="line.849"></a>
-<span class="sourceLineNo">850</span> * the DistributedCache.<a name="line.850"></a>
-<span class="sourceLineNo">851</span> * @deprecated rely on {@link #addDependencyJars(Job)} instead.<a name="line.851"></a>
-<span class="sourceLineNo">852</span> */<a name="line.852"></a>
-<span class="sourceLineNo">853</span> @Deprecated<a name="line.853"></a>
-<span class="sourceLineNo">854</span> public static void addDependencyJars(Configuration conf,<a name="line.854"></a>
-<span class="sourceLineNo">855</span> Class<?>... classes) throws IOException {<a name="line.855"></a>
-<span class="sourceLineNo">856</span> LOG.warn("The addDependencyJars(Configuration, Class<?>...) method has been deprecated since it"<a name="line.856"></a>
-<span class="sourceLineNo">857</span> + " is easy to use incorrectly. Most users should rely on addDependencyJars(Job) " +<a name="line.857"></a>
-<span class="sourceLineNo">858</span> "instead. See HBASE-8386 for more details.");<a name="line.858"></a>
-<span class="sourceLineNo">859</span> addDependencyJarsForClasses(conf, classes);<a name="line.859"></a>
-<span class="sourceLineNo">860</span> }<a name="line.860"></a>
-<span class="sourceLineNo">861</span><a name="line.861"></a>
-<span class="sourceLineNo">862</span> /**<a name="line.862"></a>
-<span class="sourceLineNo">863</span> * Add the jars containing the given classes to the job's configuration<a name="line.863"></a>
-<span class="sourceLineNo">864</span> * such that JobClient will ship them to the cluster and add them to<a name="line.864"></a>
-<span class="sourceLineNo">865</span> * the DistributedCache.<a name="line.865"></a>
-<span class="sourceLineNo">866</span> *<a name="line.866"></a>
-<span class="sourceLineNo">867</span> * N.B. that this method at most adds one jar per class given. If there is more than one<a name="line.867"></a>
-<span class="sourceLineNo">868</span> * jar available containing a class with the same name as a given class, we don't define<a name="line.868"></a>
-<span class="sourceLineNo">869</span> * which of those jars might be chosen.<a name="line.869"></a>
-<span class="sourceLineNo">870</span> *<a name="line.870"></a>
-<span class="sourceLineNo">871</span> * @param conf The Hadoop Configuration to modify<a name="line.871"></a>
-<span class="sourceLineNo">872</span> * @param classes will add just those dependencies needed to find the given classes<a name="line.872"></a>
-<span class="sourceLineNo">873</span> * @throws IOException if an underlying library call fails.<a name="line.873"></a>
-<span class="sourceLineNo">874</span> */<a name="line.874"></a>
-<span class="sourceLineNo">875</span> @InterfaceAudience.Private<a name="line.875"></a>
-<span class="sourceLineNo">876</span> public static void addDependencyJarsForClasses(Configuration conf,<a name="line.876"></a>
-<span class="sourceLineNo">877</span> Class<?>... classes) throws IOException {<a name="line.877"></a>
-<span class="sourceLineNo">878</span><a name="line.878"></a>
-<span class="sourceLineNo">879</span> FileSystem localFs = FileSystem.getLocal(conf);<a name="line.879"></a>
-<span class="sourceLineNo">880</span> Set<String> jars = new HashSet<>();<a name="line.880"></a>
-<span class="sourceLineNo">881</span> // Add jars that are already in the tmpjars variable<a name="line.881"></a>
-<span class="sourceLineNo">882</span> jars.addAll(conf.getStringCollection("tmpjars"));<a name="line.882"></a>
-<span class="sourceLineNo">883</span><a name="line.883"></a>
-<span class="sourceLineNo">884</span> // add jars as we find them to a map of contents jar name so that we can avoid<a name="line.884"></a>
-<span class="sourceLineNo">885</span> // creating new jars for classes that have already been packaged.<a name="line.885"></a>
-<span class="sourceLineNo">886</span> Map<String, String> packagedClasses = new HashMap<>();<a name="line.886"></a>
-<span class="sourceLineNo">887</span><a name="line.887"></a>
-<span class="sourceLineNo">888</span> // Add jars containing the specified classes<a name="line.888"></a>
-<span class="sourceLineNo">889</span> for (Class<?> clazz : classes) {<a name="line.889"></a>
-<span class="sourceLineNo">890</span> if (clazz == null) continue;<a name="line.890"></a>
-<span class="sourceLineNo">891</span><a name="line.891"></a>
-<span class="sourceLineNo">892</span> Path path = findOrCreateJar(clazz, localFs, packagedClasses);<a name="line.892"></a>
-<span class="sourceLineNo">893</span> if (path == null) {<a name="line.893"></a>
-<span class="sourceLineNo">894</span> LOG.warn("Could not find jar for class " + clazz +<a name="line.894"></a>
-<span class="sourceLineNo">895</span> " in order to ship it to the cluster.");<a name="line.895"></a>
-<span class="sourceLineNo">896</span> continue;<a name="line.896"></a>
-<span class="sourceLineNo">897</span> }<a name="line.897"></a>
-<span class="sourceLineNo">898</span> if (!localFs.exists(path)) {<a name="line.898"></a>
-<span class="sourceLineNo">899</span> LOG.warn("Could not validate jar file " + path + " for class "<a name="line.899"></a>
-<span class="sourceLineNo">900</span> + clazz);<a name="line.900"></a>
-<span class="sourceLineNo">901</span> continue;<a name="line.901"></a>
-<span class="sourceLineNo">902</span> }<a name="line.902"></a>
-<span class="sourceLineNo">903</span> jars.add(path.toString());<a name="line.903"></a>
-<span class="sourceLineNo">904</span> }<a name="line.904"></a>
-<span class="sourceLineNo">905</span> if (jars.isEmpty()) return;<a name="line.905"></a>
-<span class="sourceLineNo">906</span><a name="line.906"></a>
-<span class="sourceLineNo">907</span> conf.set("tmpjars", StringUtils.arrayToString(jars.toArray(new String[jars.size()])));<a name="line.907"></a>
-<span class="sourceLineNo">908</span> }<a name="line.908"></a>
-<span class="sourceLineNo">909</span><a name="line.909"></a>
-<span class="sourceLineNo">910</span> /**<a name="line.910"></a>
-<span class="sourceLineNo">911</span> * Finds the Jar for a class or creates it if it doesn't exist. If the class is in<a name="line.911"></a>
-<span class="sourceLineNo">912</span> * a directory in the classpath, it creates a Jar on the fly with the<a name="line.912"></a>
-<span class="sourceLineNo">913</span> * contents of the directory and returns the path to that Jar. If a Jar is<a name="line.913"></a>
-<span class="sourceLineNo">914</span> * created, it is created in the system temporary directory. Otherwise,<a name="line.914"></a>
-<span class="sourceLineNo">915</span> * returns an existing jar that contains a class of the same name. Maintains<a name="line.915"></a>
-<span class="sourceLineNo">916</span> * a mapping from jar contents to the tmp jar created.<a name="line.916"></a>
-<span class="sourceLineNo">917</span> * @param my_class the class to find.<a name="line.917"></a>
-<span class="sourceLineNo">918</span> * @param fs the FileSystem with which to qualify the returned path.<a name="line.918"></a>
-<span class="sourceLineNo">919</span> * @param packagedClasses a map of class name to path.<a name="line.919"></a>
-<span class="sourceLineNo">920</span> * @return a jar file that contains the class.<a name="line.920"></a>
-<span class="sourceLineNo">921</span> * @throws IOException<a name="line.921"></a>
-<span class="sourceLineNo">922</span> */<a name="line.922"></a>
-<span class="sourceLineNo">923</span> private static Path findOrCreateJar(Class<?> my_class, FileSystem fs,<a name="line.923"></a>
-<span class="sourceLineNo">924</span> Map<String, String> packagedClasses)<a name="line.924"></a>
-<span class="sourceLineNo">925</span> throws IOException {<a name="line.925"></a>
-<span class="sourceLineNo">926</span> // attempt to locate an existing jar for the class.<a name="line.926"></a>
-<span class="sourceLineNo">927</span> String jar = findContainingJar(my_class, packagedClasses);<a name="line.927"></a>
-<span class="sourceLineNo">928</span> if (null == jar || jar.isEmpty()) {<a name="line.928"></a>
-<span class="sourceLineNo">929</span> jar = getJar(my_class);<a name="line.929"></a>
-<span class="sourceLineNo">930</span> updateMap(jar, packagedClasses);<a name="line.930"></a>
-<span class="sourceLineNo">931</span> }<a name="line.931"></a>
-<span class="sourceLineNo">932</span><a name="line.932"></a>
-<span class="sourceLineNo">933</span> if (null == jar || jar.isEmpty()) {<a name="line.933"></a>
-<span class="sourceLineNo">934</span> return null;<a name="line.934"></a>
-<span class="sourceLineNo">935</span> }<a name="line.935"></a>
-<span class="sourceLineNo">936</span><a name="line.936"></a>
-<span class="sourceLineNo">937</span> LOG.debug(String.format("For class %s, using jar %s", my_class.getName(), jar));<a name="line.937"></a>
-<span class="sourceLineNo">938</span> return new Path(jar).makeQualified(fs);<a name="line.938"></a>
-<span class="sourceLineNo">939</span> }<a name="line.939"></a>
-<span class="sourceLineNo">940</span><a name="line.940"></a>
-<span class="sourceLineNo">941</span> /**<a name="line.941"></a>
-<span class="sourceLineNo">942</span> * Add entries to <code>packagedClasses</code> corresponding to class files<a name="line.942"></a>
-<span class="sourceLineNo">943</span> * contained in <code>jar</code>.<a name="line.943"></a>
-<span class="sourceLineNo">944</span> * @param jar The jar who's content to list.<a name="line.944"></a>
-<span class="sourceLineNo">945</span> * @param packagedClasses map[class -> jar]<a name="line.945"></a>
-<span class="sourceLineNo">946</span> */<a name="line.946"></a>
-<span class="sourceLineNo">947</span> private static void updateMap(String jar, Map<String, String> packagedClasses) throws IOException {<a name="line.947"></a>
-<span class="sourceLineNo">948</span> if (null == jar || jar.isEmpty()) {<a name="line.948"></a>
-<span class="sourceLineNo">949</span> return;<a name="line.949"></a>
-<span class="sourceLineNo">950</span> }<a name="line.950"></a>
-<span class="sourceLineNo">951</span> ZipFile zip = null;<a name="line.951"></a>
-<span class="sourceLineNo">952</span> try {<a name="line.952"></a>
-<span class="sourceLineNo">953</span> zip = new ZipFile(jar);<a name="line.953"></a>
-<span class="sourceLineNo">954</span> for (Enumeration<? extends ZipEntry> iter = zip.entries(); iter.hasMoreElements();) {<a name="line.954"></a>
-<span class="sourceLineNo">955</span> ZipEntry entry = iter.nextElement();<a name="line.955"></a>
-<span class="sourceLineNo">956</span> if (entry.getName().endsWith("class")) {<a name="line.956"></a>
-<span class="sourceLineNo">957</span> packagedClasses.put(entry.getName(), jar);<a name="line.957"></a>
-<span class="sourceLineNo">958</span> }<a name="line.958"></a>
-<span class="sourceLineNo">959</span> }<a name="line.959"></a>
-<span class="sourceLineNo">960</span> } finally {<a name="line.960"></a>
-<span class="sourceLineNo">961</span> if (null != zip) zip.close();<a name="line.961"></a>
-<span class="sourceLineNo">962</span> }<a name="line.962"></a>
-<span class="sourceLineNo">963</span> }<a name="line.963"></a>
-<span class="sourceLineNo">964</span><a name="line.964"></a>
-<span class="sourceLineNo">965</span> /**<a name="line.965"></a>
-<span class="sourceLineNo">966</span> * Find a jar that contains a class of the same name, if any. It will return<a name="line.966"></a>
-<span class="sourceLineNo">967</span> * a jar file, even if that is not the first thing on the class path that<a name="line.967"></a>
-<span class="sourceLineNo">968</span> * has a class with the same name. Looks first on the classpath and then in<a name="line.968"></a>
-<span class="sourceLineNo">969</span> * the <code>packagedClasses</code> map.<a name="line.969"></a>
-<span class="sourceLineNo">970</span> * @param my_class the class to find.<a name="line.970"></a>
-<span class="sourceLineNo">971</span> * @return a jar file that contains the class, or null.<a name="line.971"></a>
-<span class="sourceLineNo">972</span> * @throws IOException<a name="line.972"></a>
-<span class="sourceLineNo">973</span> */<a name="line.973"></a>
-<span class="sourceLineNo">974</span> private static String findContainingJar(Class<?> my_class, Map<String, String> packagedClasses)<a name="line.974"></a>
-<span class="sourceLineNo">975</span> throws IOException {<a name="line.975"></a>
-<span class="sourceLineNo">976</span> ClassLoader loader = my_class.getClassLoader();<a name="line.976"></a>
-<span class="sourceLineNo">977</span><a name="line.977"></a>
-<span class="sourceLineNo">978</span> String class_file = my_class.getName().replaceAll("\\.", "/") + ".class";<a name="line.978"></a>
-<span class="sourceLineNo">979</span><a name="line.979"></a>
-<span class="sourceLineNo">980</span> if (loader != null) {<a name="line.980"></a>
-<span class="sourceLineNo">981</span> // first search the classpath<a name="line.981"></a>
-<span class="sourceLineNo">982</span> for (Enumeration<URL> itr = loader.getResources(class_file); itr.hasMoreElements();) {<a name="line.982"></a>
-<span class="sourceLineNo">983</span> URL url = itr.nextElement();<a name="line.983"></a>
-<span class="sourceLineNo">984</span> if ("jar".equals(url.getProtocol())) {<a name="line.984"></a>
-<span class="sourceLineNo">985</span> String toReturn = url.getPath();<a name="line.985"></a>
-<span class="sourceLineNo">986</span> if (toReturn.startsWith("file:")) {<a name="line.986"></a>
-<span class="sourceLineNo">987</span> toReturn = toReturn.substring("file:".length());<a name="line.987"></a>
-<span class="sourceLineNo">988</span> }<a name="line.988"></a>
-<span class="sourceLineNo">989</span> // URLDecoder is a misnamed class, since it actually decodes<a name="line.989"></a>
-<span class="sourceLineNo">990</span> // x-www-form-urlencoded MIME type rather than actual<a name="line.990"></a>
-<span class="sourceLineNo">991</span> // URL encoding (which the file path has). Therefore it would<a name="line.991"></a>
-<span class="sourceLineNo">992</span> // decode +s to ' 's which is incorrect (spaces are actually<a name="line.992"></a>
-<span class="sourceLineNo">993</span> // either unencoded or encoded as "%20"). Replace +s first, so<a name="line.993"></a>
-<span class="sourceLineNo">994</span> // that they are kept sacred during the decoding process.<a name="line.994"></a>
-<span class="sourceLineNo">995</span> toReturn = toReturn.replaceAll("\\+", "%2B");<a name="line.995"></a>
-<span class="sourceLineNo">996</span> toReturn = URLDecoder.decode(toReturn, "UTF-8");<a name="line.996"></a>
-<span class="sourceLineNo">997</span> return toReturn.replaceAll("!.*$", "");<a name="line.997"></a>
-<span class="sourceLineNo">998</span> }<a name="line.998"></a>
-<span class="sourceLineNo">999</span> }<a name="line.999"></a>
-<span class="sourceLineNo">1000</span> }<a name="line.1000"></a>
-<span class="sourceLineNo">1001</span><a name="line.1001"></a>
-<span class="sourceLineNo">1002</span> // now look in any jars we've packaged using JarFinder. Returns null when<a name="line.1002"></a>
-<span class="sourceLineNo">1003</span> // no jar is found.<a name="line.1003"></a>
-<span class="sourceLineNo">1004</span> return packagedClasses.get(class_file);<a name="line.1004"></a>
-<span class="sourceLineNo">1005</span> }<a name="line.1005"></a>
-<span class="sourceLineNo">1006</span><a name="line.1006"></a>
-<span class="sourceLineNo">1007</span> /**<a name="line.1007"></a>
-<span class="sourceLineNo">1008</span> * Invoke 'getJar' on a custom JarFinder implementation. Useful for some job<a name="line.1008"></a>
-<span class="sourceLineNo">1009</span> * configuration contexts (HBASE-8140) and also for testing on MRv2.<a name="line.1009"></a>
-<span class="sourceLineNo">1010</span> * check if we have HADOOP-9426.<a name="line.1010"></a>
-<span class="sourceLineNo">1011</span> * @param my_class the class to find.<a name="line.1011"></a>
-<span class="sourceLineNo">1012</span> * @return a jar file that contains the class, or null.<a name="line.1012"></a>
-<span class="sourceLineNo">1013</span> */<a name="line.1013"></a>
-<span class="sourceLineNo">1014</span> private static String getJar(Class<?> my_class) {<a name="line.1014"></a>
-<span class="sourceLineNo">1015</span> String ret = null;<a name="line.1015"></a>
-<span class="sourceLineNo">1016</span> try {<a name="line.1016"></a>
-<span class="sourceLineNo">1017</span> ret = JarFinder.getJar(my_class);<a name="line.1017"></a>
-<span class="sourceLineNo">1018</span> } catch (Exception e) {<a name="line.1018"></a>
-<span class="sourceLineNo">1019</span> // toss all other exceptions, related to reflection failure<a name="line.1019"></a>
-<span class="sourceLineNo">1020</span> throw new RuntimeException("getJar invocation failed.", e);<a name="line.1020"></a>
-<span class="sourceLineNo">1021</span> }<a name="line.1021"></a>
-<span class="sourceLineNo">1022</span><a name="line.1022"></a>
-<span class="sourceLineNo">1023</span> return ret;<a name="line.1023"></a>
-<span class="sourceLineNo">1024</span> }<a name="line.1024"></a>
-<span class="sourceLineNo">1025</span>}<a name="line.1025"></a>
+<span class="sourceLineNo">790</span> org.apache.hadoop.hbase.metrics.Snapshot.class, // hbase-metrics-api<a name="line.790"></a>
+<span class="sourceLineNo">791</span> prefixTreeCodecClass, // hbase-prefix-tree (if null will be skipped)<a name="line.791"></a>
+<span class="sourceLineNo">792</span> // pull necessary dependencies<a name="line.792"></a>
+<span class="sourceLineNo">793</span> org.apache.zookeeper.ZooKeeper.class,<a name="line.793"></a>
+<span class="sourceLineNo">794</span> io.netty.channel.Channel.class,<a name="line.794"></a>
+<span class="sourceLineNo">795</span> com.google.protobuf.Message.class,<a name="line.795"></a>
+<span class="sourceLineNo">796</span> com.google.common.collect.Lists.class,<a name="line.796"></a>
+<span class="sourceLineNo">797</span> org.apache.htrace.Trace.class,<a name="line.797"></a>
+<span class="sourceLineNo">798</span> com.codahale.metrics.MetricRegistry.class);<a name="line.798"></a>
+<span class="sourceLineNo">799</span> }<a name="line.799"></a>
+<span class="sourceLineNo">800</span><a name="line.800"></a>
+<span class="sourceLineNo">801</span> /**<a name="line.801"></a>
+<span class="sourceLineNo">802</span> * Returns a classpath string built from the content of the "tmpjars" value in {@code conf}.<a name="line.802"></a>
+<span class="sourceLineNo">803</span> * Also exposed to shell scripts via `bin/hbase mapredcp`.<a name="line.803"></a>
+<span class="sourceLineNo">804</span> */<a name="line.804"></a>
+<span class="sourceLineNo">805</span> public static String buildDependencyClasspath(Configuration conf) {<a name="line.805"></a>
+<span class="sourceLineNo">806</span> if (conf == null) {<a name="line.806"></a>
+<span class="sourceLineNo">807</span> throw new IllegalArgumentException("Must provide a configuration object.");<a name="line.807"></a>
+<span class="sourceLineNo">808</span> }<a name="line.808"></a>
+<span class="sourceLineNo">809</span> Set<String> paths = new HashSet<>(conf.getStringCollection("tmpjars"));<a name="line.809"></a>
+<span class="sourceLineNo">810</span> if (paths.isEmpty()) {<a name="line.810"></a>
+<span class="sourceLineNo">811</span> throw new IllegalArgumentException("Configuration contains no tmpjars.");<a name="line.811"></a>
+<span class="sourceLineNo">812</span> }<a name="line.812"></a>
+<span class="sourceLineNo">813</span> StringBuilder sb = new StringBuilder();<a name="line.813"></a>
+<span class="sourceLineNo">814</span> for (String s : paths) {<a name="line.814"></a>
+<span class="sourceLineNo">815</span> // entries can take the form 'file:/path/to/file.jar'.<a name="line.815"></a>
+<span class="sourceLineNo">816</span> int idx = s.indexOf(":");<a name="line.816"></a>
+<span class="sourceLineNo">817</span> if (idx != -1) s = s.substring(idx + 1);<a name="line.817"></a>
+<span class="sourceLineNo">818</span> if (sb.length() > 0) sb.append(File.pathSeparator);<a name="line.818"></a>
+<span class="sourceLineNo">819</span> sb.append(s);<a name="line.819"></a>
+<span class="sourceLineNo">820</span> }<a name="line.820"></a>
+<span class="sourceLineNo">821</span> return sb.toString();<a name="line.821"></a>
+<span class="sourceLineNo">822</span> }<a name="line.822"></a>
+<span class="sourceLineNo">823</span><a name="line.823"></a>
+<span class="sourceLineNo">824</span> /**<a name="line.824"></a>
+<span class="sourceLineNo">825</span> * Add the HBase dependency jars as well as jars for any of the configured<a name="line.825"></a>
+<span class="sourceLineNo">826</span> * job classes to the job configuration, so that JobClient will ship them<a name="line.826"></a>
+<span class="sourceLineNo">827</span> * to the cluster and add them to the DistributedCache.<a name="line.827"></a>
+<span class="sourceLineNo">828</span> */<a name="line.828"></a>
+<span class="sourceLineNo">829</span> public static void addDependencyJars(Job job) throws IOException {<a name="line.829"></a>
+<span class="sourceLineNo">830</span> addHBaseDependencyJars(job.getConfiguration());<a name="line.830"></a>
+<span class="sourceLineNo">831</span> try {<a name="line.831"></a>
+<span class="sourceLineNo">832</span> addDependencyJarsForClasses(job.getConfiguration(),<a name="line.832"></a>
+<span class="sourceLineNo">833</span> // when making changes here, consider also mapred.TableMapReduceUtil<a name="line.833"></a>
+<span class="sourceLineNo">834</span> // pull job classes<a name="line.834"></a>
+<span class="sourceLineNo">835</span> job.getMapOutputKeyClass(),<a name="line.835"></a>
+<span class="sourceLineNo">836</span> job.getMapOutputValueClass(),<a name="line.836"></a>
+<span class="sourceLineNo">837</span> job.getInputFormatClass(),<a name="line.837"></a>
+<span class="sourceLineNo">838</span> job.getOutputKeyClass(),<a name="line.838"></a>
+<span class="sourceLineNo">839</span> job.getOutputValueClass(),<a name="line.839"></a>
+<span class="sourceLineNo">840</span> job.getOutputFormatClass(),<a name="line.840"></a>
+<span class="sourceLineNo">841</span> job.getPartitionerClass(),<a name="line.841"></a>
+<span class="sourceLineNo">842</span> job.getCombinerClass());<a name="line.842"></a>
+<span class="sourceLineNo">843</span> } catch (ClassNotFoundException e) {<a name="line.843"></a>
+<span class="sourceLineNo">844</span> throw new IOException(e);<a name="line.844"></a>
+<span class="sourceLineNo">845</span> }<a name="line.845"></a>
+<span class="sourceLineNo">846</span> }<a name="line.846"></a>
+<span class="sourceLineNo">847</span><a name="line.847"></a>
+<span class="sourceLineNo">848</span> /**<a name="line.848"></a>
+<span class="sourceLineNo">849</span> * Add the jars containing the given classes to the job's configuration<a name="line.849"></a>
+<span class="sourceLineNo">850</span> * such that JobClient will ship them to the cluster and add them to<a name="line.850"></a>
+<span class="sourceLineNo">851</span> * the DistributedCache.<a name="line.851"></a>
+<span class="sourceLineNo">852</span> * @deprecated rely on {@link #addDependencyJars(Job)} instead.<a name="line.852"></a>
+<span class="sourceLineNo">853</span> */<a name="line.853"></a>
+<span class="sourceLineNo">854</span> @Deprecated<a name="line.854"></a>
+<span class="sourceLineNo">855</span> public static void addDependencyJars(Configuration conf,<a name="line.855"></a>
+<span class="sourceLineNo">856</span> Class<?>... classes) throws IOException {<a name="line.856"></a>
+<span class="sourceLineNo">857</span> LOG.warn("The addDependencyJars(Configuration, Class<?>...) method has been deprecated since it"<a name="line.857"></a>
+<span class="sourceLineNo">858</span> + " is easy to use incorrectly. Most users should rely on addDependencyJars(Job) " +<a name="line.858"></a>
+<span class="sourceLineNo">859</span> "instead. See HBASE-8386 for more details.");<a name="line.859"></a>
+<span class="sourceLineNo">860</span> addDependencyJarsForClasses(conf, classes);<a name="line.860"></a>
+<span class="sourceLineNo">861</span> }<a name="line.861"></a>
+<span class="sourceLineNo">862</span><a name="line.862"></a>
+<span class="sourceLineNo">863</span> /**<a name="line.863"></a>
+<span class="sourceLineNo">864</span> * Add the jars containing the given classes to the job's configuration<a name="line.864"></a>
+<span class="sourceLineNo">865</span> * such that JobClient will ship them to the cluster and add them to<a name="line.865"></a>
+<span class="sourceLineNo">866</span> * the DistributedCache.<a name="line.866"></a>
+<span class="sourceLineNo">867</span> *<a name="line.867"></a>
+<span class="sourceLineNo">868</span> * N.B. that this method at most adds one jar per class given. If there is more than one<a name="line.868"></a>
+<span class="sourceLineNo">869</span> * jar available containing a class with the same name as a given class, we don't define<a name="line.869"></a>
+<span class="sourceLineNo">870</span> * which of those jars might be chosen.<a name="line.870"></a>
+<span class="sourceLineNo">871</span> *<a name="line.871"></a>
+<span class="sourceLineNo">872</span> * @param conf The Hadoop Configuration to modify<a name="line.872"></a>
+<span class="sourceLineNo">873</span> * @param classes will add just those dependencies needed to find the given classes<a name="line.873"></a>
+<span class="sourceLineNo">874</span> * @throws IOException if an underlying library call fails.<a name="line.874"></a>
+<span class="sourceLineNo">875</span> */<a name="line.875"></a>
+<span class="sourceLineNo">876</span> @InterfaceAudience.Private<a name="line.876"></a>
+<span class="sourceLineNo">877</span> public static void addDependencyJarsForClasses(Configuration conf,<a name="line.877"></a>
+<span class="sourceLineNo">878</span> Class<?>... classes) throws IOException {<a name="line.878"></a>
+<span class="sourceLineNo">879</span><a name="line.879"></a>
+<span class="sourceLineNo">880</span> FileSystem localFs = FileSystem.getLocal(conf);<a name="line.880"></a>
+<span class="sourceLineNo">881</span> Set<String> jars = new HashSet<>();<a name="line.881"></a>
+<span class="sourceLineNo">882</span> // Add jars that are already in the tmpjars variable<a name="line.882"></a>
+<span class="sourceLineNo">883</span> jars.addAll(conf.getStringCollection("tmpjars"));<a name="line.883"></a>
+<span class="sourceLineNo">884</span><a name="line.884"></a>
+<span class="sourceLineNo">885</span> // add jars as we find them to a map of contents jar name so that we can avoid<a name="line.885"></a>
+<span class="sourceLineNo">886</span> // creating new jars for classes that have already been packaged.<a name="line.886"></a>
+<span class="sourceLineNo">887</span> Map<String, String> packagedClasses = new HashMap<>();<a name="line.887"></a>
+<span class="sourceLineNo">888</span><a name="line.888"></a>
+<span class="sourceLineNo">889</span> // Add jars containing the specified classes<a name="line.889"></a>
+<span class="sourceLineNo">890</span> for (Class<?> clazz : classes) {<a name="line.890"></a>
+<span class="sourceLineNo">891</span> if (clazz == null) continue;<a name="line.891"></a>
+<span class="sourceLineNo">892</span><a name="line.892"></a>
+<span class="sourceLineNo">893</span> Path path = findOrCreateJar(clazz, localFs, packagedClasses);<a name="line.893"></a>
+<span class="sourceLineNo">894</span> if (path == null) {<a name="line.894"></a>
+<span class="sourceLineNo">895</span> LOG.warn("Could not find jar for class " + clazz +<a name="line.895"></a>
+<span class="sourceLineNo">896</span> " in order to ship it to the cluster.");<a name="line.896"></a>
+<span class="sourceLineNo">897</span> continue;<a name="line.897"></a>
+<span class="sourceLineNo">898</span> }<a name="line.898"></a>
+<span class="sourceLineNo">899</span> if (!localFs.exists(path)) {<a name="line.899"></a>
+<span class="sourceLineNo">900</span> LOG.warn("Could not validate jar file " + path + " for class "<a name="line.900"></a>
+<span class="sourceLineNo">901</span> + clazz);<a name="line.901"></a>
+<span class="sourceLineNo">902</span> continue;<a name="line.902"></a>
+<span class="sourceLineNo">903</span> }<a name="line.903"></a>
+<span class="sourceLineNo">904</span> jars.add(path.toString());<a name="line.904"></a>
+<span class="sourceLineNo">905</span> }<a name="line.905"></a>
+<span class="sourceLineNo">906</span> if (jars.isEmpty()) return;<a name="line.906"></a>
+<span class="sourceLineNo">907</span><a name="line.907"></a>
+<span class="sourceLineNo">908</span> conf.set("tmpjars", StringUtils.arrayToString(jars.toArray(new String[jars.size()])));<a name="line.908"></a>
+<span class="sourceLineNo">909</span> }<a name="line.909"></a>
+<span class="sourceLineNo">910</span><a name="line.910"></a>
+<span class="sourceLineNo">911</span> /**<a name="line.911"></a>
+<span class="sourceLineNo">912</span> * Finds the Jar for a class or creates it if it doesn't exist. If the class is in<a name="line.912"></a>
+<span class="sourceLineNo">913</span> * a directory in the classpath, it creates a Jar on the fly with the<a name="line.913"></a>
+<span class="sourceLineNo">914</span> * contents of the directory and returns the path to that Jar. If a Jar is<a name="line.914"></a>
+<span class="sourceLineNo">915</span> * created, it is created in the system temporary directory. Otherwise,<a name="line.915"></a>
+<span class="sourceLineNo">916</span> * returns an existing jar that contains a class of the same name. Maintains<a name="line.916"></a>
+<span class="sourceLineNo">917</span> * a mapping from jar contents to the tmp jar created.<a name="line.917"></a>
+<span class="sourceLineNo">918</span> * @param my_class the class to find.<a name="line.918"></a>
+<span class="sourceLineNo">919</span> * @param fs the FileSystem with which to qualify the returned path.<a name="line.919"></a>
+<span class="sourceLineNo">920</span> * @param packagedClasses a map of class name to path.<a name="line.920"></a>
+<span class="sourceLineNo">921</span> * @return a jar file that contains the class.<a name="line.921"></a>
+<span class="sourceLineNo">922</span> * @throws IOException<a name="line.922"></a>
+<span class="sourceLineNo">923</span> */<a name="line.923"></a>
+<span class="sourceLineNo">924</span> private static Path findOrCreateJar(Class<?> my_class, FileSystem fs,<a name="line.924"></a>
+<span class="sourceLineNo">925</span> Map<String, String> packagedClasses)<a name="line.925"></a>
+<span class="sourceLineNo">926</span> throws IOException {<a name="line.926"></a>
+<span class="sourceLineNo">927</span> // attempt to locate an existing jar for the class.<a name="line.927"></a>
+<span class="sourceLineNo">928</span> String jar = findContainingJar(my_class, packagedClasses);<a name="line.928"></a>
+<span class="sourceLineNo">929</span> if (null == jar || jar.isEmpty()) {<a name="line.929"></a>
+<span class="sourceLineNo">930</span> jar = getJar(my_class);<a name="line.930"></a>
+<span class="sourceLineNo">931</span> updateMap(jar, packagedClasses);<a name="line.931"></a>
+<span class="sourceLineNo">932</span> }<a name="line.932"></a>
+<span class="sourceLineNo">933</span><a name="line.933"></a>
+<span class="sourceLineNo">934</span> if (null == jar || jar.isEmpty()) {<a name="line.934"></a>
+<span class="sourceLineNo">935</span> return null;<a name="line.935"></a>
+<span class="sourceLineNo">936</span> }<a name="line.936"></a>
+<span class="sourceLineNo">937</span><a name="line.937"></a>
+<span class="sourceLineNo">938</span> LOG.debug(String.format("For class %s, using jar %s", my_class.getName(), jar));<a name="line.938"></a>
+<span class="sourceLineNo">939</span> return new Path(jar).makeQualified(fs);<a name="line.939"></a>
+<span class="sourceLineNo">940</span> }<a name="line.940"></a>
+<span class="sourceLineNo">941</span><a name="line.941"></a>
+<span class="sourceLineNo">942</span> /**<a name="line.942"></a>
+<span class="sourceLineNo">943</span> * Add entries to <code>packagedClasses</code> corresponding to class files<a name="line.943"></a>
+<span class="sourceLineNo">944</span> * contained in <code>jar</code>.<a name="line.944"></a>
+<span class="sourceLineNo">945</span> * @param jar The jar who's content to list.<a name="line.945"></a>
+<span class="sourceLineNo">946</span> * @param packagedClasses map[class -> jar]<a name="line.946"></a>
+<span class="sourceLineNo">947</span> */<a name="line.947"></a>
+<span class="sourceLineNo">948</span> private static void updateMap(String jar, Map<String, String> packagedClasses) throws IOException {<a name="line.948"></a>
+<span class="sourceLineNo">949</span> if (null == jar || jar.isEmpty()) {<a name="line.949"></a>
+<span class="sourceLineNo">950</span> return;<a name="line.950"></a>
+<span class="sourceLineNo">951</span> }<a name="line.951"></a>
+<span class="sourceLineNo">952</span> ZipFile zip = null;<a name="line.952"></a>
+<span class="sourceLineNo">953</span> try {<a name="line.953"></a>
+<span class="sourceLineNo">954</span> zip = new ZipFile(jar);<a name="line.954"></a>
+<span class="sourceLineNo">955</span> for (Enumeration<? extends ZipEntry> iter = zip.entries(); iter.hasMoreElements();) {<a name="line.955"></a>
+<span class="sourceLineNo">956</span> ZipEntry entry = iter.nextElement();<a name="line.956"></a>
+<span class="sourceLineNo">957</span> if (entry.getName().endsWith("class")) {<a name="line.957"></a>
+<span class="sourceLineNo">958</span> packagedClasses.put(entry.getName(), jar);<a name="line.958"></a>
+<span class="sourceLineNo">959</span> }<a name="line.959"></a>
+<span class="sourceLineNo">960</span> }<a name="line.960"></a>
+<span class="sourceLineNo">961</span> } finally {<a name="line.961"></a>
+<span class="sourceLineNo">962</span> if (null != zip) zip.close();<a name="line.962"></a>
+<span class="sourceLineNo">963</span> }<a name="line.963"></a>
+<span class="sourceLineNo">964</span> }<a name="line.964"></a>
+<span class="sourceLineNo">965</span><a name="line.965"></a>
+<span class="sourceLineNo">966</span> /**<a name="line.966"></a>
+<span class="sourceLineNo">967</span> * Find a jar that contains a class of the same name, if any. It will return<a name="line.967"></a>
+<span class="sourceLineNo">968</span> * a jar file, even if that is not the first thing on the class path that<a name="line.968"></a>
+<span class="sourceLineNo">969</span> * has a class with the same name. Looks first on the classpath and then in<a name="line.969"></a>
+<span class="sourceLineNo">970</span> * the <code>packagedClasses</code> map.<a name="line.970"></a>
+<span class="sourceLineNo">971</span> * @param my_class the class to find.<a name="line.971"></a>
+<span class="sourceLineNo">972</span> * @return a jar file that contains the class, or null.<a name="line.972"></a>
+<span class="sourceLineNo">973</span> * @throws IOException<a name="line.973"></a>
+<span class="sourceLineNo">974</span> */<a name="line.974"></a>
+<span class="sourceLineNo">975</span> private static String findContainingJar(Class<?> my_class, Map<String, String> packagedClasses)<a name="line.975"></a>
+<span class="sourceLineNo">976</span> throws IOException {<a name="line.976"></a>
+<span class="sourceLineNo">977</span> ClassLoader loader = my_class.getClassLoader();<a name="line.977"></a>
+<span class="sourceLineNo">978</span><a name="line.978"></a>
+<span class="sourceLineNo">979</span> String class_file = my_class.getName().replaceAll("\\.", "/") + ".class";<a name="line.979"></a>
+<span class="sourceLineNo">980</span><a name="line.980"></a>
+<span class="sourceLineNo">981</span> if (loader != null) {<a name="line.981"></a>
+<span class="sourceLineNo">982</span> // first search the classpath<a name="line.982"></a>
+<span class="sourceLineNo">983</span> for (Enumeration<URL> itr = loader.getResources(class_file); itr.hasMoreElements();) {<a name="line.983"></a>
+<span class="sourceLineNo">984</span> URL url = itr.nextElement();<a name="line.984"></a>
+<span class="sourceLineNo">985</span> if ("jar".equals(url.getProtocol())) {<a name="line.985"></a>
+<span class="sourceLineNo">986</span> String toReturn = url.getPath();<a name="line.986"></a>
+<span class="sourceLineNo">987</span> if (toReturn.startsWith("file:")) {<a name="line.987"></a>
+<span class="sourceLineNo">988</span> toReturn = toReturn.substring("file:".length());<a name="line.988"></a>
+<span class="sourceLineNo">989</span> }<a name="line.989"></a>
+<span class="sourceLineNo">990</span> // URLDecoder is a misnamed class, since it actually decodes<a name="line.990"></a>
+<span class="sourceLineNo">991</span> // x-www-form-urlencoded MIME type rather than actual<a name="line.991"></a>
+<span class="sourceLineNo">992</span> // URL encoding (which the file path has). Therefore it would<a name="line.992"></a>
+<span class="sourceLineNo">993</span> // decode +s to ' 's which is incorrect (spaces are actually<a name="line.993"></a>
+<span class="sourceLineNo">994</span> // either unencoded or encoded as "%20"). Replace +s first, so<a name="line.994"></a>
+<span class="sourceLineNo">995</span> // that they are kept sacred during the decoding process.<a name="line.995"></a>
+<span class="sourceLineNo">996</span> toReturn = toReturn.replaceAll("\\+", "%2B");<a name="line.996"></a>
+<span class="sourceLineNo">997</span> toReturn = URLDecoder.decode(toReturn, "UTF-8");<a name="line.997"></a>
+<span class="sourceLineNo">998</span> return toReturn.replaceAll("!.*$", "");<a name="line.998"></a>
+<span class="sourceLineNo">999</span> }<a name="line.999"></a>
+<span class="sourceLineNo">1000</span> }<a name="line.1000"></a>
+<span class="sourceLineNo">1001</span> }<a name="line.1001"></a>
+<span class="sourceLineNo">1002</span><a name="line.1002"></a>
+<span class="sourceLineNo">1003</span> // now look in any jars we've packaged using JarFinder. Returns null when<a name="line.1003"></a>
+<span class="sourceLineNo">1004</span> // no jar is found.<a name="line.1004"></a>
+<span class="sourceLineNo">1005</span> return packagedClasses.get(class_file);<a name="line.1005"></a>
+<span class="sourceLineNo">1006</span> }<a name="line.1006"></a>
+<span class="sourceLineNo">1007</span><a name="line.1007"></a>
+<span class="sourceLineNo">1008</span> /**<a name="line.1008"></a>
+<span class="sourceLineNo">1009</span> * Invoke 'getJar' on a custom JarFinder implementation. Useful for some job<a name="line.1009"></a>
+<span class="sourceLineNo">1010</span> * configuration contexts (HBASE-8140) and also for testing on MRv2.<a name="line.1010"></a>
+<span class="sourceLineNo">1011</span> * check if we have HADOOP-9426.<a name="line.1011"></a>
+<span class="sourceLineNo">1012</span> * @param my_class the class to find.<a name="line.1012"></a>
+<span class="sourceLineNo">1013</span> * @return a jar file that contains the class, or null.<a name="line.1013"></a>
+<span class="sourceLineNo">1014</span> */<a name="line.1014"></a>
+<span class="sourceLineNo">1015</span> private static String getJar(Class<?> my_class) {<a name="line.1015"></a>
+<span class="sourceLineNo">1016</span> String ret = null;<a name="line.1016"></a>
+<span class="sourceLineNo">1017</span> try {<a name="line.1017"></a>
+<span class="sourceLineNo">1018</span> ret = JarFinder.getJar(my_class);<a name="line.1018"></a>
+<span class="sourceLineNo">1019</span> } catch (Exception e) {<a name="line.1019"></a>
+<span class="sourceLineNo">1020</span> // toss all other exceptions, related to reflection failure<a name="line.1020"></a>
+<span class="sourceLineNo">1021</span> throw new RuntimeException("getJar invocation failed.", e);<a name="line.1021"></a>
+<span class="sourceLineNo">1022</span> }<a name="line.1022"></a>
+<span class="sourceLineNo">1023</span><a name="line.1023"></a>
+<span class="sourceLineNo">1024</span> return ret;<a name="line.1024"></a>
+<span class="sourceLineNo">1025</span> }<a name="line.1025"></a>
+<span class="sourceLineNo">1026</span>}<a name="line.1026"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index 69ddd3c..b85c4bb 100644
--- a/bulk-loads.html
+++ b/bulk-loads.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Bulk Loads in Apache HBase (TM)
@@ -311,7 +311,7 @@ under the License. -->
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
[03/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
index c28f4f6..e866406 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
@@ -3735,50 +3735,54 @@
</tr>
<tbody>
<tr class="altColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
+<td class="colLast"><span class="typeNameLabel">TestFSUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/TestFSUtils.html#htu">htu</a></span></code> </td>
+</tr>
+<tr class="rowColor">
<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
<td class="colLast"><span class="typeNameLabel">MockServer.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/MockServer.html#htu">htu</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
<td class="colLast"><span class="typeNameLabel">TestFSHDFSUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/TestFSHDFSUtils.html#HTU">HTU</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>protected static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
<td class="colLast"><span class="typeNameLabel">BaseTestHBaseFsck.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/BaseTestHBaseFsck.html#TEST_UTIL">TEST_UTIL</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
<td class="colLast"><span class="typeNameLabel">TestHBaseFsckEncryption.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/TestHBaseFsckEncryption.html#TEST_UTIL">TEST_UTIL</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>protected static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
<td class="colLast"><span class="typeNameLabel">TestCoprocessorScanPolicy.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/TestCoprocessorScanPolicy.html#TEST_UTIL">TEST_UTIL</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>protected static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
<td class="colLast"><span class="typeNameLabel">TestMiniClusterLoadSequential.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/TestMiniClusterLoadSequential.html#TEST_UTIL">TEST_UTIL</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
<td class="colLast"><span class="typeNameLabel">TestFSVisitor.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/TestFSVisitor.html#TEST_UTIL">TEST_UTIL</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>protected static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
<td class="colLast"><span class="typeNameLabel">TestRegionMover.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/TestRegionMover.html#TEST_UTIL">TEST_UTIL</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
<td class="colLast"><span class="typeNameLabel">ProcessBasedLocalHBaseCluster.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/ProcessBasedLocalHBaseCluster.html#testUtil">testUtil</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
<td class="colLast"><span class="typeNameLabel">TestConnectionCache.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/TestConnectionCache.html#UTIL">UTIL</a></span></code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
<td class="colLast"><span class="typeNameLabel">TestRegionSplitter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/TestRegionSplitter.html#UTIL">UTIL</a></span></code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private static <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
<td class="colLast"><span class="typeNameLabel">TestFSTableDescriptors.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/TestFSTableDescriptors.html#UTIL">UTIL</a></span></code> </td>
</tr>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html
index e6a7b2c..ee4c98e 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html
@@ -18,8 +18,8 @@
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};
-var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":9,"i2":9,"i3":10,"i4":10,"i5":9,"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};
+var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
@@ -75,13 +75,13 @@ var activeTableTab = "activeTableTab";
<ul class="subNavList">
<li>Summary: </li>
<li>Nested | </li>
-<li><a href="#fields.inherited.from.class.org.apache.hadoop.hbase.client.TestAsyncAdminBase">Field</a> | </li>
+<li><a href="#field.summary">Field</a> | </li>
<li><a href="#constructor.summary">Constr</a> | </li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
-<li>Field | </li>
+<li><a href="#field.detail">Field</a> | </li>
<li><a href="#constructor.detail">Constr</a> | </li>
<li><a href="#method.detail">Method</a></li>
</ul>
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
<li class="blockList">
<hr>
<br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.56">TestAsyncRegionAdminApi</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.62">TestAsyncRegionAdminApi</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 region admin operations.</div>
</li>
@@ -129,6 +129,17 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
<!-- -->
</a>
<h3>Field Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Field Summary table, listing fields, and an explanation">
+<caption><span>Fields</span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#RANDOM">RANDOM</a></span></code> </td>
+</tr>
+</table>
<ul class="blockList">
<li class="blockList"><a name="fields.inherited.from.class.org.apache.hadoop.hbase.client.TestAsyncAdminBase">
<!-- -->
@@ -162,67 +173,107 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
</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"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd"> </span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd"> </span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd"> </span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd"> </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/TestAsyncRegionAdminApi.html#compactionTest-java.lang.String-int-org.apache.hadoop.hbase.client.CompactionState-boolean-">compactionTest</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> tableName,
+ int flushes,
+ org.apache.hadoop.hbase.client.CompactionState expectedState,
+ boolean singleFamily)</code> </td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>private static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#countStoreFilesInFamilies-java.util.List-byte:A:A-">countStoreFilesInFamilies</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><org.apache.hadoop.hbase.regionserver.Region> regions,
+ byte[][] families)</code> </td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>private static int</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#countStoreFilesInFamily-java.util.List-byte:A-">countStoreFilesInFamily</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><org.apache.hadoop.hbase.regionserver.Region> regions,
+ byte[] family)</code> </td>
+</tr>
+<tr id="i3" class="rowColor">
<td class="colFirst"><code>(package private) org.apache.hadoop.hbase.HRegionInfo</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#createTableAndGetOneRegion-org.apache.hadoop.hbase.TableName-">createTableAndGetOneRegion</a></span>(org.apache.hadoop.hbase.TableName tableName)</code> </td>
</tr>
-<tr id="i1" class="rowColor">
+<tr id="i4" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#createTableWithDefaultConf-org.apache.hadoop.hbase.TableName-">createTableWithDefaultConf</a></span>(org.apache.hadoop.hbase.TableName TABLENAME)</code> </td>
</tr>
-<tr id="i2" class="altColor">
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code>private static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#loadData-org.apache.hadoop.hbase.client.Table-byte:A:A-int-int-">loadData</a></span>(org.apache.hadoop.hbase.client.Table ht,
+ byte[][] families,
+ int rows,
+ int flushes)</code> </td>
+</tr>
+<tr id="i6" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#splitTests-org.apache.hadoop.hbase.TableName-int-boolean-byte:A-">splitTests</a></span>(org.apache.hadoop.hbase.TableName tableName,
int rowCount,
boolean isSplitRegion,
byte[] splitPoint)</code> </td>
</tr>
-<tr id="i3" class="rowColor">
+<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/TestAsyncRegionAdminApi.html#testAssignRegionAndUnassignRegion--">testAssignRegionAndUnassignRegion</a></span>()</code> </td>
</tr>
-<tr id="i4" class="altColor">
+<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/TestAsyncRegionAdminApi.html#testCloseRegion--">testCloseRegion</a></span>()</code> </td>
</tr>
-<tr id="i5" class="rowColor">
+<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/TestAsyncRegionAdminApi.html#testCloseRegionIfInvalidRegionNameIsPassed--">testCloseRegionIfInvalidRegionNameIsPassed</a></span>()</code> </td>
</tr>
-<tr id="i6" class="altColor">
+<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/TestAsyncRegionAdminApi.html#testCloseRegionWhenEncodedRegionNameIsNotGiven--">testCloseRegionWhenEncodedRegionNameIsNotGiven</a></span>()</code> </td>
</tr>
-<tr id="i7" class="rowColor">
+<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/TestAsyncRegionAdminApi.html#testCloseRegionWhenServerNameIsEmpty--">testCloseRegionWhenServerNameIsEmpty</a></span>()</code> </td>
</tr>
-<tr id="i8" class="altColor">
+<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/TestAsyncRegionAdminApi.html#testCloseRegionWhenServerNameIsNull--">testCloseRegionWhenServerNameIsNull</a></span>()</code> </td>
</tr>
-<tr id="i9" class="rowColor">
+<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/TestAsyncRegionAdminApi.html#testCompactRegionServer--">testCompactRegionServer</a></span>()</code> </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/TestAsyncRegionAdminApi.html#testCompactRpcAPI--">testCompactRpcAPI</a></span>()</code> </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/TestAsyncRegionAdminApi.html#testFlushTableAndRegion--">testFlushTableAndRegion</a></span>()</code> </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/TestAsyncRegionAdminApi.html#testGetOnlineRegions--">testGetOnlineRegions</a></span>()</code> </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/TestAsyncRegionAdminApi.html#testGetRegion--">testGetRegion</a></span>()</code> </td>
</tr>
-<tr id="i10" class="altColor">
+<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/TestAsyncRegionAdminApi.html#testMergeRegions--">testMergeRegions</a></span>()</code> </td>
</tr>
-<tr id="i11" class="rowColor">
+<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/TestAsyncRegionAdminApi.html#testMoveRegion--">testMoveRegion</a></span>()</code> </td>
</tr>
-<tr id="i12" class="altColor">
+<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/TestAsyncRegionAdminApi.html#testOfflineRegion--">testOfflineRegion</a></span>()</code> </td>
</tr>
-<tr id="i13" class="rowColor">
+<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/TestAsyncRegionAdminApi.html#testSplitTable--">testSplitTable</a></span>()</code> </td>
</tr>
@@ -249,6 +300,23 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
<div class="details">
<ul class="blockList">
<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!-- -->
+</a>
+<h3>Field Detail</h3>
+<a name="RANDOM">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>RANDOM</h4>
+<pre>public static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.64">RANDOM</a></pre>
+</li>
+</ul>
+</li>
+</ul>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<ul class="blockList">
<li class="blockList"><a name="constructor.detail">
@@ -261,7 +329,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
<ul class="blockListLast">
<li class="blockList">
<h4>TestAsyncRegionAdminApi</h4>
-<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.56">TestAsyncRegionAdminApi</a>()</pre>
+<pre>public <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.62">TestAsyncRegionAdminApi</a>()</pre>
</li>
</ul>
</li>
@@ -278,7 +346,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
<ul class="blockList">
<li class="blockList">
<h4>createTableWithDefaultConf</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.58">createTableWithDefaultConf</a>(org.apache.hadoop.hbase.TableName TABLENAME)
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.66">createTableWithDefaultConf</a>(org.apache.hadoop.hbase.TableName TABLENAME)
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>
@@ -292,7 +360,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
<ul class="blockList">
<li class="blockList">
<h4>testCloseRegion</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.67">testCloseRegion</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.75">testCloseRegion</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>
@@ -306,7 +374,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
<ul class="blockList">
<li class="blockList">
<h4>testCloseRegionIfInvalidRegionNameIsPassed</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.93">testCloseRegionIfInvalidRegionNameIsPassed</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.101">testCloseRegionIfInvalidRegionNameIsPassed</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>
@@ -320,7 +388,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
<ul class="blockList">
<li class="blockList">
<h4>testCloseRegionWhenServerNameIsNull</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.123">testCloseRegionWhenServerNameIsNull</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.131">testCloseRegionWhenServerNameIsNull</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>
@@ -334,7 +402,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
<ul class="blockList">
<li class="blockList">
<h4>testCloseRegionWhenServerNameIsEmpty</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.144">testCloseRegionWhenServerNameIsEmpty</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.152">testCloseRegionWhenServerNameIsEmpty</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>
@@ -348,7 +416,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
<ul class="blockList">
<li class="blockList">
<h4>testCloseRegionWhenEncodedRegionNameIsNotGiven</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.166">testCloseRegionWhenEncodedRegionNameIsNotGiven</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.174">testCloseRegionWhenEncodedRegionNameIsNotGiven</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>
@@ -362,7 +430,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
<ul class="blockList">
<li class="blockList">
<h4>testGetRegion</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.196">testGetRegion</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.204">testGetRegion</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>
@@ -376,7 +444,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
<ul class="blockList">
<li class="blockList">
<h4>testMergeRegions</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.215">testMergeRegions</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.223">testMergeRegions</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>
@@ -390,7 +458,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
<ul class="blockList">
<li class="blockList">
<h4>testSplitTable</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.253">testSplitTable</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.261">testSplitTable</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>
@@ -404,7 +472,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
<ul class="blockList">
<li class="blockList">
<h4>splitTests</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.260">splitTests</a>(org.apache.hadoop.hbase.TableName tableName,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.268">splitTests</a>(org.apache.hadoop.hbase.TableName tableName,
int rowCount,
boolean isSplitRegion,
byte[] splitPoint)
@@ -421,7 +489,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
<ul class="blockList">
<li class="blockList">
<h4>testAssignRegionAndUnassignRegion</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.308">testAssignRegionAndUnassignRegion</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.316">testAssignRegionAndUnassignRegion</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>
@@ -435,7 +503,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
<ul class="blockList">
<li class="blockList">
<h4>createTableAndGetOneRegion</h4>
-<pre>org.apache.hadoop.hbase.HRegionInfo <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.349">createTableAndGetOneRegion</a>(org.apache.hadoop.hbase.TableName tableName)
+<pre>org.apache.hadoop.hbase.HRegionInfo <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.357">createTableAndGetOneRegion</a>(org.apache.hadoop.hbase.TableName tableName)
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>,
<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
<dl>
@@ -451,7 +519,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
<ul class="blockList">
<li class="blockList">
<h4>testOfflineRegion</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.373">testOfflineRegion</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.381">testOfflineRegion</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>
@@ -462,10 +530,10 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
<a name="testMoveRegion--">
<!-- -->
</a>
-<ul class="blockListLast">
+<ul class="blockList">
<li class="blockList">
<h4>testMoveRegion</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.404">testMoveRegion</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.412">testMoveRegion</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>
@@ -473,6 +541,116 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
</dl>
</li>
</ul>
+<a name="testGetOnlineRegions--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testGetOnlineRegions</h4>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.453">testGetOnlineRegions</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="testFlushTableAndRegion--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testFlushTableAndRegion</h4>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.475">testFlushTableAndRegion</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="testCompactRpcAPI--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testCompactRpcAPI</h4>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.518">testCompactRpcAPI</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="testCompactRegionServer--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>testCompactRegionServer</h4>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.527">testCompactRegionServer</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="compactionTest-java.lang.String-int-org.apache.hadoop.hbase.client.CompactionState-boolean-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>compactionTest</h4>
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.560">compactionTest</a>(<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> tableName,
+ int flushes,
+ org.apache.hadoop.hbase.client.CompactionState expectedState,
+ boolean singleFamily)
+ 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="countStoreFilesInFamily-java.util.List-byte:A-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>countStoreFilesInFamily</h4>
+<pre>private static int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.640">countStoreFilesInFamily</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><org.apache.hadoop.hbase.regionserver.Region> regions,
+ byte[] family)</pre>
+</li>
+</ul>
+<a name="countStoreFilesInFamilies-java.util.List-byte:A:A-">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>countStoreFilesInFamilies</h4>
+<pre>private static int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.644">countStoreFilesInFamilies</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><org.apache.hadoop.hbase.regionserver.Region> regions,
+ byte[][] families)</pre>
+</li>
+</ul>
+<a name="loadData-org.apache.hadoop.hbase.client.Table-byte:A:A-int-int-">
+<!-- -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>loadData</h4>
+<pre>private static void <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html#line.652">loadData</a>(org.apache.hadoop.hbase.client.Table ht,
+ byte[][] families,
+ int rows,
+ int flushes)
+ 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>
+<dd><code><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></code></dd>
+</dl>
+</li>
+</ul>
</li>
</ul>
</li>
@@ -527,13 +705,13 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
<ul class="subNavList">
<li>Summary: </li>
<li>Nested | </li>
-<li><a href="#fields.inherited.from.class.org.apache.hadoop.hbase.client.TestAsyncAdminBase">Field</a> | </li>
+<li><a href="#field.summary">Field</a> | </li>
<li><a href="#constructor.summary">Constr</a> | </li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail: </li>
-<li>Field | </li>
+<li><a href="#field.detail">Field</a> | </li>
<li><a href="#constructor.detail">Constr</a> | </li>
<li><a href="#method.detail">Method</a></li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 2b17459..ee52e3c 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><E> (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><T>, 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/e2c783b2/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 ac5cb3c..91c11b9 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -541,15 +541,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><E> (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><T>, 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/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.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/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/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/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/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/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/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/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/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/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">PerformanceEvaluation.Counter</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 fcf095f..ee59b2d 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -205,9 +205,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><E> (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><T>, 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/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/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>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 e7ae8d9..5b94a12 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -590,10 +590,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><E> (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><T>, 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/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/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/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/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/TestCacheOnWriteInSchema.CacheOnWriteType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestCacheOnWriteInSchema.CacheOnWriteType</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 697287c..4248eb2 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
@@ -248,10 +248,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><E> (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><T>, 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/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/IntegrationTestLoadAndVerify.Counters.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestLoadAndVerify.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/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.Verify.Counts.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestBigLinkedList.Verify.Counts</span></a></li>
</ul>
</li>
</ul>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/testdevapidocs/org/apache/hadoop/hbase/util/TestFSUtils.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/util/TestFSUtils.html b/testdevapidocs/org/apache/hadoop/hbase/util/TestFSUtils.html
index ecb4a2e..a26f967 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/util/TestFSUtils.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/util/TestFSUtils.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};
+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};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
@@ -135,6 +135,18 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/TestFSUtils.html#blockSize">blockSize</a></span></code> </td>
</tr>
<tr class="rowColor">
+<td class="colFirst"><code>private org.apache.hadoop.conf.Configuration</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/TestFSUtils.html#conf">conf</a></span></code> </td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private org.apache.hadoop.fs.FileSystem</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/TestFSUtils.html#fs">fs</a></span></code> </td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/TestFSUtils.html#htu">htu</a></span></code> </td>
+</tr>
+<tr class="altColor">
<td class="colFirst"><code>(package private) static long</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/TestFSUtils.html#seed">seed</a></span></code> </td>
</tr>
@@ -197,73 +209,77 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
</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/util/TestFSUtils.html#testcomputeHDFSBlocksDistribution--">testcomputeHDFSBlocksDistribution</a></span>()</code> </td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/TestFSUtils.html#setUp--">setUp</a></span>()</code> </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/util/TestFSUtils.html#testDeleteAndExists--">testDeleteAndExists</a></span>()</code> </td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/TestFSUtils.html#testcomputeHDFSBlocksDistribution--">testcomputeHDFSBlocksDistribution</a></span>()</code> </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/util/TestFSUtils.html#testDeleteAndExists--">testDeleteAndExists</a></span>()</code> </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/util/TestFSUtils.html#testDFSHedgedReadMetrics--">testDFSHedgedReadMetrics</a></span>()</code>
<div class="block">Ugly test that ensures we can get at the hedged read counters in dfsclient.</div>
</td>
</tr>
-<tr id="i7" class="rowColor">
+<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/util/TestFSUtils.html#testGetWALRootDir--">testGetWALRootDir</a></span>()</code> </td>
</tr>
-<tr id="i8" class="altColor">
+<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/util/TestFSUtils.html#testGetWALRootDirIllegalWALDir--">testGetWALRootDirIllegalWALDir</a></span>()</code> </td>
</tr>
-<tr id="i9" class="rowColor">
+<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/util/TestFSUtils.html#testIsHDFS--">testIsHDFS</a></span>()</code> </td>
</tr>
-<tr id="i10" class="altColor">
+<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/util/TestFSUtils.html#testMatchingTail--">testMatchingTail</a></span>()</code>
<div class="block">Test path compare and prefix checking.</div>
</td>
</tr>
-<tr id="i11" class="rowColor">
+<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/util/TestFSUtils.html#testPermMask--">testPermMask</a></span>()</code> </td>
</tr>
-<tr id="i12" class="altColor">
+<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/util/TestFSUtils.html#testRemoveWALRootPath--">testRemoveWALRootPath</a></span>()</code> </td>
</tr>
-<tr id="i13" class="rowColor">
+<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/util/TestFSUtils.html#testRenameAndSetModifyTime--">testRenameAndSetModifyTime</a></span>()</code> </td>
</tr>
-<tr id="i14" class="altColor">
+<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/util/TestFSUtils.html#testSetStoragePolicyDefault--">testSetStoragePolicyDefault</a></span>()</code> </td>
</tr>
-<tr id="i15" class="rowColor">
+<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/util/TestFSUtils.html#testSetStoragePolicyInvalid--">testSetStoragePolicyInvalid</a></span>()</code> </td>
</tr>
-<tr id="i16" class="altColor">
+<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/util/TestFSUtils.html#testSetStoragePolicyValidButMaybeNotPresent--">testSetStoragePolicyValidButMaybeNotPresent</a></span>()</code> </td>
</tr>
-<tr id="i17" class="rowColor">
+<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/util/TestFSUtils.html#testSetWALRootDir--">testSetWALRootDir</a></span>()</code> </td>
</tr>
-<tr id="i18" class="altColor">
+<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/util/TestFSUtils.html#testVersion--">testVersion</a></span>()</code> </td>
</tr>
-<tr id="i19" class="rowColor">
+<tr id="i20" class="altColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/TestFSUtils.html#verifyFileInDirWithStoragePolicy-java.lang.String-">verifyFileInDirWithStoragePolicy</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> policy)</code> </td>
</tr>
-<tr id="i20" class="altColor">
+<tr id="i21" class="rowColor">
<td class="colFirst"><code>private void</code></td>
<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/util/TestFSUtils.html#WriteDataToHDFS-org.apache.hadoop.fs.FileSystem-org.apache.hadoop.fs.Path-int-">WriteDataToHDFS</a></span>(org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.Path file,
@@ -291,13 +307,40 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<!-- -->
</a>
<h3>Field Detail</h3>
+<a name="htu">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>htu</h4>
+<pre>private <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html" title="class in org.apache.hadoop.hbase">HBaseTestingUtility</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.61">htu</a></pre>
+</li>
+</ul>
+<a name="fs">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>fs</h4>
+<pre>private org.apache.hadoop.fs.FileSystem <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.62">fs</a></pre>
+</li>
+</ul>
+<a name="conf">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>conf</h4>
+<pre>private org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.63">conf</a></pre>
+</li>
+</ul>
<a name="blockSize">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>blockSize</h4>
-<pre>static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.473">blockSize</a></pre>
+<pre>static final int <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.457">blockSize</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.TestFSUtils.blockSize">Constant Field Values</a></dd>
@@ -310,7 +353,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockListLast">
<li class="blockList">
<h4>seed</h4>
-<pre>static final long <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.474">seed</a></pre>
+<pre>static final long <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.458">seed</a></pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.util.TestFSUtils.seed">Constant Field Values</a></dd>
@@ -342,13 +385,27 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<!-- -->
</a>
<h3>Method Detail</h3>
+<a name="setUp--">
+<!-- -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUp</h4>
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.66">setUp</a>()
+ 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>
+<dd><code><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></code></dd>
+</dl>
+</li>
+</ul>
<a name="testMatchingTail--">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>testMatchingTail</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.65">testMatchingTail</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.77">testMatchingTail</a>()
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>
<div class="block">Test path compare and prefix checking.</div>
<dl>
@@ -363,7 +420,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>testVersion</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.88">testVersion</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.98">testVersion</a>()
throws org.apache.hadoop.hbase.exceptions.DeserializationException,
<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>
@@ -379,7 +436,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>testIsHDFS</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.111">testIsHDFS</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.119">testIsHDFS</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>
@@ -393,7 +450,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>WriteDataToHDFS</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.123">WriteDataToHDFS</a>(org.apache.hadoop.fs.FileSystem fs,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.130">WriteDataToHDFS</a>(org.apache.hadoop.fs.FileSystem fs,
org.apache.hadoop.fs.Path file,
int dataSize)
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>
@@ -409,7 +466,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>testcomputeHDFSBlocksDistribution</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.131">testcomputeHDFSBlocksDistribution</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.138">testcomputeHDFSBlocksDistribution</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>
@@ -423,7 +480,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>testPermMask</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.236">testPermMask</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.242">testPermMask</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>
@@ -437,7 +494,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>testDeleteAndExists</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.277">testDeleteAndExists</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.279">testDeleteAndExists</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>
@@ -451,7 +508,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>testRenameAndSetModifyTime</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.307">testRenameAndSetModifyTime</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.306">testRenameAndSetModifyTime</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>
@@ -465,7 +522,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>verifyFileInDirWithStoragePolicy</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.345">verifyFileInDirWithStoragePolicy</a>(<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> policy)
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.341">verifyFileInDirWithStoragePolicy</a>(<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> policy)
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>
@@ -479,7 +536,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>testSetStoragePolicyDefault</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.372">testSetStoragePolicyDefault</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.366">testSetStoragePolicyDefault</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>
@@ -493,7 +550,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>testSetStoragePolicyValidButMaybeNotPresent</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.378">testSetStoragePolicyValidButMaybeNotPresent</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.372">testSetStoragePolicyValidButMaybeNotPresent</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>
@@ -507,7 +564,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>testSetStoragePolicyInvalid</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.384">testSetStoragePolicyInvalid</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.378">testSetStoragePolicyInvalid</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>
@@ -521,7 +578,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>testSetWALRootDir</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.389">testSetWALRootDir</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.383">testSetWALRootDir</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>
@@ -535,7 +592,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>testGetWALRootDir</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.398">testGetWALRootDir</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.390">testGetWALRootDir</a>()
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>
@@ -549,7 +606,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>testGetWALRootDirIllegalWALDir</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.411">testGetWALRootDirIllegalWALDir</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.401">testGetWALRootDirIllegalWALDir</a>()
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>
@@ -563,7 +620,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>testRemoveWALRootPath</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.422">testRemoveWALRootPath</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.410">testRemoveWALRootPath</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>
@@ -577,7 +634,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>testDFSHedgedReadMetrics</h4>
-<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.441">testDFSHedgedReadMetrics</a>()
+<pre>public void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.427">testDFSHedgedReadMetrics</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>
<div class="block">Ugly test that ensures we can get at the hedged read counters in dfsclient.
Does a bit of preading with hedged reads enabled using code taken from hdfs TestPread.</div>
@@ -593,7 +650,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>pReadFile</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.476">pReadFile</a>(org.apache.hadoop.fs.FileSystem fileSys,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.460">pReadFile</a>(org.apache.hadoop.fs.FileSystem fileSys,
org.apache.hadoop.fs.Path name)
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>
@@ -608,7 +665,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>checkAndEraseData</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.539">checkAndEraseData</a>(byte[] actual,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.523">checkAndEraseData</a>(byte[] actual,
int from,
byte[] expected,
<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> message)</pre>
@@ -620,7 +677,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockList">
<li class="blockList">
<h4>doPread</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.548">doPread</a>(org.apache.hadoop.fs.FSDataInputStream stm,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.532">doPread</a>(org.apache.hadoop.fs.FSDataInputStream stm,
long position,
byte[] buffer,
int offset,
@@ -638,7 +695,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
<ul class="blockListLast">
<li class="blockList">
<h4>cleanupFile</h4>
-<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.579">cleanupFile</a>(org.apache.hadoop.fs.FileSystem fileSys,
+<pre>private void <a href="../../../../../src-html/org/apache/hadoop/hbase/util/TestFSUtils.html#line.563">cleanupFile</a>(org.apache.hadoop.fs.FileSystem fileSys,
org.apache.hadoop.fs.Path name)
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>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 c8d8170..d3491cf 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -140,8 +140,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><E> (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><T>, 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/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/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/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>
</ul>
</li>
</ul>
[23/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DisableTableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DisableTableProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DisableTableProcedureBiConsumer.html
index 8750fa2..4fd4af0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DisableTableProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DisableTableProcedureBiConsumer.html
@@ -48,2133 +48,2409 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span>import io.netty.util.Timeout;<a name="line.41"></a>
<span class="sourceLineNo">042</span>import io.netty.util.TimerTask;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.commons.logging.Log;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.commons.logging.LogFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ServerName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.HConstants;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>/**<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * The implementation of AsyncAdmin.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@InterfaceAudience.Private<a name="line.185"></a>
-<span class="sourceLineNo">186</span>@InterfaceStability.Evolving<a name="line.186"></a>
-<span class="sourceLineNo">187</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.187"></a>
+<span class="sourceLineNo">043</span>import org.apache.commons.io.IOUtils;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.commons.logging.Log;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.commons.logging.LogFactory;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ServerName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HConstants;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.TableName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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.snapshot.ClientSnapshotDescriptionUtils;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.187"></a>
<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> private final AsyncConnectionImpl connection;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span> private final RawAsyncTable metaTable;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final long rpcTimeoutNs;<a name="line.195"></a>
+<span class="sourceLineNo">189</span>/**<a name="line.189"></a>
+<span class="sourceLineNo">190</span> * The implementation of AsyncAdmin.<a name="line.190"></a>
+<span class="sourceLineNo">191</span> */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>@InterfaceAudience.Private<a name="line.192"></a>
+<span class="sourceLineNo">193</span>@InterfaceStability.Evolving<a name="line.193"></a>
+<span class="sourceLineNo">194</span>public class AsyncHBaseAdmin 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 final long operationTimeoutNs;<a name="line.197"></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 long pauseNs;<a name="line.199"></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 int maxAttempts;<a name="line.201"></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 int startLogErrorsCnt;<a name="line.203"></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 NonceGenerator ng;<a name="line.205"></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> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> this.connection = connection;<a name="line.208"></a>
-<span class="sourceLineNo">209</span> this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> this.rpcTimeoutNs = connection.connConf.getRpcTimeoutNs();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.212"></a>
-<span class="sourceLineNo">213</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.213"></a>
-<span class="sourceLineNo">214</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<a name="line.214"></a>
-<span class="sourceLineNo">215</span> this.ng = connection.getNonceGenerator();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> return this.connection.callerFactory.<T> masterRequest()<a name="line.219"></a>
-<span class="sourceLineNo">220</span> .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startLogErrorsCnt(startLogErrorsCnt);<a name="line.223"></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">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> private final int startLogErrorsCnt;<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">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<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 = connection.connConf.getRpcTimeoutNs();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.219"></a>
+<span class="sourceLineNo">220</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.220"></a>
+<span class="sourceLineNo">221</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.221"></a>
+<span class="sourceLineNo">222</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<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 <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> adminRequest()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> 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> @FunctionalInterface<a name="line.234"></a>
-<span class="sourceLineNo">235</span> private interface MasterRpcCall<RESP, REQ> {<a name="line.235"></a>
-<span class="sourceLineNo">236</span> void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.236"></a>
-<span class="sourceLineNo">237</span> RpcCallback<RESP> done);<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> @FunctionalInterface<a name="line.240"></a>
-<span class="sourceLineNo">241</span> private interface AdminRpcCall<RESP, REQ> {<a name="line.241"></a>
-<span class="sourceLineNo">242</span> void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> RpcCallback<RESP> done);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span> @FunctionalInterface<a name="line.246"></a>
-<span class="sourceLineNo">247</span> private interface Converter<D, S> {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> D convert(S src) throws IOException;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.251"></a>
-<span class="sourceLineNo">252</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.252"></a>
-<span class="sourceLineNo">253</span> Converter<RESP, PRESP> respConverter) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.254"></a>
-<span class="sourceLineNo">255</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> @Override<a name="line.257"></a>
-<span class="sourceLineNo">258</span> public void run(PRESP resp) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span> if (controller.failed()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span> future.completeExceptionally(controller.getFailed());<a name="line.260"></a>
-<span class="sourceLineNo">261</span> } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> future.complete(respConverter.convert(resp));<a name="line.263"></a>
-<span class="sourceLineNo">264</span> } catch (IOException e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span> future.completeExceptionally(e);<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> }<a name="line.268"></a>
-<span class="sourceLineNo">269</span> });<a name="line.269"></a>
-<span class="sourceLineNo">270</span> return future;<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> //TODO abstract call and adminCall into a single method.<a name="line.273"></a>
-<span class="sourceLineNo">274</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.274"></a>
-<span class="sourceLineNo">275</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.275"></a>
-<span class="sourceLineNo">276</span> Converter<RESP, PRESP> respConverter) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.279"></a>
+<span class="sourceLineNo">234</span> private <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.connection.callerFactory.<T> 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<RESP, REQ> {<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<RESP> done);<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<RESP, REQ> {<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<RESP> 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<D, S> {<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 <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.259"></a>
+<span class="sourceLineNo">260</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.260"></a>
+<span class="sourceLineNo">261</span> Converter<RESP, PRESP> respConverter) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.262"></a>
+<span class="sourceLineNo">263</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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> @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span> public void run(PRESP resp) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span> if (controller.failed()) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.284"></a>
-<span class="sourceLineNo">285</span> } else {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> future.complete(respConverter.convert(resp));<a name="line.287"></a>
-<span class="sourceLineNo">288</span> } catch (IOException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span> future.completeExceptionally(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span> }<a name="line.290"></a>
-<span class="sourceLineNo">291</span> }<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> return future;<a name="line.294"></a>
-<span class="sourceLineNo">295</span> }<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.298"></a>
-<span class="sourceLineNo">299</span> ProcedureBiConsumer consumer) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> CompletableFuture<Long> procFuture = this<a name="line.300"></a>
-<span class="sourceLineNo">301</span> .<Long> newMasterCaller()<a name="line.301"></a>
-<span class="sourceLineNo">302</span> .action(<a name="line.302"></a>
-<span class="sourceLineNo">303</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> respConverter)).call();<a name="line.304"></a>
-<span class="sourceLineNo">305</span> return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> @FunctionalInterface<a name="line.308"></a>
-<span class="sourceLineNo">309</span> private interface TableOperator {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> CompletableFuture<Void> operate(TableName table);<a name="line.310"></a>
-<span class="sourceLineNo">311</span> }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.313"></a>
-<span class="sourceLineNo">314</span> TableOperator operator, String operationType) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.315"></a>
-<span class="sourceLineNo">316</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> listTables(pattern, false).whenComplete(<a name="line.317"></a>
-<span class="sourceLineNo">318</span> (tables, error) -> {<a name="line.318"></a>
-<span class="sourceLineNo">319</span> if (error != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> future.completeExceptionally(error);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> return;<a name="line.321"></a>
-<span class="sourceLineNo">322</span> }<a name="line.322"></a>
-<span class="sourceLineNo">323</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.323"></a>
-<span class="sourceLineNo">324</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<a name="line.324"></a>
-<span class="sourceLineNo">325</span> if (ex != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.326"></a>
-<span class="sourceLineNo">327</span> failed.add(table);<a name="line.327"></a>
-<span class="sourceLineNo">328</span> }<a name="line.328"></a>
-<span class="sourceLineNo">329</span> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<a name="line.331"></a>
-<span class="sourceLineNo">332</span> });<a name="line.332"></a>
-<span class="sourceLineNo">333</span> });<a name="line.333"></a>
-<span class="sourceLineNo">334</span> return future;<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 AsyncConnectionImpl getConnection() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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<TableDescriptor[]> listTables() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return listTables((Pattern) null, false);<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<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> return listTables(Pattern.compile(regex), false);<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<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return this<a name="line.359"></a>
-<span class="sourceLineNo">360</span> .<TableDescriptor[]>newMasterCaller()<a name="line.360"></a>
-<span class="sourceLineNo">361</span> .action(<a name="line.361"></a>
-<span class="sourceLineNo">362</span> (controller, stub) -> this<a name="line.362"></a>
-<span class="sourceLineNo">363</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.363"></a>
-<span class="sourceLineNo">364</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.365"></a>
-<span class="sourceLineNo">366</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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<TableName[]> listTableNames() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span> return listTableNames((Pattern) null, false);<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<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> return listTableNames(Pattern.compile(regex), false);<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<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span> .<TableName[]>newMasterCaller()<a name="line.382"></a>
-<span class="sourceLineNo">383</span> .action(<a name="line.383"></a>
-<span class="sourceLineNo">384</span> (controller, stub) -> this<a name="line.384"></a>
-<span class="sourceLineNo">385</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.385"></a>
-<span class="sourceLineNo">386</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.386"></a>
-<span class="sourceLineNo">387</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.387"></a>
-<span class="sourceLineNo">388</span> .getTableNameArray(resp.getTableNamesList()))).call();<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<TableDescriptor> getTableDescriptor(TableName tableName) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> CompletableFuture<TableDescriptor> future = new CompletableFuture<>();<a name="line.393"></a>
-<span class="sourceLineNo">394</span> this.<List<TableSchema>> newMasterCaller()<a name="line.394"></a>
-<span class="sourceLineNo">395</span> .action(<a name="line.395"></a>
-<span class="sourceLineNo">396</span> (controller, stub) -> this<a name="line.396"></a>
-<span class="sourceLineNo">397</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, List<TableSchema>> call(<a name="line.397"></a>
-<span class="sourceLineNo">398</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.398"></a>
-<span class="sourceLineNo">399</span> c, req, done) -> s.getTableDescriptors(c, req, done), (resp) -> resp<a name="line.399"></a>
-<span class="sourceLineNo">400</span> .getTableSchemaList())).call().whenComplete((tableSchemas, error) -> {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> if (error != null) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> future.completeExceptionally(error);<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> if (!tableSchemas.isEmpty()) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.406"></a>
-<span class="sourceLineNo">407</span> } else {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<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> return future;<a name="line.411"></a>
-<span class="sourceLineNo">412</span> }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> @Override<a name="line.414"></a>
-<span class="sourceLineNo">415</span> public CompletableFuture<Void> createTable(TableDescriptor desc) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return createTable(desc, null);<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> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.420"></a>
-<span class="sourceLineNo">421</span> int numRegions) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> try {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> return createTable(desc, getSplitKeys(startKey, endKey, numRegions));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> } catch (IllegalArgumentException e) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span> return failedFuture(e);<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><a name="line.428"></a>
-<span class="sourceLineNo">429</span> @Override<a name="line.429"></a>
-<span class="sourceLineNo">430</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span> if (desc.getTableName() == null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (splitKeys != null && splitKeys.length > 0) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);<a name="line.435"></a>
-<span class="sourceLineNo">436</span> // Verify there are no duplicate split keys<a name="line.436"></a>
-<span class="sourceLineNo">437</span> byte[] lastKey = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> for (byte[] splitKey : splitKeys) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> if (Bytes.compareTo(splitKey, HConstants.EMPTY_BYTE_ARRAY) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> return failedFuture(new IllegalArgumentException(<a name="line.440"></a>
-<span class="sourceLineNo">441</span> "Empty split key must not be passed in the split keys."));<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> if (lastKey != null && Bytes.equals(splitKey, lastKey)) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span> return failedFuture(new IllegalArgumentException("All split keys must be unique, "<a name="line.444"></a>
-<span class="sourceLineNo">445</span> + "found duplicate: " + Bytes.toStringBinary(splitKey) + ", "<a name="line.445"></a>
-<span class="sourceLineNo">446</span> + Bytes.toStringBinary(lastKey)));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> }<a name="line.447"></a>
-<span class="sourceLineNo">448</span> lastKey = splitKey;<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><a name="line.451"></a>
-<span class="sourceLineNo">452</span> return this.<CreateTableRequest, CreateTableResponse> procedureCall(<a name="line.452"></a>
-<span class="sourceLineNo">453</span> RequestConverter.buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()),<a name="line.453"></a>
-<span class="sourceLineNo">454</span> (s, c, req, done) -> s.createTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.454"></a>
-<span class="sourceLineNo">455</span> new CreateTableProcedureBiConsumer(this, desc.getTableName()));<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<Void> deleteTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return this.<DeleteTableRequest, DeleteTableResponse> procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span> .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span> (s, c, req, done) -> s.deleteTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span> new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
+<span class="sourceLineNo">281</span> //TODO abstract call and adminCall into a single method.<a name="line.281"></a>
+<span class="sourceLineNo">282</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.282"></a>
+<span class="sourceLineNo">283</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Converter<RESP, PRESP> respConverter) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.286"></a>
+<span class="sourceLineNo">287</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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 void run(PRESP resp) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (controller.failed()) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> try {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> future.complete(respConverter.convert(resp));<a name="line.295"></a>
+<span class="sourceLineNo">296</span> } catch (IOException e) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span> future.completeExceptionally(e);<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> });<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return future;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.305"></a>
+<span class="sourceLineNo">306</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.306"></a>
+<span class="sourceLineNo">307</span> ProcedureBiConsumer consumer) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> CompletableFuture<Long> procFuture = this<a name="line.308"></a>
+<span class="sourceLineNo">309</span> .<Long> newMasterCaller()<a name="line.309"></a>
+<span class="sourceLineNo">310</span> .action(<a name="line.310"></a>
+<span class="sourceLineNo">311</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.311"></a>
+<span class="sourceLineNo">312</span> respConverter)).call();<a name="line.312"></a>
+<span class="sourceLineNo">313</span> return waitProcedureResult(procFuture).whenComplete(consumer);<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> @FunctionalInterface<a name="line.316"></a>
+<span class="sourceLineNo">317</span> private interface TableOperator {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> CompletableFuture<Void> operate(TableName table);<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> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.321"></a>
+<span class="sourceLineNo">322</span> TableOperator operator, String operationType) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> listTables(pattern, false).whenComplete(<a name="line.325"></a>
+<span class="sourceLineNo">326</span> (tables, error) -> {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> if (error != null) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> future.completeExceptionally(error);<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return;<a name="line.329"></a>
+<span class="sourceLineNo">330</span> }<a name="line.330"></a>
+<span class="sourceLineNo">331</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.331"></a>
+<span class="sourceLineNo">332</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<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> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.337"></a>
+<span class="sourceLineNo">338</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.338"></a>
+<span class="sourceLineNo">339</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<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 AsyncConnectionImpl getConnection() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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> @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span> public CompletableFuture<TableDescriptor[]> listTables() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span> return listTables((Pattern) null, false);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span> public CompletableFuture<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return listTables(Pattern.compile(regex), false);<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> @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public CompletableFuture<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span> .<TableDescriptor[]>newMasterCaller()<a name="line.368"></a>
+<span class="sourceLineNo">369</span> .action(<a name="line.369"></a>
+<span class="sourceLineNo">370</span> (controller, stub) -> this<a name="line.370"></a>
+<span class="sourceLineNo">371</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.371"></a>
+<span class="sourceLineNo">372</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.372"></a>
+<span class="sourceLineNo">373</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.373"></a>
+<span class="sourceLineNo">374</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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> @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span> public CompletableFuture<TableName[]> listTableNames() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> return listTableNames((Pattern) null, false);<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> @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public CompletableFuture<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> return listTableNames(Pattern.compile(regex), false);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public CompletableFuture<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return this<a name="line.389"></a>
+<span class="sourceLineNo">390</span> .<TableName[]>newMasterCaller()<a name="line.390"></a>
+<span class="sourceLineNo">391</span> .action(<a name="line.391"></a>
+<span class="sourceLineNo">392</span> (controller, stub) -> this<a name="line.392"></a>
+<span class="sourceLineNo">393</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.393"></a>
+<span class="sourceLineNo">394</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.394"></a>
+<span class="sourceLineNo">395</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.395"></a>
+<span class="sourceLineNo">396</span> .getTableNameArray(resp.getTableNamesList()))).call();<a name="line.3
<TRUNCATED>
[07/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
index d7bb035..57dd74b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.Intf.html
@@ -69,15 +69,15 @@
<span class="sourceLineNo">061</span> requiredArguments = {<a name="line.61"></a>
<span class="sourceLineNo">062</span> @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.62"></a>
<span class="sourceLineNo">063</span> optionalArguments = {<a name="line.63"></a>
-<span class="sourceLineNo">064</span> @org.jamon.annotations.Argument(name = "servers", type = "List<ServerName>"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span> @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span> @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span> @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span> @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.68"></a>
-<span class="sourceLineNo">069</span> @org.jamon.annotations.Argument(name = "frags", type = "Map<String,Integer>"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span> @org.jamon.annotations.Argument(name = "deadServers", type = "Set<ServerName>"),<a name="line.70"></a>
-<span class="sourceLineNo">071</span> @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.71"></a>
-<span class="sourceLineNo">072</span> @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager")})<a name="line.72"></a>
+<span class="sourceLineNo">064</span> @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.64"></a>
+<span class="sourceLineNo">065</span> @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span> @org.jamon.annotations.Argument(name = "servers", type = "List<ServerName>"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span> @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span> @org.jamon.annotations.Argument(name = "frags", type = "Map<String,Integer>"),<a name="line.68"></a>
+<span class="sourceLineNo">069</span> @org.jamon.annotations.Argument(name = "deadServers", type = "Set<ServerName>"),<a name="line.69"></a>
+<span class="sourceLineNo">070</span> @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.70"></a>
+<span class="sourceLineNo">071</span> @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.71"></a>
+<span class="sourceLineNo">072</span> @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean")})<a name="line.72"></a>
<span class="sourceLineNo">073</span>public class MasterStatusTmpl<a name="line.73"></a>
<span class="sourceLineNo">074</span> extends org.jamon.AbstractTemplateProxy<a name="line.74"></a>
<span class="sourceLineNo">075</span>{<a name="line.75"></a>
@@ -118,159 +118,159 @@
<span class="sourceLineNo">110</span> return m_master;<a name="line.110"></a>
<span class="sourceLineNo">111</span> }<a name="line.111"></a>
<span class="sourceLineNo">112</span> private HMaster m_master;<a name="line.112"></a>
-<span class="sourceLineNo">113</span> // 23, 1<a name="line.113"></a>
-<span class="sourceLineNo">114</span> public void setServers(List<ServerName> servers)<a name="line.114"></a>
+<span class="sourceLineNo">113</span> // 22, 1<a name="line.113"></a>
+<span class="sourceLineNo">114</span> public void setMetaLocation(ServerName metaLocation)<a name="line.114"></a>
<span class="sourceLineNo">115</span> {<a name="line.115"></a>
-<span class="sourceLineNo">116</span> // 23, 1<a name="line.116"></a>
-<span class="sourceLineNo">117</span> m_servers = servers;<a name="line.117"></a>
-<span class="sourceLineNo">118</span> m_servers__IsNotDefault = true;<a name="line.118"></a>
+<span class="sourceLineNo">116</span> // 22, 1<a name="line.116"></a>
+<span class="sourceLineNo">117</span> m_metaLocation = metaLocation;<a name="line.117"></a>
+<span class="sourceLineNo">118</span> m_metaLocation__IsNotDefault = true;<a name="line.118"></a>
<span class="sourceLineNo">119</span> }<a name="line.119"></a>
-<span class="sourceLineNo">120</span> public List<ServerName> getServers()<a name="line.120"></a>
+<span class="sourceLineNo">120</span> public ServerName getMetaLocation()<a name="line.120"></a>
<span class="sourceLineNo">121</span> {<a name="line.121"></a>
-<span class="sourceLineNo">122</span> return m_servers;<a name="line.122"></a>
+<span class="sourceLineNo">122</span> return m_metaLocation;<a name="line.122"></a>
<span class="sourceLineNo">123</span> }<a name="line.123"></a>
-<span class="sourceLineNo">124</span> private List<ServerName> m_servers;<a name="line.124"></a>
-<span class="sourceLineNo">125</span> public boolean getServers__IsNotDefault()<a name="line.125"></a>
+<span class="sourceLineNo">124</span> private ServerName m_metaLocation;<a name="line.124"></a>
+<span class="sourceLineNo">125</span> public boolean getMetaLocation__IsNotDefault()<a name="line.125"></a>
<span class="sourceLineNo">126</span> {<a name="line.126"></a>
-<span class="sourceLineNo">127</span> return m_servers__IsNotDefault;<a name="line.127"></a>
+<span class="sourceLineNo">127</span> return m_metaLocation__IsNotDefault;<a name="line.127"></a>
<span class="sourceLineNo">128</span> }<a name="line.128"></a>
-<span class="sourceLineNo">129</span> private boolean m_servers__IsNotDefault;<a name="line.129"></a>
-<span class="sourceLineNo">130</span> // 26, 1<a name="line.130"></a>
-<span class="sourceLineNo">131</span> public void setFilter(String filter)<a name="line.131"></a>
+<span class="sourceLineNo">129</span> private boolean m_metaLocation__IsNotDefault;<a name="line.129"></a>
+<span class="sourceLineNo">130</span> // 27, 1<a name="line.130"></a>
+<span class="sourceLineNo">131</span> public void setFormat(String format)<a name="line.131"></a>
<span class="sourceLineNo">132</span> {<a name="line.132"></a>
-<span class="sourceLineNo">133</span> // 26, 1<a name="line.133"></a>
-<span class="sourceLineNo">134</span> m_filter = filter;<a name="line.134"></a>
-<span class="sourceLineNo">135</span> m_filter__IsNotDefault = true;<a name="line.135"></a>
+<span class="sourceLineNo">133</span> // 27, 1<a name="line.133"></a>
+<span class="sourceLineNo">134</span> m_format = format;<a name="line.134"></a>
+<span class="sourceLineNo">135</span> m_format__IsNotDefault = true;<a name="line.135"></a>
<span class="sourceLineNo">136</span> }<a name="line.136"></a>
-<span class="sourceLineNo">137</span> public String getFilter()<a name="line.137"></a>
+<span class="sourceLineNo">137</span> public String getFormat()<a name="line.137"></a>
<span class="sourceLineNo">138</span> {<a name="line.138"></a>
-<span class="sourceLineNo">139</span> return m_filter;<a name="line.139"></a>
+<span class="sourceLineNo">139</span> return m_format;<a name="line.139"></a>
<span class="sourceLineNo">140</span> }<a name="line.140"></a>
-<span class="sourceLineNo">141</span> private String m_filter;<a name="line.141"></a>
-<span class="sourceLineNo">142</span> public boolean getFilter__IsNotDefault()<a name="line.142"></a>
+<span class="sourceLineNo">141</span> private String m_format;<a name="line.141"></a>
+<span class="sourceLineNo">142</span> public boolean getFormat__IsNotDefault()<a name="line.142"></a>
<span class="sourceLineNo">143</span> {<a name="line.143"></a>
-<span class="sourceLineNo">144</span> return m_filter__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">144</span> return m_format__IsNotDefault;<a name="line.144"></a>
<span class="sourceLineNo">145</span> }<a name="line.145"></a>
-<span class="sourceLineNo">146</span> private boolean m_filter__IsNotDefault;<a name="line.146"></a>
-<span class="sourceLineNo">147</span> // 25, 1<a name="line.147"></a>
-<span class="sourceLineNo">148</span> public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.148"></a>
+<span class="sourceLineNo">146</span> private boolean m_format__IsNotDefault;<a name="line.146"></a>
+<span class="sourceLineNo">147</span> // 23, 1<a name="line.147"></a>
+<span class="sourceLineNo">148</span> public void setServers(List<ServerName> servers)<a name="line.148"></a>
<span class="sourceLineNo">149</span> {<a name="line.149"></a>
-<span class="sourceLineNo">150</span> // 25, 1<a name="line.150"></a>
-<span class="sourceLineNo">151</span> m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.151"></a>
-<span class="sourceLineNo">152</span> m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.152"></a>
+<span class="sourceLineNo">150</span> // 23, 1<a name="line.150"></a>
+<span class="sourceLineNo">151</span> m_servers = servers;<a name="line.151"></a>
+<span class="sourceLineNo">152</span> m_servers__IsNotDefault = true;<a name="line.152"></a>
<span class="sourceLineNo">153</span> }<a name="line.153"></a>
-<span class="sourceLineNo">154</span> public boolean getCatalogJanitorEnabled()<a name="line.154"></a>
+<span class="sourceLineNo">154</span> public List<ServerName> getServers()<a name="line.154"></a>
<span class="sourceLineNo">155</span> {<a name="line.155"></a>
-<span class="sourceLineNo">156</span> return m_catalogJanitorEnabled;<a name="line.156"></a>
+<span class="sourceLineNo">156</span> return m_servers;<a name="line.156"></a>
<span class="sourceLineNo">157</span> }<a name="line.157"></a>
-<span class="sourceLineNo">158</span> private boolean m_catalogJanitorEnabled;<a name="line.158"></a>
-<span class="sourceLineNo">159</span> public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.159"></a>
+<span class="sourceLineNo">158</span> private List<ServerName> m_servers;<a name="line.158"></a>
+<span class="sourceLineNo">159</span> public boolean getServers__IsNotDefault()<a name="line.159"></a>
<span class="sourceLineNo">160</span> {<a name="line.160"></a>
-<span class="sourceLineNo">161</span> return m_catalogJanitorEnabled__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">161</span> return m_servers__IsNotDefault;<a name="line.161"></a>
<span class="sourceLineNo">162</span> }<a name="line.162"></a>
-<span class="sourceLineNo">163</span> private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.163"></a>
-<span class="sourceLineNo">164</span> // 22, 1<a name="line.164"></a>
-<span class="sourceLineNo">165</span> public void setMetaLocation(ServerName metaLocation)<a name="line.165"></a>
+<span class="sourceLineNo">163</span> private boolean m_servers__IsNotDefault;<a name="line.163"></a>
+<span class="sourceLineNo">164</span> // 28, 1<a name="line.164"></a>
+<span class="sourceLineNo">165</span> public void setServerManager(ServerManager serverManager)<a name="line.165"></a>
<span class="sourceLineNo">166</span> {<a name="line.166"></a>
-<span class="sourceLineNo">167</span> // 22, 1<a name="line.167"></a>
-<span class="sourceLineNo">168</span> m_metaLocation = metaLocation;<a name="line.168"></a>
-<span class="sourceLineNo">169</span> m_metaLocation__IsNotDefault = true;<a name="line.169"></a>
+<span class="sourceLineNo">167</span> // 28, 1<a name="line.167"></a>
+<span class="sourceLineNo">168</span> m_serverManager = serverManager;<a name="line.168"></a>
+<span class="sourceLineNo">169</span> m_serverManager__IsNotDefault = true;<a name="line.169"></a>
<span class="sourceLineNo">170</span> }<a name="line.170"></a>
-<span class="sourceLineNo">171</span> public ServerName getMetaLocation()<a name="line.171"></a>
+<span class="sourceLineNo">171</span> public ServerManager getServerManager()<a name="line.171"></a>
<span class="sourceLineNo">172</span> {<a name="line.172"></a>
-<span class="sourceLineNo">173</span> return m_metaLocation;<a name="line.173"></a>
+<span class="sourceLineNo">173</span> return m_serverManager;<a name="line.173"></a>
<span class="sourceLineNo">174</span> }<a name="line.174"></a>
-<span class="sourceLineNo">175</span> private ServerName m_metaLocation;<a name="line.175"></a>
-<span class="sourceLineNo">176</span> public boolean getMetaLocation__IsNotDefault()<a name="line.176"></a>
+<span class="sourceLineNo">175</span> private ServerManager m_serverManager;<a name="line.175"></a>
+<span class="sourceLineNo">176</span> public boolean getServerManager__IsNotDefault()<a name="line.176"></a>
<span class="sourceLineNo">177</span> {<a name="line.177"></a>
-<span class="sourceLineNo">178</span> return m_metaLocation__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">178</span> return m_serverManager__IsNotDefault;<a name="line.178"></a>
<span class="sourceLineNo">179</span> }<a name="line.179"></a>
-<span class="sourceLineNo">180</span> private boolean m_metaLocation__IsNotDefault;<a name="line.180"></a>
-<span class="sourceLineNo">181</span> // 29, 1<a name="line.181"></a>
-<span class="sourceLineNo">182</span> public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.182"></a>
+<span class="sourceLineNo">180</span> private boolean m_serverManager__IsNotDefault;<a name="line.180"></a>
+<span class="sourceLineNo">181</span> // 21, 1<a name="line.181"></a>
+<span class="sourceLineNo">182</span> public void setFrags(Map<String,Integer> frags)<a name="line.182"></a>
<span class="sourceLineNo">183</span> {<a name="line.183"></a>
-<span class="sourceLineNo">184</span> // 29, 1<a name="line.184"></a>
-<span class="sourceLineNo">185</span> m_assignmentManager = assignmentManager;<a name="line.185"></a>
-<span class="sourceLineNo">186</span> m_assignmentManager__IsNotDefault = true;<a name="line.186"></a>
+<span class="sourceLineNo">184</span> // 21, 1<a name="line.184"></a>
+<span class="sourceLineNo">185</span> m_frags = frags;<a name="line.185"></a>
+<span class="sourceLineNo">186</span> m_frags__IsNotDefault = true;<a name="line.186"></a>
<span class="sourceLineNo">187</span> }<a name="line.187"></a>
-<span class="sourceLineNo">188</span> public AssignmentManager getAssignmentManager()<a name="line.188"></a>
+<span class="sourceLineNo">188</span> public Map<String,Integer> getFrags()<a name="line.188"></a>
<span class="sourceLineNo">189</span> {<a name="line.189"></a>
-<span class="sourceLineNo">190</span> return m_assignmentManager;<a name="line.190"></a>
+<span class="sourceLineNo">190</span> return m_frags;<a name="line.190"></a>
<span class="sourceLineNo">191</span> }<a name="line.191"></a>
-<span class="sourceLineNo">192</span> private AssignmentManager m_assignmentManager;<a name="line.192"></a>
-<span class="sourceLineNo">193</span> public boolean getAssignmentManager__IsNotDefault()<a name="line.193"></a>
+<span class="sourceLineNo">192</span> private Map<String,Integer> m_frags;<a name="line.192"></a>
+<span class="sourceLineNo">193</span> public boolean getFrags__IsNotDefault()<a name="line.193"></a>
<span class="sourceLineNo">194</span> {<a name="line.194"></a>
-<span class="sourceLineNo">195</span> return m_assignmentManager__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">195</span> return m_frags__IsNotDefault;<a name="line.195"></a>
<span class="sourceLineNo">196</span> }<a name="line.196"></a>
-<span class="sourceLineNo">197</span> private boolean m_assignmentManager__IsNotDefault;<a name="line.197"></a>
-<span class="sourceLineNo">198</span> // 21, 1<a name="line.198"></a>
-<span class="sourceLineNo">199</span> public void setFrags(Map<String,Integer> frags)<a name="line.199"></a>
+<span class="sourceLineNo">197</span> private boolean m_frags__IsNotDefault;<a name="line.197"></a>
+<span class="sourceLineNo">198</span> // 24, 1<a name="line.198"></a>
+<span class="sourceLineNo">199</span> public void setDeadServers(Set<ServerName> deadServers)<a name="line.199"></a>
<span class="sourceLineNo">200</span> {<a name="line.200"></a>
-<span class="sourceLineNo">201</span> // 21, 1<a name="line.201"></a>
-<span class="sourceLineNo">202</span> m_frags = frags;<a name="line.202"></a>
-<span class="sourceLineNo">203</span> m_frags__IsNotDefault = true;<a name="line.203"></a>
+<span class="sourceLineNo">201</span> // 24, 1<a name="line.201"></a>
+<span class="sourceLineNo">202</span> m_deadServers = deadServers;<a name="line.202"></a>
+<span class="sourceLineNo">203</span> m_deadServers__IsNotDefault = true;<a name="line.203"></a>
<span class="sourceLineNo">204</span> }<a name="line.204"></a>
-<span class="sourceLineNo">205</span> public Map<String,Integer> getFrags()<a name="line.205"></a>
+<span class="sourceLineNo">205</span> public Set<ServerName> getDeadServers()<a name="line.205"></a>
<span class="sourceLineNo">206</span> {<a name="line.206"></a>
-<span class="sourceLineNo">207</span> return m_frags;<a name="line.207"></a>
+<span class="sourceLineNo">207</span> return m_deadServers;<a name="line.207"></a>
<span class="sourceLineNo">208</span> }<a name="line.208"></a>
-<span class="sourceLineNo">209</span> private Map<String,Integer> m_frags;<a name="line.209"></a>
-<span class="sourceLineNo">210</span> public boolean getFrags__IsNotDefault()<a name="line.210"></a>
+<span class="sourceLineNo">209</span> private Set<ServerName> m_deadServers;<a name="line.209"></a>
+<span class="sourceLineNo">210</span> public boolean getDeadServers__IsNotDefault()<a name="line.210"></a>
<span class="sourceLineNo">211</span> {<a name="line.211"></a>
-<span class="sourceLineNo">212</span> return m_frags__IsNotDefault;<a name="line.212"></a>
+<span class="sourceLineNo">212</span> return m_deadServers__IsNotDefault;<a name="line.212"></a>
<span class="sourceLineNo">213</span> }<a name="line.213"></a>
-<span class="sourceLineNo">214</span> private boolean m_frags__IsNotDefault;<a name="line.214"></a>
-<span class="sourceLineNo">215</span> // 24, 1<a name="line.215"></a>
-<span class="sourceLineNo">216</span> public void setDeadServers(Set<ServerName> deadServers)<a name="line.216"></a>
+<span class="sourceLineNo">214</span> private boolean m_deadServers__IsNotDefault;<a name="line.214"></a>
+<span class="sourceLineNo">215</span> // 29, 1<a name="line.215"></a>
+<span class="sourceLineNo">216</span> public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.216"></a>
<span class="sourceLineNo">217</span> {<a name="line.217"></a>
-<span class="sourceLineNo">218</span> // 24, 1<a name="line.218"></a>
-<span class="sourceLineNo">219</span> m_deadServers = deadServers;<a name="line.219"></a>
-<span class="sourceLineNo">220</span> m_deadServers__IsNotDefault = true;<a name="line.220"></a>
+<span class="sourceLineNo">218</span> // 29, 1<a name="line.218"></a>
+<span class="sourceLineNo">219</span> m_assignmentManager = assignmentManager;<a name="line.219"></a>
+<span class="sourceLineNo">220</span> m_assignmentManager__IsNotDefault = true;<a name="line.220"></a>
<span class="sourceLineNo">221</span> }<a name="line.221"></a>
-<span class="sourceLineNo">222</span> public Set<ServerName> getDeadServers()<a name="line.222"></a>
+<span class="sourceLineNo">222</span> public AssignmentManager getAssignmentManager()<a name="line.222"></a>
<span class="sourceLineNo">223</span> {<a name="line.223"></a>
-<span class="sourceLineNo">224</span> return m_deadServers;<a name="line.224"></a>
+<span class="sourceLineNo">224</span> return m_assignmentManager;<a name="line.224"></a>
<span class="sourceLineNo">225</span> }<a name="line.225"></a>
-<span class="sourceLineNo">226</span> private Set<ServerName> m_deadServers;<a name="line.226"></a>
-<span class="sourceLineNo">227</span> public boolean getDeadServers__IsNotDefault()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private AssignmentManager m_assignmentManager;<a name="line.226"></a>
+<span class="sourceLineNo">227</span> public boolean getAssignmentManager__IsNotDefault()<a name="line.227"></a>
<span class="sourceLineNo">228</span> {<a name="line.228"></a>
-<span class="sourceLineNo">229</span> return m_deadServers__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span> return m_assignmentManager__IsNotDefault;<a name="line.229"></a>
<span class="sourceLineNo">230</span> }<a name="line.230"></a>
-<span class="sourceLineNo">231</span> private boolean m_deadServers__IsNotDefault;<a name="line.231"></a>
-<span class="sourceLineNo">232</span> // 27, 1<a name="line.232"></a>
-<span class="sourceLineNo">233</span> public void setFormat(String format)<a name="line.233"></a>
+<span class="sourceLineNo">231</span> private boolean m_assignmentManager__IsNotDefault;<a name="line.231"></a>
+<span class="sourceLineNo">232</span> // 26, 1<a name="line.232"></a>
+<span class="sourceLineNo">233</span> public void setFilter(String filter)<a name="line.233"></a>
<span class="sourceLineNo">234</span> {<a name="line.234"></a>
-<span class="sourceLineNo">235</span> // 27, 1<a name="line.235"></a>
-<span class="sourceLineNo">236</span> m_format = format;<a name="line.236"></a>
-<span class="sourceLineNo">237</span> m_format__IsNotDefault = true;<a name="line.237"></a>
+<span class="sourceLineNo">235</span> // 26, 1<a name="line.235"></a>
+<span class="sourceLineNo">236</span> m_filter = filter;<a name="line.236"></a>
+<span class="sourceLineNo">237</span> m_filter__IsNotDefault = true;<a name="line.237"></a>
<span class="sourceLineNo">238</span> }<a name="line.238"></a>
-<span class="sourceLineNo">239</span> public String getFormat()<a name="line.239"></a>
+<span class="sourceLineNo">239</span> public String getFilter()<a name="line.239"></a>
<span class="sourceLineNo">240</span> {<a name="line.240"></a>
-<span class="sourceLineNo">241</span> return m_format;<a name="line.241"></a>
+<span class="sourceLineNo">241</span> return m_filter;<a name="line.241"></a>
<span class="sourceLineNo">242</span> }<a name="line.242"></a>
-<span class="sourceLineNo">243</span> private String m_format;<a name="line.243"></a>
-<span class="sourceLineNo">244</span> public boolean getFormat__IsNotDefault()<a name="line.244"></a>
+<span class="sourceLineNo">243</span> private String m_filter;<a name="line.243"></a>
+<span class="sourceLineNo">244</span> public boolean getFilter__IsNotDefault()<a name="line.244"></a>
<span class="sourceLineNo">245</span> {<a name="line.245"></a>
-<span class="sourceLineNo">246</span> return m_format__IsNotDefault;<a name="line.246"></a>
+<span class="sourceLineNo">246</span> return m_filter__IsNotDefault;<a name="line.246"></a>
<span class="sourceLineNo">247</span> }<a name="line.247"></a>
-<span class="sourceLineNo">248</span> private boolean m_format__IsNotDefault;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> // 28, 1<a name="line.249"></a>
-<span class="sourceLineNo">250</span> public void setServerManager(ServerManager serverManager)<a name="line.250"></a>
+<span class="sourceLineNo">248</span> private boolean m_filter__IsNotDefault;<a name="line.248"></a>
+<span class="sourceLineNo">249</span> // 25, 1<a name="line.249"></a>
+<span class="sourceLineNo">250</span> public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.250"></a>
<span class="sourceLineNo">251</span> {<a name="line.251"></a>
-<span class="sourceLineNo">252</span> // 28, 1<a name="line.252"></a>
-<span class="sourceLineNo">253</span> m_serverManager = serverManager;<a name="line.253"></a>
-<span class="sourceLineNo">254</span> m_serverManager__IsNotDefault = true;<a name="line.254"></a>
+<span class="sourceLineNo">252</span> // 25, 1<a name="line.252"></a>
+<span class="sourceLineNo">253</span> m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.253"></a>
+<span class="sourceLineNo">254</span> m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.254"></a>
<span class="sourceLineNo">255</span> }<a name="line.255"></a>
-<span class="sourceLineNo">256</span> public ServerManager getServerManager()<a name="line.256"></a>
+<span class="sourceLineNo">256</span> public boolean getCatalogJanitorEnabled()<a name="line.256"></a>
<span class="sourceLineNo">257</span> {<a name="line.257"></a>
-<span class="sourceLineNo">258</span> return m_serverManager;<a name="line.258"></a>
+<span class="sourceLineNo">258</span> return m_catalogJanitorEnabled;<a name="line.258"></a>
<span class="sourceLineNo">259</span> }<a name="line.259"></a>
-<span class="sourceLineNo">260</span> private ServerManager m_serverManager;<a name="line.260"></a>
-<span class="sourceLineNo">261</span> public boolean getServerManager__IsNotDefault()<a name="line.261"></a>
+<span class="sourceLineNo">260</span> private boolean m_catalogJanitorEnabled;<a name="line.260"></a>
+<span class="sourceLineNo">261</span> public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.261"></a>
<span class="sourceLineNo">262</span> {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> return m_serverManager__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span> return m_catalogJanitorEnabled__IsNotDefault;<a name="line.263"></a>
<span class="sourceLineNo">264</span> }<a name="line.264"></a>
-<span class="sourceLineNo">265</span> private boolean m_serverManager__IsNotDefault;<a name="line.265"></a>
+<span class="sourceLineNo">265</span> private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.265"></a>
<span class="sourceLineNo">266</span> }<a name="line.266"></a>
<span class="sourceLineNo">267</span> @Override<a name="line.267"></a>
<span class="sourceLineNo">268</span> protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.268"></a>
@@ -282,66 +282,66 @@
<span class="sourceLineNo">274</span> return (ImplData) super.getImplData();<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> protected List<ServerName> servers;<a name="line.277"></a>
-<span class="sourceLineNo">278</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List<ServerName> p_servers)<a name="line.278"></a>
+<span class="sourceLineNo">277</span> protected ServerName metaLocation;<a name="line.277"></a>
+<span class="sourceLineNo">278</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.278"></a>
<span class="sourceLineNo">279</span> {<a name="line.279"></a>
-<span class="sourceLineNo">280</span> (getImplData()).setServers(p_servers);<a name="line.280"></a>
+<span class="sourceLineNo">280</span> (getImplData()).setMetaLocation(p_metaLocation);<a name="line.280"></a>
<span class="sourceLineNo">281</span> return this;<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> protected String filter;<a name="line.284"></a>
-<span class="sourceLineNo">285</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.285"></a>
+<span class="sourceLineNo">284</span> protected String format;<a name="line.284"></a>
+<span class="sourceLineNo">285</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.285"></a>
<span class="sourceLineNo">286</span> {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> (getImplData()).setFilter(p_filter);<a name="line.287"></a>
+<span class="sourceLineNo">287</span> (getImplData()).setFormat(p_format);<a name="line.287"></a>
<span class="sourceLineNo">288</span> return this;<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> protected boolean catalogJanitorEnabled;<a name="line.291"></a>
-<span class="sourceLineNo">292</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.292"></a>
+<span class="sourceLineNo">291</span> protected List<ServerName> servers;<a name="line.291"></a>
+<span class="sourceLineNo">292</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List<ServerName> p_servers)<a name="line.292"></a>
<span class="sourceLineNo">293</span> {<a name="line.293"></a>
-<span class="sourceLineNo">294</span> (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.294"></a>
+<span class="sourceLineNo">294</span> (getImplData()).setServers(p_servers);<a name="line.294"></a>
<span class="sourceLineNo">295</span> return this;<a name="line.295"></a>
<span class="sourceLineNo">296</span> }<a name="line.296"></a>
<span class="sourceLineNo">297</span> <a name="line.297"></a>
-<span class="sourceLineNo">298</span> protected ServerName metaLocation;<a name="line.298"></a>
-<span class="sourceLineNo">299</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.299"></a>
+<span class="sourceLineNo">298</span> protected ServerManager serverManager;<a name="line.298"></a>
+<span class="sourceLineNo">299</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.299"></a>
<span class="sourceLineNo">300</span> {<a name="line.300"></a>
-<span class="sourceLineNo">301</span> (getImplData()).setMetaLocation(p_metaLocation);<a name="line.301"></a>
+<span class="sourceLineNo">301</span> (getImplData()).setServerManager(p_serverManager);<a name="line.301"></a>
<span class="sourceLineNo">302</span> return this;<a name="line.302"></a>
<span class="sourceLineNo">303</span> }<a name="line.303"></a>
<span class="sourceLineNo">304</span> <a name="line.304"></a>
-<span class="sourceLineNo">305</span> protected AssignmentManager assignmentManager;<a name="line.305"></a>
-<span class="sourceLineNo">306</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.306"></a>
+<span class="sourceLineNo">305</span> protected Map<String,Integer> frags;<a name="line.305"></a>
+<span class="sourceLineNo">306</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map<String,Integer> p_frags)<a name="line.306"></a>
<span class="sourceLineNo">307</span> {<a name="line.307"></a>
-<span class="sourceLineNo">308</span> (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.308"></a>
+<span class="sourceLineNo">308</span> (getImplData()).setFrags(p_frags);<a name="line.308"></a>
<span class="sourceLineNo">309</span> return this;<a name="line.309"></a>
<span class="sourceLineNo">310</span> }<a name="line.310"></a>
<span class="sourceLineNo">311</span> <a name="line.311"></a>
-<span class="sourceLineNo">312</span> protected Map<String,Integer> frags;<a name="line.312"></a>
-<span class="sourceLineNo">313</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map<String,Integer> p_frags)<a name="line.313"></a>
+<span class="sourceLineNo">312</span> protected Set<ServerName> deadServers;<a name="line.312"></a>
+<span class="sourceLineNo">313</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set<ServerName> p_deadServers)<a name="line.313"></a>
<span class="sourceLineNo">314</span> {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> (getImplData()).setFrags(p_frags);<a name="line.315"></a>
+<span class="sourceLineNo">315</span> (getImplData()).setDeadServers(p_deadServers);<a name="line.315"></a>
<span class="sourceLineNo">316</span> return this;<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> protected Set<ServerName> deadServers;<a name="line.319"></a>
-<span class="sourceLineNo">320</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set<ServerName> p_deadServers)<a name="line.320"></a>
+<span class="sourceLineNo">319</span> protected AssignmentManager assignmentManager;<a name="line.319"></a>
+<span class="sourceLineNo">320</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.320"></a>
<span class="sourceLineNo">321</span> {<a name="line.321"></a>
-<span class="sourceLineNo">322</span> (getImplData()).setDeadServers(p_deadServers);<a name="line.322"></a>
+<span class="sourceLineNo">322</span> (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.322"></a>
<span class="sourceLineNo">323</span> return this;<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> protected String format;<a name="line.326"></a>
-<span class="sourceLineNo">327</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.327"></a>
+<span class="sourceLineNo">326</span> protected String filter;<a name="line.326"></a>
+<span class="sourceLineNo">327</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.327"></a>
<span class="sourceLineNo">328</span> {<a name="line.328"></a>
-<span class="sourceLineNo">329</span> (getImplData()).setFormat(p_format);<a name="line.329"></a>
+<span class="sourceLineNo">329</span> (getImplData()).setFilter(p_filter);<a name="line.329"></a>
<span class="sourceLineNo">330</span> return this;<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> protected ServerManager serverManager;<a name="line.333"></a>
-<span class="sourceLineNo">334</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.334"></a>
+<span class="sourceLineNo">333</span> protected boolean catalogJanitorEnabled;<a name="line.333"></a>
+<span class="sourceLineNo">334</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.334"></a>
<span class="sourceLineNo">335</span> {<a name="line.335"></a>
-<span class="sourceLineNo">336</span> (getImplData()).setServerManager(p_serverManager);<a name="line.336"></a>
+<span class="sourceLineNo">336</span> (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.336"></a>
<span class="sourceLineNo">337</span> return this;<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>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
index d7bb035..57dd74b 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
@@ -69,15 +69,15 @@
<span class="sourceLineNo">061</span> requiredArguments = {<a name="line.61"></a>
<span class="sourceLineNo">062</span> @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.62"></a>
<span class="sourceLineNo">063</span> optionalArguments = {<a name="line.63"></a>
-<span class="sourceLineNo">064</span> @org.jamon.annotations.Argument(name = "servers", type = "List<ServerName>"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span> @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span> @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span> @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span> @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.68"></a>
-<span class="sourceLineNo">069</span> @org.jamon.annotations.Argument(name = "frags", type = "Map<String,Integer>"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span> @org.jamon.annotations.Argument(name = "deadServers", type = "Set<ServerName>"),<a name="line.70"></a>
-<span class="sourceLineNo">071</span> @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.71"></a>
-<span class="sourceLineNo">072</span> @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager")})<a name="line.72"></a>
+<span class="sourceLineNo">064</span> @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.64"></a>
+<span class="sourceLineNo">065</span> @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span> @org.jamon.annotations.Argument(name = "servers", type = "List<ServerName>"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span> @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span> @org.jamon.annotations.Argument(name = "frags", type = "Map<String,Integer>"),<a name="line.68"></a>
+<span class="sourceLineNo">069</span> @org.jamon.annotations.Argument(name = "deadServers", type = "Set<ServerName>"),<a name="line.69"></a>
+<span class="sourceLineNo">070</span> @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.70"></a>
+<span class="sourceLineNo">071</span> @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.71"></a>
+<span class="sourceLineNo">072</span> @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean")})<a name="line.72"></a>
<span class="sourceLineNo">073</span>public class MasterStatusTmpl<a name="line.73"></a>
<span class="sourceLineNo">074</span> extends org.jamon.AbstractTemplateProxy<a name="line.74"></a>
<span class="sourceLineNo">075</span>{<a name="line.75"></a>
@@ -118,159 +118,159 @@
<span class="sourceLineNo">110</span> return m_master;<a name="line.110"></a>
<span class="sourceLineNo">111</span> }<a name="line.111"></a>
<span class="sourceLineNo">112</span> private HMaster m_master;<a name="line.112"></a>
-<span class="sourceLineNo">113</span> // 23, 1<a name="line.113"></a>
-<span class="sourceLineNo">114</span> public void setServers(List<ServerName> servers)<a name="line.114"></a>
+<span class="sourceLineNo">113</span> // 22, 1<a name="line.113"></a>
+<span class="sourceLineNo">114</span> public void setMetaLocation(ServerName metaLocation)<a name="line.114"></a>
<span class="sourceLineNo">115</span> {<a name="line.115"></a>
-<span class="sourceLineNo">116</span> // 23, 1<a name="line.116"></a>
-<span class="sourceLineNo">117</span> m_servers = servers;<a name="line.117"></a>
-<span class="sourceLineNo">118</span> m_servers__IsNotDefault = true;<a name="line.118"></a>
+<span class="sourceLineNo">116</span> // 22, 1<a name="line.116"></a>
+<span class="sourceLineNo">117</span> m_metaLocation = metaLocation;<a name="line.117"></a>
+<span class="sourceLineNo">118</span> m_metaLocation__IsNotDefault = true;<a name="line.118"></a>
<span class="sourceLineNo">119</span> }<a name="line.119"></a>
-<span class="sourceLineNo">120</span> public List<ServerName> getServers()<a name="line.120"></a>
+<span class="sourceLineNo">120</span> public ServerName getMetaLocation()<a name="line.120"></a>
<span class="sourceLineNo">121</span> {<a name="line.121"></a>
-<span class="sourceLineNo">122</span> return m_servers;<a name="line.122"></a>
+<span class="sourceLineNo">122</span> return m_metaLocation;<a name="line.122"></a>
<span class="sourceLineNo">123</span> }<a name="line.123"></a>
-<span class="sourceLineNo">124</span> private List<ServerName> m_servers;<a name="line.124"></a>
-<span class="sourceLineNo">125</span> public boolean getServers__IsNotDefault()<a name="line.125"></a>
+<span class="sourceLineNo">124</span> private ServerName m_metaLocation;<a name="line.124"></a>
+<span class="sourceLineNo">125</span> public boolean getMetaLocation__IsNotDefault()<a name="line.125"></a>
<span class="sourceLineNo">126</span> {<a name="line.126"></a>
-<span class="sourceLineNo">127</span> return m_servers__IsNotDefault;<a name="line.127"></a>
+<span class="sourceLineNo">127</span> return m_metaLocation__IsNotDefault;<a name="line.127"></a>
<span class="sourceLineNo">128</span> }<a name="line.128"></a>
-<span class="sourceLineNo">129</span> private boolean m_servers__IsNotDefault;<a name="line.129"></a>
-<span class="sourceLineNo">130</span> // 26, 1<a name="line.130"></a>
-<span class="sourceLineNo">131</span> public void setFilter(String filter)<a name="line.131"></a>
+<span class="sourceLineNo">129</span> private boolean m_metaLocation__IsNotDefault;<a name="line.129"></a>
+<span class="sourceLineNo">130</span> // 27, 1<a name="line.130"></a>
+<span class="sourceLineNo">131</span> public void setFormat(String format)<a name="line.131"></a>
<span class="sourceLineNo">132</span> {<a name="line.132"></a>
-<span class="sourceLineNo">133</span> // 26, 1<a name="line.133"></a>
-<span class="sourceLineNo">134</span> m_filter = filter;<a name="line.134"></a>
-<span class="sourceLineNo">135</span> m_filter__IsNotDefault = true;<a name="line.135"></a>
+<span class="sourceLineNo">133</span> // 27, 1<a name="line.133"></a>
+<span class="sourceLineNo">134</span> m_format = format;<a name="line.134"></a>
+<span class="sourceLineNo">135</span> m_format__IsNotDefault = true;<a name="line.135"></a>
<span class="sourceLineNo">136</span> }<a name="line.136"></a>
-<span class="sourceLineNo">137</span> public String getFilter()<a name="line.137"></a>
+<span class="sourceLineNo">137</span> public String getFormat()<a name="line.137"></a>
<span class="sourceLineNo">138</span> {<a name="line.138"></a>
-<span class="sourceLineNo">139</span> return m_filter;<a name="line.139"></a>
+<span class="sourceLineNo">139</span> return m_format;<a name="line.139"></a>
<span class="sourceLineNo">140</span> }<a name="line.140"></a>
-<span class="sourceLineNo">141</span> private String m_filter;<a name="line.141"></a>
-<span class="sourceLineNo">142</span> public boolean getFilter__IsNotDefault()<a name="line.142"></a>
+<span class="sourceLineNo">141</span> private String m_format;<a name="line.141"></a>
+<span class="sourceLineNo">142</span> public boolean getFormat__IsNotDefault()<a name="line.142"></a>
<span class="sourceLineNo">143</span> {<a name="line.143"></a>
-<span class="sourceLineNo">144</span> return m_filter__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">144</span> return m_format__IsNotDefault;<a name="line.144"></a>
<span class="sourceLineNo">145</span> }<a name="line.145"></a>
-<span class="sourceLineNo">146</span> private boolean m_filter__IsNotDefault;<a name="line.146"></a>
-<span class="sourceLineNo">147</span> // 25, 1<a name="line.147"></a>
-<span class="sourceLineNo">148</span> public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.148"></a>
+<span class="sourceLineNo">146</span> private boolean m_format__IsNotDefault;<a name="line.146"></a>
+<span class="sourceLineNo">147</span> // 23, 1<a name="line.147"></a>
+<span class="sourceLineNo">148</span> public void setServers(List<ServerName> servers)<a name="line.148"></a>
<span class="sourceLineNo">149</span> {<a name="line.149"></a>
-<span class="sourceLineNo">150</span> // 25, 1<a name="line.150"></a>
-<span class="sourceLineNo">151</span> m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.151"></a>
-<span class="sourceLineNo">152</span> m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.152"></a>
+<span class="sourceLineNo">150</span> // 23, 1<a name="line.150"></a>
+<span class="sourceLineNo">151</span> m_servers = servers;<a name="line.151"></a>
+<span class="sourceLineNo">152</span> m_servers__IsNotDefault = true;<a name="line.152"></a>
<span class="sourceLineNo">153</span> }<a name="line.153"></a>
-<span class="sourceLineNo">154</span> public boolean getCatalogJanitorEnabled()<a name="line.154"></a>
+<span class="sourceLineNo">154</span> public List<ServerName> getServers()<a name="line.154"></a>
<span class="sourceLineNo">155</span> {<a name="line.155"></a>
-<span class="sourceLineNo">156</span> return m_catalogJanitorEnabled;<a name="line.156"></a>
+<span class="sourceLineNo">156</span> return m_servers;<a name="line.156"></a>
<span class="sourceLineNo">157</span> }<a name="line.157"></a>
-<span class="sourceLineNo">158</span> private boolean m_catalogJanitorEnabled;<a name="line.158"></a>
-<span class="sourceLineNo">159</span> public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.159"></a>
+<span class="sourceLineNo">158</span> private List<ServerName> m_servers;<a name="line.158"></a>
+<span class="sourceLineNo">159</span> public boolean getServers__IsNotDefault()<a name="line.159"></a>
<span class="sourceLineNo">160</span> {<a name="line.160"></a>
-<span class="sourceLineNo">161</span> return m_catalogJanitorEnabled__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">161</span> return m_servers__IsNotDefault;<a name="line.161"></a>
<span class="sourceLineNo">162</span> }<a name="line.162"></a>
-<span class="sourceLineNo">163</span> private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.163"></a>
-<span class="sourceLineNo">164</span> // 22, 1<a name="line.164"></a>
-<span class="sourceLineNo">165</span> public void setMetaLocation(ServerName metaLocation)<a name="line.165"></a>
+<span class="sourceLineNo">163</span> private boolean m_servers__IsNotDefault;<a name="line.163"></a>
+<span class="sourceLineNo">164</span> // 28, 1<a name="line.164"></a>
+<span class="sourceLineNo">165</span> public void setServerManager(ServerManager serverManager)<a name="line.165"></a>
<span class="sourceLineNo">166</span> {<a name="line.166"></a>
-<span class="sourceLineNo">167</span> // 22, 1<a name="line.167"></a>
-<span class="sourceLineNo">168</span> m_metaLocation = metaLocation;<a name="line.168"></a>
-<span class="sourceLineNo">169</span> m_metaLocation__IsNotDefault = true;<a name="line.169"></a>
+<span class="sourceLineNo">167</span> // 28, 1<a name="line.167"></a>
+<span class="sourceLineNo">168</span> m_serverManager = serverManager;<a name="line.168"></a>
+<span class="sourceLineNo">169</span> m_serverManager__IsNotDefault = true;<a name="line.169"></a>
<span class="sourceLineNo">170</span> }<a name="line.170"></a>
-<span class="sourceLineNo">171</span> public ServerName getMetaLocation()<a name="line.171"></a>
+<span class="sourceLineNo">171</span> public ServerManager getServerManager()<a name="line.171"></a>
<span class="sourceLineNo">172</span> {<a name="line.172"></a>
-<span class="sourceLineNo">173</span> return m_metaLocation;<a name="line.173"></a>
+<span class="sourceLineNo">173</span> return m_serverManager;<a name="line.173"></a>
<span class="sourceLineNo">174</span> }<a name="line.174"></a>
-<span class="sourceLineNo">175</span> private ServerName m_metaLocation;<a name="line.175"></a>
-<span class="sourceLineNo">176</span> public boolean getMetaLocation__IsNotDefault()<a name="line.176"></a>
+<span class="sourceLineNo">175</span> private ServerManager m_serverManager;<a name="line.175"></a>
+<span class="sourceLineNo">176</span> public boolean getServerManager__IsNotDefault()<a name="line.176"></a>
<span class="sourceLineNo">177</span> {<a name="line.177"></a>
-<span class="sourceLineNo">178</span> return m_metaLocation__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">178</span> return m_serverManager__IsNotDefault;<a name="line.178"></a>
<span class="sourceLineNo">179</span> }<a name="line.179"></a>
-<span class="sourceLineNo">180</span> private boolean m_metaLocation__IsNotDefault;<a name="line.180"></a>
-<span class="sourceLineNo">181</span> // 29, 1<a name="line.181"></a>
-<span class="sourceLineNo">182</span> public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.182"></a>
+<span class="sourceLineNo">180</span> private boolean m_serverManager__IsNotDefault;<a name="line.180"></a>
+<span class="sourceLineNo">181</span> // 21, 1<a name="line.181"></a>
+<span class="sourceLineNo">182</span> public void setFrags(Map<String,Integer> frags)<a name="line.182"></a>
<span class="sourceLineNo">183</span> {<a name="line.183"></a>
-<span class="sourceLineNo">184</span> // 29, 1<a name="line.184"></a>
-<span class="sourceLineNo">185</span> m_assignmentManager = assignmentManager;<a name="line.185"></a>
-<span class="sourceLineNo">186</span> m_assignmentManager__IsNotDefault = true;<a name="line.186"></a>
+<span class="sourceLineNo">184</span> // 21, 1<a name="line.184"></a>
+<span class="sourceLineNo">185</span> m_frags = frags;<a name="line.185"></a>
+<span class="sourceLineNo">186</span> m_frags__IsNotDefault = true;<a name="line.186"></a>
<span class="sourceLineNo">187</span> }<a name="line.187"></a>
-<span class="sourceLineNo">188</span> public AssignmentManager getAssignmentManager()<a name="line.188"></a>
+<span class="sourceLineNo">188</span> public Map<String,Integer> getFrags()<a name="line.188"></a>
<span class="sourceLineNo">189</span> {<a name="line.189"></a>
-<span class="sourceLineNo">190</span> return m_assignmentManager;<a name="line.190"></a>
+<span class="sourceLineNo">190</span> return m_frags;<a name="line.190"></a>
<span class="sourceLineNo">191</span> }<a name="line.191"></a>
-<span class="sourceLineNo">192</span> private AssignmentManager m_assignmentManager;<a name="line.192"></a>
-<span class="sourceLineNo">193</span> public boolean getAssignmentManager__IsNotDefault()<a name="line.193"></a>
+<span class="sourceLineNo">192</span> private Map<String,Integer> m_frags;<a name="line.192"></a>
+<span class="sourceLineNo">193</span> public boolean getFrags__IsNotDefault()<a name="line.193"></a>
<span class="sourceLineNo">194</span> {<a name="line.194"></a>
-<span class="sourceLineNo">195</span> return m_assignmentManager__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">195</span> return m_frags__IsNotDefault;<a name="line.195"></a>
<span class="sourceLineNo">196</span> }<a name="line.196"></a>
-<span class="sourceLineNo">197</span> private boolean m_assignmentManager__IsNotDefault;<a name="line.197"></a>
-<span class="sourceLineNo">198</span> // 21, 1<a name="line.198"></a>
-<span class="sourceLineNo">199</span> public void setFrags(Map<String,Integer> frags)<a name="line.199"></a>
+<span class="sourceLineNo">197</span> private boolean m_frags__IsNotDefault;<a name="line.197"></a>
+<span class="sourceLineNo">198</span> // 24, 1<a name="line.198"></a>
+<span class="sourceLineNo">199</span> public void setDeadServers(Set<ServerName> deadServers)<a name="line.199"></a>
<span class="sourceLineNo">200</span> {<a name="line.200"></a>
-<span class="sourceLineNo">201</span> // 21, 1<a name="line.201"></a>
-<span class="sourceLineNo">202</span> m_frags = frags;<a name="line.202"></a>
-<span class="sourceLineNo">203</span> m_frags__IsNotDefault = true;<a name="line.203"></a>
+<span class="sourceLineNo">201</span> // 24, 1<a name="line.201"></a>
+<span class="sourceLineNo">202</span> m_deadServers = deadServers;<a name="line.202"></a>
+<span class="sourceLineNo">203</span> m_deadServers__IsNotDefault = true;<a name="line.203"></a>
<span class="sourceLineNo">204</span> }<a name="line.204"></a>
-<span class="sourceLineNo">205</span> public Map<String,Integer> getFrags()<a name="line.205"></a>
+<span class="sourceLineNo">205</span> public Set<ServerName> getDeadServers()<a name="line.205"></a>
<span class="sourceLineNo">206</span> {<a name="line.206"></a>
-<span class="sourceLineNo">207</span> return m_frags;<a name="line.207"></a>
+<span class="sourceLineNo">207</span> return m_deadServers;<a name="line.207"></a>
<span class="sourceLineNo">208</span> }<a name="line.208"></a>
-<span class="sourceLineNo">209</span> private Map<String,Integer> m_frags;<a name="line.209"></a>
-<span class="sourceLineNo">210</span> public boolean getFrags__IsNotDefault()<a name="line.210"></a>
+<span class="sourceLineNo">209</span> private Set<ServerName> m_deadServers;<a name="line.209"></a>
+<span class="sourceLineNo">210</span> public boolean getDeadServers__IsNotDefault()<a name="line.210"></a>
<span class="sourceLineNo">211</span> {<a name="line.211"></a>
-<span class="sourceLineNo">212</span> return m_frags__IsNotDefault;<a name="line.212"></a>
+<span class="sourceLineNo">212</span> return m_deadServers__IsNotDefault;<a name="line.212"></a>
<span class="sourceLineNo">213</span> }<a name="line.213"></a>
-<span class="sourceLineNo">214</span> private boolean m_frags__IsNotDefault;<a name="line.214"></a>
-<span class="sourceLineNo">215</span> // 24, 1<a name="line.215"></a>
-<span class="sourceLineNo">216</span> public void setDeadServers(Set<ServerName> deadServers)<a name="line.216"></a>
+<span class="sourceLineNo">214</span> private boolean m_deadServers__IsNotDefault;<a name="line.214"></a>
+<span class="sourceLineNo">215</span> // 29, 1<a name="line.215"></a>
+<span class="sourceLineNo">216</span> public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.216"></a>
<span class="sourceLineNo">217</span> {<a name="line.217"></a>
-<span class="sourceLineNo">218</span> // 24, 1<a name="line.218"></a>
-<span class="sourceLineNo">219</span> m_deadServers = deadServers;<a name="line.219"></a>
-<span class="sourceLineNo">220</span> m_deadServers__IsNotDefault = true;<a name="line.220"></a>
+<span class="sourceLineNo">218</span> // 29, 1<a name="line.218"></a>
+<span class="sourceLineNo">219</span> m_assignmentManager = assignmentManager;<a name="line.219"></a>
+<span class="sourceLineNo">220</span> m_assignmentManager__IsNotDefault = true;<a name="line.220"></a>
<span class="sourceLineNo">221</span> }<a name="line.221"></a>
-<span class="sourceLineNo">222</span> public Set<ServerName> getDeadServers()<a name="line.222"></a>
+<span class="sourceLineNo">222</span> public AssignmentManager getAssignmentManager()<a name="line.222"></a>
<span class="sourceLineNo">223</span> {<a name="line.223"></a>
-<span class="sourceLineNo">224</span> return m_deadServers;<a name="line.224"></a>
+<span class="sourceLineNo">224</span> return m_assignmentManager;<a name="line.224"></a>
<span class="sourceLineNo">225</span> }<a name="line.225"></a>
-<span class="sourceLineNo">226</span> private Set<ServerName> m_deadServers;<a name="line.226"></a>
-<span class="sourceLineNo">227</span> public boolean getDeadServers__IsNotDefault()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private AssignmentManager m_assignmentManager;<a name="line.226"></a>
+<span class="sourceLineNo">227</span> public boolean getAssignmentManager__IsNotDefault()<a name="line.227"></a>
<span class="sourceLineNo">228</span> {<a name="line.228"></a>
-<span class="sourceLineNo">229</span> return m_deadServers__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span> return m_assignmentManager__IsNotDefault;<a name="line.229"></a>
<span class="sourceLineNo">230</span> }<a name="line.230"></a>
-<span class="sourceLineNo">231</span> private boolean m_deadServers__IsNotDefault;<a name="line.231"></a>
-<span class="sourceLineNo">232</span> // 27, 1<a name="line.232"></a>
-<span class="sourceLineNo">233</span> public void setFormat(String format)<a name="line.233"></a>
+<span class="sourceLineNo">231</span> private boolean m_assignmentManager__IsNotDefault;<a name="line.231"></a>
+<span class="sourceLineNo">232</span> // 26, 1<a name="line.232"></a>
+<span class="sourceLineNo">233</span> public void setFilter(String filter)<a name="line.233"></a>
<span class="sourceLineNo">234</span> {<a name="line.234"></a>
-<span class="sourceLineNo">235</span> // 27, 1<a name="line.235"></a>
-<span class="sourceLineNo">236</span> m_format = format;<a name="line.236"></a>
-<span class="sourceLineNo">237</span> m_format__IsNotDefault = true;<a name="line.237"></a>
+<span class="sourceLineNo">235</span> // 26, 1<a name="line.235"></a>
+<span class="sourceLineNo">236</span> m_filter = filter;<a name="line.236"></a>
+<span class="sourceLineNo">237</span> m_filter__IsNotDefault = true;<a name="line.237"></a>
<span class="sourceLineNo">238</span> }<a name="line.238"></a>
-<span class="sourceLineNo">239</span> public String getFormat()<a name="line.239"></a>
+<span class="sourceLineNo">239</span> public String getFilter()<a name="line.239"></a>
<span class="sourceLineNo">240</span> {<a name="line.240"></a>
-<span class="sourceLineNo">241</span> return m_format;<a name="line.241"></a>
+<span class="sourceLineNo">241</span> return m_filter;<a name="line.241"></a>
<span class="sourceLineNo">242</span> }<a name="line.242"></a>
-<span class="sourceLineNo">243</span> private String m_format;<a name="line.243"></a>
-<span class="sourceLineNo">244</span> public boolean getFormat__IsNotDefault()<a name="line.244"></a>
+<span class="sourceLineNo">243</span> private String m_filter;<a name="line.243"></a>
+<span class="sourceLineNo">244</span> public boolean getFilter__IsNotDefault()<a name="line.244"></a>
<span class="sourceLineNo">245</span> {<a name="line.245"></a>
-<span class="sourceLineNo">246</span> return m_format__IsNotDefault;<a name="line.246"></a>
+<span class="sourceLineNo">246</span> return m_filter__IsNotDefault;<a name="line.246"></a>
<span class="sourceLineNo">247</span> }<a name="line.247"></a>
-<span class="sourceLineNo">248</span> private boolean m_format__IsNotDefault;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> // 28, 1<a name="line.249"></a>
-<span class="sourceLineNo">250</span> public void setServerManager(ServerManager serverManager)<a name="line.250"></a>
+<span class="sourceLineNo">248</span> private boolean m_filter__IsNotDefault;<a name="line.248"></a>
+<span class="sourceLineNo">249</span> // 25, 1<a name="line.249"></a>
+<span class="sourceLineNo">250</span> public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.250"></a>
<span class="sourceLineNo">251</span> {<a name="line.251"></a>
-<span class="sourceLineNo">252</span> // 28, 1<a name="line.252"></a>
-<span class="sourceLineNo">253</span> m_serverManager = serverManager;<a name="line.253"></a>
-<span class="sourceLineNo">254</span> m_serverManager__IsNotDefault = true;<a name="line.254"></a>
+<span class="sourceLineNo">252</span> // 25, 1<a name="line.252"></a>
+<span class="sourceLineNo">253</span> m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.253"></a>
+<span class="sourceLineNo">254</span> m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.254"></a>
<span class="sourceLineNo">255</span> }<a name="line.255"></a>
-<span class="sourceLineNo">256</span> public ServerManager getServerManager()<a name="line.256"></a>
+<span class="sourceLineNo">256</span> public boolean getCatalogJanitorEnabled()<a name="line.256"></a>
<span class="sourceLineNo">257</span> {<a name="line.257"></a>
-<span class="sourceLineNo">258</span> return m_serverManager;<a name="line.258"></a>
+<span class="sourceLineNo">258</span> return m_catalogJanitorEnabled;<a name="line.258"></a>
<span class="sourceLineNo">259</span> }<a name="line.259"></a>
-<span class="sourceLineNo">260</span> private ServerManager m_serverManager;<a name="line.260"></a>
-<span class="sourceLineNo">261</span> public boolean getServerManager__IsNotDefault()<a name="line.261"></a>
+<span class="sourceLineNo">260</span> private boolean m_catalogJanitorEnabled;<a name="line.260"></a>
+<span class="sourceLineNo">261</span> public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.261"></a>
<span class="sourceLineNo">262</span> {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> return m_serverManager__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span> return m_catalogJanitorEnabled__IsNotDefault;<a name="line.263"></a>
<span class="sourceLineNo">264</span> }<a name="line.264"></a>
-<span class="sourceLineNo">265</span> private boolean m_serverManager__IsNotDefault;<a name="line.265"></a>
+<span class="sourceLineNo">265</span> private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.265"></a>
<span class="sourceLineNo">266</span> }<a name="line.266"></a>
<span class="sourceLineNo">267</span> @Override<a name="line.267"></a>
<span class="sourceLineNo">268</span> protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.268"></a>
@@ -282,66 +282,66 @@
<span class="sourceLineNo">274</span> return (ImplData) super.getImplData();<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> protected List<ServerName> servers;<a name="line.277"></a>
-<span class="sourceLineNo">278</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List<ServerName> p_servers)<a name="line.278"></a>
+<span class="sourceLineNo">277</span> protected ServerName metaLocation;<a name="line.277"></a>
+<span class="sourceLineNo">278</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.278"></a>
<span class="sourceLineNo">279</span> {<a name="line.279"></a>
-<span class="sourceLineNo">280</span> (getImplData()).setServers(p_servers);<a name="line.280"></a>
+<span class="sourceLineNo">280</span> (getImplData()).setMetaLocation(p_metaLocation);<a name="line.280"></a>
<span class="sourceLineNo">281</span> return this;<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> protected String filter;<a name="line.284"></a>
-<span class="sourceLineNo">285</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.285"></a>
+<span class="sourceLineNo">284</span> protected String format;<a name="line.284"></a>
+<span class="sourceLineNo">285</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.285"></a>
<span class="sourceLineNo">286</span> {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> (getImplData()).setFilter(p_filter);<a name="line.287"></a>
+<span class="sourceLineNo">287</span> (getImplData()).setFormat(p_format);<a name="line.287"></a>
<span class="sourceLineNo">288</span> return this;<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> protected boolean catalogJanitorEnabled;<a name="line.291"></a>
-<span class="sourceLineNo">292</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.292"></a>
+<span class="sourceLineNo">291</span> protected List<ServerName> servers;<a name="line.291"></a>
+<span class="sourceLineNo">292</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List<ServerName> p_servers)<a name="line.292"></a>
<span class="sourceLineNo">293</span> {<a name="line.293"></a>
-<span class="sourceLineNo">294</span> (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.294"></a>
+<span class="sourceLineNo">294</span> (getImplData()).setServers(p_servers);<a name="line.294"></a>
<span class="sourceLineNo">295</span> return this;<a name="line.295"></a>
<span class="sourceLineNo">296</span> }<a name="line.296"></a>
<span class="sourceLineNo">297</span> <a name="line.297"></a>
-<span class="sourceLineNo">298</span> protected ServerName metaLocation;<a name="line.298"></a>
-<span class="sourceLineNo">299</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.299"></a>
+<span class="sourceLineNo">298</span> protected ServerManager serverManager;<a name="line.298"></a>
+<span class="sourceLineNo">299</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.299"></a>
<span class="sourceLineNo">300</span> {<a name="line.300"></a>
-<span class="sourceLineNo">301</span> (getImplData()).setMetaLocation(p_metaLocation);<a name="line.301"></a>
+<span class="sourceLineNo">301</span> (getImplData()).setServerManager(p_serverManager);<a name="line.301"></a>
<span class="sourceLineNo">302</span> return this;<a name="line.302"></a>
<span class="sourceLineNo">303</span> }<a name="line.303"></a>
<span class="sourceLineNo">304</span> <a name="line.304"></a>
-<span class="sourceLineNo">305</span> protected AssignmentManager assignmentManager;<a name="line.305"></a>
-<span class="sourceLineNo">306</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.306"></a>
+<span class="sourceLineNo">305</span> protected Map<String,Integer> frags;<a name="line.305"></a>
+<span class="sourceLineNo">306</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map<String,Integer> p_frags)<a name="line.306"></a>
<span class="sourceLineNo">307</span> {<a name="line.307"></a>
-<span class="sourceLineNo">308</span> (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.308"></a>
+<span class="sourceLineNo">308</span> (getImplData()).setFrags(p_frags);<a name="line.308"></a>
<span class="sourceLineNo">309</span> return this;<a name="line.309"></a>
<span class="sourceLineNo">310</span> }<a name="line.310"></a>
<span class="sourceLineNo">311</span> <a name="line.311"></a>
-<span class="sourceLineNo">312</span> protected Map<String,Integer> frags;<a name="line.312"></a>
-<span class="sourceLineNo">313</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map<String,Integer> p_frags)<a name="line.313"></a>
+<span class="sourceLineNo">312</span> protected Set<ServerName> deadServers;<a name="line.312"></a>
+<span class="sourceLineNo">313</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set<ServerName> p_deadServers)<a name="line.313"></a>
<span class="sourceLineNo">314</span> {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> (getImplData()).setFrags(p_frags);<a name="line.315"></a>
+<span class="sourceLineNo">315</span> (getImplData()).setDeadServers(p_deadServers);<a name="line.315"></a>
<span class="sourceLineNo">316</span> return this;<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> protected Set<ServerName> deadServers;<a name="line.319"></a>
-<span class="sourceLineNo">320</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set<ServerName> p_deadServers)<a name="line.320"></a>
+<span class="sourceLineNo">319</span> protected AssignmentManager assignmentManager;<a name="line.319"></a>
+<span class="sourceLineNo">320</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.320"></a>
<span class="sourceLineNo">321</span> {<a name="line.321"></a>
-<span class="sourceLineNo">322</span> (getImplData()).setDeadServers(p_deadServers);<a name="line.322"></a>
+<span class="sourceLineNo">322</span> (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.322"></a>
<span class="sourceLineNo">323</span> return this;<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> protected String format;<a name="line.326"></a>
-<span class="sourceLineNo">327</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.327"></a>
+<span class="sourceLineNo">326</span> protected String filter;<a name="line.326"></a>
+<span class="sourceLineNo">327</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.327"></a>
<span class="sourceLineNo">328</span> {<a name="line.328"></a>
-<span class="sourceLineNo">329</span> (getImplData()).setFormat(p_format);<a name="line.329"></a>
+<span class="sourceLineNo">329</span> (getImplData()).setFilter(p_filter);<a name="line.329"></a>
<span class="sourceLineNo">330</span> return this;<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> protected ServerManager serverManager;<a name="line.333"></a>
-<span class="sourceLineNo">334</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.334"></a>
+<span class="sourceLineNo">333</span> protected boolean catalogJanitorEnabled;<a name="line.333"></a>
+<span class="sourceLineNo">334</span> public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.334"></a>
<span class="sourceLineNo">335</span> {<a name="line.335"></a>
-<span class="sourceLineNo">336</span> (getImplData()).setServerManager(p_serverManager);<a name="line.336"></a>
+<span class="sourceLineNo">336</span> (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.336"></a>
<span class="sourceLineNo">337</span> return this;<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>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
index e28aec1..f81cd90 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
@@ -70,15 +70,15 @@
<span class="sourceLineNo">062</span><a name="line.62"></a>
<span class="sourceLineNo">063</span>{<a name="line.63"></a>
<span class="sourceLineNo">064</span> private final HMaster master;<a name="line.64"></a>
-<span class="sourceLineNo">065</span> private final List<ServerName> servers;<a name="line.65"></a>
-<span class="sourceLineNo">066</span> private final String filter;<a name="line.66"></a>
-<span class="sourceLineNo">067</span> private final boolean catalogJanitorEnabled;<a name="line.67"></a>
-<span class="sourceLineNo">068</span> private final ServerName metaLocation;<a name="line.68"></a>
-<span class="sourceLineNo">069</span> private final AssignmentManager assignmentManager;<a name="line.69"></a>
-<span class="sourceLineNo">070</span> private final Map<String,Integer> frags;<a name="line.70"></a>
-<span class="sourceLineNo">071</span> private final Set<ServerName> deadServers;<a name="line.71"></a>
-<span class="sourceLineNo">072</span> private final String format;<a name="line.72"></a>
-<span class="sourceLineNo">073</span> private final ServerManager serverManager;<a name="line.73"></a>
+<span class="sourceLineNo">065</span> private final ServerName metaLocation;<a name="line.65"></a>
+<span class="sourceLineNo">066</span> private final String format;<a name="line.66"></a>
+<span class="sourceLineNo">067</span> private final List<ServerName> servers;<a name="line.67"></a>
+<span class="sourceLineNo">068</span> private final ServerManager serverManager;<a name="line.68"></a>
+<span class="sourceLineNo">069</span> private final Map<String,Integer> frags;<a name="line.69"></a>
+<span class="sourceLineNo">070</span> private final Set<ServerName> deadServers;<a name="line.70"></a>
+<span class="sourceLineNo">071</span> private final AssignmentManager assignmentManager;<a name="line.71"></a>
+<span class="sourceLineNo">072</span> private final String filter;<a name="line.72"></a>
+<span class="sourceLineNo">073</span> private final boolean catalogJanitorEnabled;<a name="line.73"></a>
<span class="sourceLineNo">074</span> // 69, 1<a name="line.74"></a>
<span class="sourceLineNo">075</span> <a name="line.75"></a>
<span class="sourceLineNo">076</span> public String formatZKString() {<a name="line.76"></a>
@@ -108,41 +108,41 @@
<span class="sourceLineNo">100</span><a name="line.100"></a>
<span class="sourceLineNo">101</span> protected static org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl.ImplData __jamon_setOptionalArguments(org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl.ImplData p_implData)<a name="line.101"></a>
<span class="sourceLineNo">102</span> {<a name="line.102"></a>
-<span class="sourceLineNo">103</span> if(! p_implData.getServers__IsNotDefault())<a name="line.103"></a>
+<span class="sourceLineNo">103</span> if(! p_implData.getMetaLocation__IsNotDefault())<a name="line.103"></a>
<span class="sourceLineNo">104</span> {<a name="line.104"></a>
-<span class="sourceLineNo">105</span> p_implData.setServers(null);<a name="line.105"></a>
+<span class="sourceLineNo">105</span> p_implData.setMetaLocation(null);<a name="line.105"></a>
<span class="sourceLineNo">106</span> }<a name="line.106"></a>
-<span class="sourceLineNo">107</span> if(! p_implData.getFilter__IsNotDefault())<a name="line.107"></a>
+<span class="sourceLineNo">107</span> if(! p_implData.getFormat__IsNotDefault())<a name="line.107"></a>
<span class="sourceLineNo">108</span> {<a name="line.108"></a>
-<span class="sourceLineNo">109</span> p_implData.setFilter("general");<a name="line.109"></a>
+<span class="sourceLineNo">109</span> p_implData.setFormat("html");<a name="line.109"></a>
<span class="sourceLineNo">110</span> }<a name="line.110"></a>
-<span class="sourceLineNo">111</span> if(! p_implData.getCatalogJanitorEnabled__IsNotDefault())<a name="line.111"></a>
+<span class="sourceLineNo">111</span> if(! p_implData.getServers__IsNotDefault())<a name="line.111"></a>
<span class="sourceLineNo">112</span> {<a name="line.112"></a>
-<span class="sourceLineNo">113</span> p_implData.setCatalogJanitorEnabled(true);<a name="line.113"></a>
+<span class="sourceLineNo">113</span> p_implData.setServers(null);<a name="line.113"></a>
<span class="sourceLineNo">114</span> }<a name="line.114"></a>
-<span class="sourceLineNo">115</span> if(! p_implData.getMetaLocation__IsNotDefault())<a name="line.115"></a>
+<span class="sourceLineNo">115</span> if(! p_implData.getServerManager__IsNotDefault())<a name="line.115"></a>
<span class="sourceLineNo">116</span> {<a name="line.116"></a>
-<span class="sourceLineNo">117</span> p_implData.setMetaLocation(null);<a name="line.117"></a>
+<span class="sourceLineNo">117</span> p_implData.setServerManager(null);<a name="line.117"></a>
<span class="sourceLineNo">118</span> }<a name="line.118"></a>
-<span class="sourceLineNo">119</span> if(! p_implData.getAssignmentManager__IsNotDefault())<a name="line.119"></a>
+<span class="sourceLineNo">119</span> if(! p_implData.getFrags__IsNotDefault())<a name="line.119"></a>
<span class="sourceLineNo">120</span> {<a name="line.120"></a>
-<span class="sourceLineNo">121</span> p_implData.setAssignmentManager(null);<a name="line.121"></a>
+<span class="sourceLineNo">121</span> p_implData.setFrags(null);<a name="line.121"></a>
<span class="sourceLineNo">122</span> }<a name="line.122"></a>
-<span class="sourceLineNo">123</span> if(! p_implData.getFrags__IsNotDefault())<a name="line.123"></a>
+<span class="sourceLineNo">123</span> if(! p_implData.getDeadServers__IsNotDefault())<a name="line.123"></a>
<span class="sourceLineNo">124</span> {<a name="line.124"></a>
-<span class="sourceLineNo">125</span> p_implData.setFrags(null);<a name="line.125"></a>
+<span class="sourceLineNo">125</span> p_implData.setDeadServers(null);<a name="line.125"></a>
<span class="sourceLineNo">126</span> }<a name="line.126"></a>
-<span class="sourceLineNo">127</span> if(! p_implData.getDeadServers__IsNotDefault())<a name="line.127"></a>
+<span class="sourceLineNo">127</span> if(! p_implData.getAssignmentManager__IsNotDefault())<a name="line.127"></a>
<span class="sourceLineNo">128</span> {<a name="line.128"></a>
-<span class="sourceLineNo">129</span> p_implData.setDeadServers(null);<a name="line.129"></a>
+<span class="sourceLineNo">129</span> p_implData.setAssignmentManager(null);<a name="line.129"></a>
<span class="sourceLineNo">130</span> }<a name="line.130"></a>
-<span class="sourceLineNo">131</span> if(! p_implData.getFormat__IsNotDefault())<a name="line.131"></a>
+<span class="sourceLineNo">131</span> if(! p_implData.getFilter__IsNotDefault())<a name="line.131"></a>
<span class="sourceLineNo">132</span> {<a name="line.132"></a>
-<span class="sourceLineNo">133</span> p_implData.setFormat("html");<a name="line.133"></a>
+<span class="sourceLineNo">133</span> p_implData.setFilter("general");<a name="line.133"></a>
<span class="sourceLineNo">134</span> }<a name="line.134"></a>
-<span class="sourceLineNo">135</span> if(! p_implData.getServerManager__IsNotDefault())<a name="line.135"></a>
+<span class="sourceLineNo">135</span> if(! p_implData.getCatalogJanitorEnabled__IsNotDefault())<a name="line.135"></a>
<span class="sourceLineNo">136</span> {<a name="line.136"></a>
-<span class="sourceLineNo">137</span> p_implData.setServerManager(null);<a name="line.137"></a>
+<span class="sourceLineNo">137</span> p_implData.setCatalogJanitorEnabled(true);<a name="line.137"></a>
<span class="sourceLineNo">138</span> }<a name="line.138"></a>
<span class="sourceLineNo">139</span> return p_implData;<a name="line.139"></a>
<span class="sourceLineNo">140</span> }<a name="line.140"></a>
@@ -150,15 +150,15 @@
<span class="sourceLineNo">142</span> {<a name="line.142"></a>
<span class="sourceLineNo">143</span> super(p_templateManager, __jamon_setOptionalArguments(p_implData));<a name="line.143"></a>
<span class="sourceLineNo">144</span> master = p_implData.getMaster();<a name="line.144"></a>
-<span class="sourceLineNo">145</span> servers = p_implData.getServers();<a name="line.145"></a>
-<span class="sourceLineNo">146</span> filter = p_implData.getFilter();<a name="line.146"></a>
-<span class="sourceLineNo">147</span> catalogJanitorEnabled = p_implData.getCatalogJanitorEnabled();<a name="line.147"></a>
-<span class="sourceLineNo">148</span> metaLocation = p_implData.getMetaLocation();<a name="line.148"></a>
-<span class="sourceLineNo">149</span> assignmentManager = p_implData.getAssignmentManager();<a name="line.149"></a>
-<span class="sourceLineNo">150</span> frags = p_implData.getFrags();<a name="line.150"></a>
-<span class="sourceLineNo">151</span> deadServers = p_implData.getDeadServers();<a name="line.151"></a>
-<span class="sourceLineNo">152</span> format = p_implData.getFormat();<a name="line.152"></a>
-<span class="sourceLineNo">153</span> serverManager = p_implData.getServerManager();<a name="line.153"></a>
+<span class="sourceLineNo">145</span> metaLocation = p_implData.getMetaLocation();<a name="line.145"></a>
+<span class="sourceLineNo">146</span> format = p_implData.getFormat();<a name="line.146"></a>
+<span class="sourceLineNo">147</span> servers = p_implData.getServers();<a name="line.147"></a>
+<span class="sourceLineNo">148</span> serverManager = p_implData.getServerManager();<a name="line.148"></a>
+<span class="sourceLineNo">149</span> frags = p_implData.getFrags();<a name="line.149"></a>
+<span class="sourceLineNo">150</span> deadServers = p_implData.getDeadServers();<a name="line.150"></a>
+<span class="sourceLineNo">151</span> assignmentManager = p_implData.getAssignmentManager();<a name="line.151"></a>
+<span class="sourceLineNo">152</span> filter = p_implData.getFilter();<a name="line.152"></a>
+<span class="sourceLineNo">153</span> catalogJanitorEnabled = p_implData.getCatalogJanitorEnabled();<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> @Override public void renderNoFlush(final java.io.Writer jamonWriter)<a name="line.156"></a>
@@ -172,8 +172,8 @@
<span class="sourceLineNo">164</span> // 61, 3<a name="line.164"></a>
<span class="sourceLineNo">165</span> {<a name="line.165"></a>
<span class="sourceLineNo">166</span> org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl __jamon__var_0 = new org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl(this.getTemplateManager());<a name="line.166"></a>
-<span class="sourceLineNo">167</span> __jamon__var_0.setFormat("json" );<a name="line.167"></a>
-<span class="sourceLineNo">168</span> __jamon__var_0.setFilter(filter);<a name="line.168"></a>
+<span class="sourceLineNo">167</span> __jamon__var_0.setFilter(filter);<a name="line.167"></a>
+<span class="sourceLineNo">168</span> __jamon__var_0.setFormat("json" );<a name="line.168"></a>
<span class="sourceLineNo">169</span> __jamon__var_0.renderNoFlush(jamonWriter);<a name="line.169"></a>
<span class="sourceLineNo">170</span> }<a name="line.170"></a>
<span class="sourceLineNo">171</span> // 61, 68<a name="line.171"></a>
[06/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
index 5ee360d..20455ea 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
@@ -33,10 +33,10 @@
<span class="sourceLineNo">025</span> requiredArguments = {<a name="line.25"></a>
<span class="sourceLineNo">026</span> @org.jamon.annotations.Argument(name = "regionServer", type = "HRegionServer")},<a name="line.26"></a>
<span class="sourceLineNo">027</span> optionalArguments = {<a name="line.27"></a>
-<span class="sourceLineNo">028</span> @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.28"></a>
-<span class="sourceLineNo">029</span> @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.29"></a>
-<span class="sourceLineNo">030</span> @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.30"></a>
-<span class="sourceLineNo">031</span> @org.jamon.annotations.Argument(name = "bcn", type = "String")})<a name="line.31"></a>
+<span class="sourceLineNo">028</span> @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">029</span> @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.29"></a>
+<span class="sourceLineNo">030</span> @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.30"></a>
+<span class="sourceLineNo">031</span> @org.jamon.annotations.Argument(name = "bcv", type = "String")})<a name="line.31"></a>
<span class="sourceLineNo">032</span>public class RSStatusTmpl<a name="line.32"></a>
<span class="sourceLineNo">033</span> extends org.jamon.AbstractTemplateProxy<a name="line.33"></a>
<span class="sourceLineNo">034</span>{<a name="line.34"></a>
@@ -77,74 +77,74 @@
<span class="sourceLineNo">069</span> return m_regionServer;<a name="line.69"></a>
<span class="sourceLineNo">070</span> }<a name="line.70"></a>
<span class="sourceLineNo">071</span> private HRegionServer m_regionServer;<a name="line.71"></a>
-<span class="sourceLineNo">072</span> // 24, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span> public void setBcv(String bcv)<a name="line.73"></a>
+<span class="sourceLineNo">072</span> // 23, 1<a name="line.72"></a>
+<span class="sourceLineNo">073</span> public void setBcn(String bcn)<a name="line.73"></a>
<span class="sourceLineNo">074</span> {<a name="line.74"></a>
-<span class="sourceLineNo">075</span> // 24, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span> m_bcv = bcv;<a name="line.76"></a>
-<span class="sourceLineNo">077</span> m_bcv__IsNotDefault = true;<a name="line.77"></a>
+<span class="sourceLineNo">075</span> // 23, 1<a name="line.75"></a>
+<span class="sourceLineNo">076</span> m_bcn = bcn;<a name="line.76"></a>
+<span class="sourceLineNo">077</span> m_bcn__IsNotDefault = true;<a name="line.77"></a>
<span class="sourceLineNo">078</span> }<a name="line.78"></a>
-<span class="sourceLineNo">079</span> public String getBcv()<a name="line.79"></a>
+<span class="sourceLineNo">079</span> public String getBcn()<a name="line.79"></a>
<span class="sourceLineNo">080</span> {<a name="line.80"></a>
-<span class="sourceLineNo">081</span> return m_bcv;<a name="line.81"></a>
+<span class="sourceLineNo">081</span> return m_bcn;<a name="line.81"></a>
<span class="sourceLineNo">082</span> }<a name="line.82"></a>
-<span class="sourceLineNo">083</span> private String m_bcv;<a name="line.83"></a>
-<span class="sourceLineNo">084</span> public boolean getBcv__IsNotDefault()<a name="line.84"></a>
+<span class="sourceLineNo">083</span> private String m_bcn;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> public boolean getBcn__IsNotDefault()<a name="line.84"></a>
<span class="sourceLineNo">085</span> {<a name="line.85"></a>
-<span class="sourceLineNo">086</span> return m_bcv__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span> return m_bcn__IsNotDefault;<a name="line.86"></a>
<span class="sourceLineNo">087</span> }<a name="line.87"></a>
-<span class="sourceLineNo">088</span> private boolean m_bcv__IsNotDefault;<a name="line.88"></a>
-<span class="sourceLineNo">089</span> // 22, 1<a name="line.89"></a>
-<span class="sourceLineNo">090</span> public void setFormat(String format)<a name="line.90"></a>
+<span class="sourceLineNo">088</span> private boolean m_bcn__IsNotDefault;<a name="line.88"></a>
+<span class="sourceLineNo">089</span> // 21, 1<a name="line.89"></a>
+<span class="sourceLineNo">090</span> public void setFilter(String filter)<a name="line.90"></a>
<span class="sourceLineNo">091</span> {<a name="line.91"></a>
-<span class="sourceLineNo">092</span> // 22, 1<a name="line.92"></a>
-<span class="sourceLineNo">093</span> m_format = format;<a name="line.93"></a>
-<span class="sourceLineNo">094</span> m_format__IsNotDefault = true;<a name="line.94"></a>
+<span class="sourceLineNo">092</span> // 21, 1<a name="line.92"></a>
+<span class="sourceLineNo">093</span> m_filter = filter;<a name="line.93"></a>
+<span class="sourceLineNo">094</span> m_filter__IsNotDefault = true;<a name="line.94"></a>
<span class="sourceLineNo">095</span> }<a name="line.95"></a>
-<span class="sourceLineNo">096</span> public String getFormat()<a name="line.96"></a>
+<span class="sourceLineNo">096</span> public String getFilter()<a name="line.96"></a>
<span class="sourceLineNo">097</span> {<a name="line.97"></a>
-<span class="sourceLineNo">098</span> return m_format;<a name="line.98"></a>
+<span class="sourceLineNo">098</span> return m_filter;<a name="line.98"></a>
<span class="sourceLineNo">099</span> }<a name="line.99"></a>
-<span class="sourceLineNo">100</span> private String m_format;<a name="line.100"></a>
-<span class="sourceLineNo">101</span> public boolean getFormat__IsNotDefault()<a name="line.101"></a>
+<span class="sourceLineNo">100</span> private String m_filter;<a name="line.100"></a>
+<span class="sourceLineNo">101</span> public boolean getFilter__IsNotDefault()<a name="line.101"></a>
<span class="sourceLineNo">102</span> {<a name="line.102"></a>
-<span class="sourceLineNo">103</span> return m_format__IsNotDefault;<a name="line.103"></a>
+<span class="sourceLineNo">103</span> return m_filter__IsNotDefault;<a name="line.103"></a>
<span class="sourceLineNo">104</span> }<a name="line.104"></a>
-<span class="sourceLineNo">105</span> private boolean m_format__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span> // 21, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span> public void setFilter(String filter)<a name="line.107"></a>
+<span class="sourceLineNo">105</span> private boolean m_filter__IsNotDefault;<a name="line.105"></a>
+<span class="sourceLineNo">106</span> // 22, 1<a name="line.106"></a>
+<span class="sourceLineNo">107</span> public void setFormat(String format)<a name="line.107"></a>
<span class="sourceLineNo">108</span> {<a name="line.108"></a>
-<span class="sourceLineNo">109</span> // 21, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span> m_filter = filter;<a name="line.110"></a>
-<span class="sourceLineNo">111</span> m_filter__IsNotDefault = true;<a name="line.111"></a>
+<span class="sourceLineNo">109</span> // 22, 1<a name="line.109"></a>
+<span class="sourceLineNo">110</span> m_format = format;<a name="line.110"></a>
+<span class="sourceLineNo">111</span> m_format__IsNotDefault = true;<a name="line.111"></a>
<span class="sourceLineNo">112</span> }<a name="line.112"></a>
-<span class="sourceLineNo">113</span> public String getFilter()<a name="line.113"></a>
+<span class="sourceLineNo">113</span> public String getFormat()<a name="line.113"></a>
<span class="sourceLineNo">114</span> {<a name="line.114"></a>
-<span class="sourceLineNo">115</span> return m_filter;<a name="line.115"></a>
+<span class="sourceLineNo">115</span> return m_format;<a name="line.115"></a>
<span class="sourceLineNo">116</span> }<a name="line.116"></a>
-<span class="sourceLineNo">117</span> private String m_filter;<a name="line.117"></a>
-<span class="sourceLineNo">118</span> public boolean getFilter__IsNotDefault()<a name="line.118"></a>
+<span class="sourceLineNo">117</span> private String m_format;<a name="line.117"></a>
+<span class="sourceLineNo">118</span> public boolean getFormat__IsNotDefault()<a name="line.118"></a>
<span class="sourceLineNo">119</span> {<a name="line.119"></a>
-<span class="sourceLineNo">120</span> return m_filter__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span> return m_format__IsNotDefault;<a name="line.120"></a>
<span class="sourceLineNo">121</span> }<a name="line.121"></a>
-<span class="sourceLineNo">122</span> private boolean m_filter__IsNotDefault;<a name="line.122"></a>
-<span class="sourceLineNo">123</span> // 23, 1<a name="line.123"></a>
-<span class="sourceLineNo">124</span> public void setBcn(String bcn)<a name="line.124"></a>
+<span class="sourceLineNo">122</span> private boolean m_format__IsNotDefault;<a name="line.122"></a>
+<span class="sourceLineNo">123</span> // 24, 1<a name="line.123"></a>
+<span class="sourceLineNo">124</span> public void setBcv(String bcv)<a name="line.124"></a>
<span class="sourceLineNo">125</span> {<a name="line.125"></a>
-<span class="sourceLineNo">126</span> // 23, 1<a name="line.126"></a>
-<span class="sourceLineNo">127</span> m_bcn = bcn;<a name="line.127"></a>
-<span class="sourceLineNo">128</span> m_bcn__IsNotDefault = true;<a name="line.128"></a>
+<span class="sourceLineNo">126</span> // 24, 1<a name="line.126"></a>
+<span class="sourceLineNo">127</span> m_bcv = bcv;<a name="line.127"></a>
+<span class="sourceLineNo">128</span> m_bcv__IsNotDefault = true;<a name="line.128"></a>
<span class="sourceLineNo">129</span> }<a name="line.129"></a>
-<span class="sourceLineNo">130</span> public String getBcn()<a name="line.130"></a>
+<span class="sourceLineNo">130</span> public String getBcv()<a name="line.130"></a>
<span class="sourceLineNo">131</span> {<a name="line.131"></a>
-<span class="sourceLineNo">132</span> return m_bcn;<a name="line.132"></a>
+<span class="sourceLineNo">132</span> return m_bcv;<a name="line.132"></a>
<span class="sourceLineNo">133</span> }<a name="line.133"></a>
-<span class="sourceLineNo">134</span> private String m_bcn;<a name="line.134"></a>
-<span class="sourceLineNo">135</span> public boolean getBcn__IsNotDefault()<a name="line.135"></a>
+<span class="sourceLineNo">134</span> private String m_bcv;<a name="line.134"></a>
+<span class="sourceLineNo">135</span> public boolean getBcv__IsNotDefault()<a name="line.135"></a>
<span class="sourceLineNo">136</span> {<a name="line.136"></a>
-<span class="sourceLineNo">137</span> return m_bcn__IsNotDefault;<a name="line.137"></a>
+<span class="sourceLineNo">137</span> return m_bcv__IsNotDefault;<a name="line.137"></a>
<span class="sourceLineNo">138</span> }<a name="line.138"></a>
-<span class="sourceLineNo">139</span> private boolean m_bcn__IsNotDefault;<a name="line.139"></a>
+<span class="sourceLineNo">139</span> private boolean m_bcv__IsNotDefault;<a name="line.139"></a>
<span class="sourceLineNo">140</span> }<a name="line.140"></a>
<span class="sourceLineNo">141</span> @Override<a name="line.141"></a>
<span class="sourceLineNo">142</span> protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.142"></a>
@@ -156,31 +156,31 @@
<span class="sourceLineNo">148</span> return (ImplData) super.getImplData();<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> protected String bcv;<a name="line.151"></a>
-<span class="sourceLineNo">152</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.152"></a>
+<span class="sourceLineNo">151</span> protected String bcn;<a name="line.151"></a>
+<span class="sourceLineNo">152</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.152"></a>
<span class="sourceLineNo">153</span> {<a name="line.153"></a>
-<span class="sourceLineNo">154</span> (getImplData()).setBcv(p_bcv);<a name="line.154"></a>
+<span class="sourceLineNo">154</span> (getImplData()).setBcn(p_bcn);<a name="line.154"></a>
<span class="sourceLineNo">155</span> return this;<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> protected String format;<a name="line.158"></a>
-<span class="sourceLineNo">159</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.159"></a>
+<span class="sourceLineNo">158</span> protected String filter;<a name="line.158"></a>
+<span class="sourceLineNo">159</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.159"></a>
<span class="sourceLineNo">160</span> {<a name="line.160"></a>
-<span class="sourceLineNo">161</span> (getImplData()).setFormat(p_format);<a name="line.161"></a>
+<span class="sourceLineNo">161</span> (getImplData()).setFilter(p_filter);<a name="line.161"></a>
<span class="sourceLineNo">162</span> return this;<a name="line.162"></a>
<span class="sourceLineNo">163</span> }<a name="line.163"></a>
<span class="sourceLineNo">164</span> <a name="line.164"></a>
-<span class="sourceLineNo">165</span> protected String filter;<a name="line.165"></a>
-<span class="sourceLineNo">166</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.166"></a>
+<span class="sourceLineNo">165</span> protected String format;<a name="line.165"></a>
+<span class="sourceLineNo">166</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.166"></a>
<span class="sourceLineNo">167</span> {<a name="line.167"></a>
-<span class="sourceLineNo">168</span> (getImplData()).setFilter(p_filter);<a name="line.168"></a>
+<span class="sourceLineNo">168</span> (getImplData()).setFormat(p_format);<a name="line.168"></a>
<span class="sourceLineNo">169</span> return this;<a name="line.169"></a>
<span class="sourceLineNo">170</span> }<a name="line.170"></a>
<span class="sourceLineNo">171</span> <a name="line.171"></a>
-<span class="sourceLineNo">172</span> protected String bcn;<a name="line.172"></a>
-<span class="sourceLineNo">173</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.173"></a>
+<span class="sourceLineNo">172</span> protected String bcv;<a name="line.172"></a>
+<span class="sourceLineNo">173</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.173"></a>
<span class="sourceLineNo">174</span> {<a name="line.174"></a>
-<span class="sourceLineNo">175</span> (getImplData()).setBcn(p_bcn);<a name="line.175"></a>
+<span class="sourceLineNo">175</span> (getImplData()).setBcv(p_bcv);<a name="line.175"></a>
<span class="sourceLineNo">176</span> return this;<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>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
index 5ee360d..20455ea 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.Intf.html
@@ -33,10 +33,10 @@
<span class="sourceLineNo">025</span> requiredArguments = {<a name="line.25"></a>
<span class="sourceLineNo">026</span> @org.jamon.annotations.Argument(name = "regionServer", type = "HRegionServer")},<a name="line.26"></a>
<span class="sourceLineNo">027</span> optionalArguments = {<a name="line.27"></a>
-<span class="sourceLineNo">028</span> @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.28"></a>
-<span class="sourceLineNo">029</span> @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.29"></a>
-<span class="sourceLineNo">030</span> @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.30"></a>
-<span class="sourceLineNo">031</span> @org.jamon.annotations.Argument(name = "bcn", type = "String")})<a name="line.31"></a>
+<span class="sourceLineNo">028</span> @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">029</span> @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.29"></a>
+<span class="sourceLineNo">030</span> @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.30"></a>
+<span class="sourceLineNo">031</span> @org.jamon.annotations.Argument(name = "bcv", type = "String")})<a name="line.31"></a>
<span class="sourceLineNo">032</span>public class RSStatusTmpl<a name="line.32"></a>
<span class="sourceLineNo">033</span> extends org.jamon.AbstractTemplateProxy<a name="line.33"></a>
<span class="sourceLineNo">034</span>{<a name="line.34"></a>
@@ -77,74 +77,74 @@
<span class="sourceLineNo">069</span> return m_regionServer;<a name="line.69"></a>
<span class="sourceLineNo">070</span> }<a name="line.70"></a>
<span class="sourceLineNo">071</span> private HRegionServer m_regionServer;<a name="line.71"></a>
-<span class="sourceLineNo">072</span> // 24, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span> public void setBcv(String bcv)<a name="line.73"></a>
+<span class="sourceLineNo">072</span> // 23, 1<a name="line.72"></a>
+<span class="sourceLineNo">073</span> public void setBcn(String bcn)<a name="line.73"></a>
<span class="sourceLineNo">074</span> {<a name="line.74"></a>
-<span class="sourceLineNo">075</span> // 24, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span> m_bcv = bcv;<a name="line.76"></a>
-<span class="sourceLineNo">077</span> m_bcv__IsNotDefault = true;<a name="line.77"></a>
+<span class="sourceLineNo">075</span> // 23, 1<a name="line.75"></a>
+<span class="sourceLineNo">076</span> m_bcn = bcn;<a name="line.76"></a>
+<span class="sourceLineNo">077</span> m_bcn__IsNotDefault = true;<a name="line.77"></a>
<span class="sourceLineNo">078</span> }<a name="line.78"></a>
-<span class="sourceLineNo">079</span> public String getBcv()<a name="line.79"></a>
+<span class="sourceLineNo">079</span> public String getBcn()<a name="line.79"></a>
<span class="sourceLineNo">080</span> {<a name="line.80"></a>
-<span class="sourceLineNo">081</span> return m_bcv;<a name="line.81"></a>
+<span class="sourceLineNo">081</span> return m_bcn;<a name="line.81"></a>
<span class="sourceLineNo">082</span> }<a name="line.82"></a>
-<span class="sourceLineNo">083</span> private String m_bcv;<a name="line.83"></a>
-<span class="sourceLineNo">084</span> public boolean getBcv__IsNotDefault()<a name="line.84"></a>
+<span class="sourceLineNo">083</span> private String m_bcn;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> public boolean getBcn__IsNotDefault()<a name="line.84"></a>
<span class="sourceLineNo">085</span> {<a name="line.85"></a>
-<span class="sourceLineNo">086</span> return m_bcv__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span> return m_bcn__IsNotDefault;<a name="line.86"></a>
<span class="sourceLineNo">087</span> }<a name="line.87"></a>
-<span class="sourceLineNo">088</span> private boolean m_bcv__IsNotDefault;<a name="line.88"></a>
-<span class="sourceLineNo">089</span> // 22, 1<a name="line.89"></a>
-<span class="sourceLineNo">090</span> public void setFormat(String format)<a name="line.90"></a>
+<span class="sourceLineNo">088</span> private boolean m_bcn__IsNotDefault;<a name="line.88"></a>
+<span class="sourceLineNo">089</span> // 21, 1<a name="line.89"></a>
+<span class="sourceLineNo">090</span> public void setFilter(String filter)<a name="line.90"></a>
<span class="sourceLineNo">091</span> {<a name="line.91"></a>
-<span class="sourceLineNo">092</span> // 22, 1<a name="line.92"></a>
-<span class="sourceLineNo">093</span> m_format = format;<a name="line.93"></a>
-<span class="sourceLineNo">094</span> m_format__IsNotDefault = true;<a name="line.94"></a>
+<span class="sourceLineNo">092</span> // 21, 1<a name="line.92"></a>
+<span class="sourceLineNo">093</span> m_filter = filter;<a name="line.93"></a>
+<span class="sourceLineNo">094</span> m_filter__IsNotDefault = true;<a name="line.94"></a>
<span class="sourceLineNo">095</span> }<a name="line.95"></a>
-<span class="sourceLineNo">096</span> public String getFormat()<a name="line.96"></a>
+<span class="sourceLineNo">096</span> public String getFilter()<a name="line.96"></a>
<span class="sourceLineNo">097</span> {<a name="line.97"></a>
-<span class="sourceLineNo">098</span> return m_format;<a name="line.98"></a>
+<span class="sourceLineNo">098</span> return m_filter;<a name="line.98"></a>
<span class="sourceLineNo">099</span> }<a name="line.99"></a>
-<span class="sourceLineNo">100</span> private String m_format;<a name="line.100"></a>
-<span class="sourceLineNo">101</span> public boolean getFormat__IsNotDefault()<a name="line.101"></a>
+<span class="sourceLineNo">100</span> private String m_filter;<a name="line.100"></a>
+<span class="sourceLineNo">101</span> public boolean getFilter__IsNotDefault()<a name="line.101"></a>
<span class="sourceLineNo">102</span> {<a name="line.102"></a>
-<span class="sourceLineNo">103</span> return m_format__IsNotDefault;<a name="line.103"></a>
+<span class="sourceLineNo">103</span> return m_filter__IsNotDefault;<a name="line.103"></a>
<span class="sourceLineNo">104</span> }<a name="line.104"></a>
-<span class="sourceLineNo">105</span> private boolean m_format__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span> // 21, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span> public void setFilter(String filter)<a name="line.107"></a>
+<span class="sourceLineNo">105</span> private boolean m_filter__IsNotDefault;<a name="line.105"></a>
+<span class="sourceLineNo">106</span> // 22, 1<a name="line.106"></a>
+<span class="sourceLineNo">107</span> public void setFormat(String format)<a name="line.107"></a>
<span class="sourceLineNo">108</span> {<a name="line.108"></a>
-<span class="sourceLineNo">109</span> // 21, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span> m_filter = filter;<a name="line.110"></a>
-<span class="sourceLineNo">111</span> m_filter__IsNotDefault = true;<a name="line.111"></a>
+<span class="sourceLineNo">109</span> // 22, 1<a name="line.109"></a>
+<span class="sourceLineNo">110</span> m_format = format;<a name="line.110"></a>
+<span class="sourceLineNo">111</span> m_format__IsNotDefault = true;<a name="line.111"></a>
<span class="sourceLineNo">112</span> }<a name="line.112"></a>
-<span class="sourceLineNo">113</span> public String getFilter()<a name="line.113"></a>
+<span class="sourceLineNo">113</span> public String getFormat()<a name="line.113"></a>
<span class="sourceLineNo">114</span> {<a name="line.114"></a>
-<span class="sourceLineNo">115</span> return m_filter;<a name="line.115"></a>
+<span class="sourceLineNo">115</span> return m_format;<a name="line.115"></a>
<span class="sourceLineNo">116</span> }<a name="line.116"></a>
-<span class="sourceLineNo">117</span> private String m_filter;<a name="line.117"></a>
-<span class="sourceLineNo">118</span> public boolean getFilter__IsNotDefault()<a name="line.118"></a>
+<span class="sourceLineNo">117</span> private String m_format;<a name="line.117"></a>
+<span class="sourceLineNo">118</span> public boolean getFormat__IsNotDefault()<a name="line.118"></a>
<span class="sourceLineNo">119</span> {<a name="line.119"></a>
-<span class="sourceLineNo">120</span> return m_filter__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span> return m_format__IsNotDefault;<a name="line.120"></a>
<span class="sourceLineNo">121</span> }<a name="line.121"></a>
-<span class="sourceLineNo">122</span> private boolean m_filter__IsNotDefault;<a name="line.122"></a>
-<span class="sourceLineNo">123</span> // 23, 1<a name="line.123"></a>
-<span class="sourceLineNo">124</span> public void setBcn(String bcn)<a name="line.124"></a>
+<span class="sourceLineNo">122</span> private boolean m_format__IsNotDefault;<a name="line.122"></a>
+<span class="sourceLineNo">123</span> // 24, 1<a name="line.123"></a>
+<span class="sourceLineNo">124</span> public void setBcv(String bcv)<a name="line.124"></a>
<span class="sourceLineNo">125</span> {<a name="line.125"></a>
-<span class="sourceLineNo">126</span> // 23, 1<a name="line.126"></a>
-<span class="sourceLineNo">127</span> m_bcn = bcn;<a name="line.127"></a>
-<span class="sourceLineNo">128</span> m_bcn__IsNotDefault = true;<a name="line.128"></a>
+<span class="sourceLineNo">126</span> // 24, 1<a name="line.126"></a>
+<span class="sourceLineNo">127</span> m_bcv = bcv;<a name="line.127"></a>
+<span class="sourceLineNo">128</span> m_bcv__IsNotDefault = true;<a name="line.128"></a>
<span class="sourceLineNo">129</span> }<a name="line.129"></a>
-<span class="sourceLineNo">130</span> public String getBcn()<a name="line.130"></a>
+<span class="sourceLineNo">130</span> public String getBcv()<a name="line.130"></a>
<span class="sourceLineNo">131</span> {<a name="line.131"></a>
-<span class="sourceLineNo">132</span> return m_bcn;<a name="line.132"></a>
+<span class="sourceLineNo">132</span> return m_bcv;<a name="line.132"></a>
<span class="sourceLineNo">133</span> }<a name="line.133"></a>
-<span class="sourceLineNo">134</span> private String m_bcn;<a name="line.134"></a>
-<span class="sourceLineNo">135</span> public boolean getBcn__IsNotDefault()<a name="line.135"></a>
+<span class="sourceLineNo">134</span> private String m_bcv;<a name="line.134"></a>
+<span class="sourceLineNo">135</span> public boolean getBcv__IsNotDefault()<a name="line.135"></a>
<span class="sourceLineNo">136</span> {<a name="line.136"></a>
-<span class="sourceLineNo">137</span> return m_bcn__IsNotDefault;<a name="line.137"></a>
+<span class="sourceLineNo">137</span> return m_bcv__IsNotDefault;<a name="line.137"></a>
<span class="sourceLineNo">138</span> }<a name="line.138"></a>
-<span class="sourceLineNo">139</span> private boolean m_bcn__IsNotDefault;<a name="line.139"></a>
+<span class="sourceLineNo">139</span> private boolean m_bcv__IsNotDefault;<a name="line.139"></a>
<span class="sourceLineNo">140</span> }<a name="line.140"></a>
<span class="sourceLineNo">141</span> @Override<a name="line.141"></a>
<span class="sourceLineNo">142</span> protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.142"></a>
@@ -156,31 +156,31 @@
<span class="sourceLineNo">148</span> return (ImplData) super.getImplData();<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> protected String bcv;<a name="line.151"></a>
-<span class="sourceLineNo">152</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.152"></a>
+<span class="sourceLineNo">151</span> protected String bcn;<a name="line.151"></a>
+<span class="sourceLineNo">152</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.152"></a>
<span class="sourceLineNo">153</span> {<a name="line.153"></a>
-<span class="sourceLineNo">154</span> (getImplData()).setBcv(p_bcv);<a name="line.154"></a>
+<span class="sourceLineNo">154</span> (getImplData()).setBcn(p_bcn);<a name="line.154"></a>
<span class="sourceLineNo">155</span> return this;<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> protected String format;<a name="line.158"></a>
-<span class="sourceLineNo">159</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.159"></a>
+<span class="sourceLineNo">158</span> protected String filter;<a name="line.158"></a>
+<span class="sourceLineNo">159</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.159"></a>
<span class="sourceLineNo">160</span> {<a name="line.160"></a>
-<span class="sourceLineNo">161</span> (getImplData()).setFormat(p_format);<a name="line.161"></a>
+<span class="sourceLineNo">161</span> (getImplData()).setFilter(p_filter);<a name="line.161"></a>
<span class="sourceLineNo">162</span> return this;<a name="line.162"></a>
<span class="sourceLineNo">163</span> }<a name="line.163"></a>
<span class="sourceLineNo">164</span> <a name="line.164"></a>
-<span class="sourceLineNo">165</span> protected String filter;<a name="line.165"></a>
-<span class="sourceLineNo">166</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.166"></a>
+<span class="sourceLineNo">165</span> protected String format;<a name="line.165"></a>
+<span class="sourceLineNo">166</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.166"></a>
<span class="sourceLineNo">167</span> {<a name="line.167"></a>
-<span class="sourceLineNo">168</span> (getImplData()).setFilter(p_filter);<a name="line.168"></a>
+<span class="sourceLineNo">168</span> (getImplData()).setFormat(p_format);<a name="line.168"></a>
<span class="sourceLineNo">169</span> return this;<a name="line.169"></a>
<span class="sourceLineNo">170</span> }<a name="line.170"></a>
<span class="sourceLineNo">171</span> <a name="line.171"></a>
-<span class="sourceLineNo">172</span> protected String bcn;<a name="line.172"></a>
-<span class="sourceLineNo">173</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.173"></a>
+<span class="sourceLineNo">172</span> protected String bcv;<a name="line.172"></a>
+<span class="sourceLineNo">173</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.173"></a>
<span class="sourceLineNo">174</span> {<a name="line.174"></a>
-<span class="sourceLineNo">175</span> (getImplData()).setBcn(p_bcn);<a name="line.175"></a>
+<span class="sourceLineNo">175</span> (getImplData()).setBcv(p_bcv);<a name="line.175"></a>
<span class="sourceLineNo">176</span> return this;<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>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
index 5ee360d..20455ea 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
@@ -33,10 +33,10 @@
<span class="sourceLineNo">025</span> requiredArguments = {<a name="line.25"></a>
<span class="sourceLineNo">026</span> @org.jamon.annotations.Argument(name = "regionServer", type = "HRegionServer")},<a name="line.26"></a>
<span class="sourceLineNo">027</span> optionalArguments = {<a name="line.27"></a>
-<span class="sourceLineNo">028</span> @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.28"></a>
-<span class="sourceLineNo">029</span> @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.29"></a>
-<span class="sourceLineNo">030</span> @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.30"></a>
-<span class="sourceLineNo">031</span> @org.jamon.annotations.Argument(name = "bcn", type = "String")})<a name="line.31"></a>
+<span class="sourceLineNo">028</span> @org.jamon.annotations.Argument(name = "bcn", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">029</span> @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.29"></a>
+<span class="sourceLineNo">030</span> @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.30"></a>
+<span class="sourceLineNo">031</span> @org.jamon.annotations.Argument(name = "bcv", type = "String")})<a name="line.31"></a>
<span class="sourceLineNo">032</span>public class RSStatusTmpl<a name="line.32"></a>
<span class="sourceLineNo">033</span> extends org.jamon.AbstractTemplateProxy<a name="line.33"></a>
<span class="sourceLineNo">034</span>{<a name="line.34"></a>
@@ -77,74 +77,74 @@
<span class="sourceLineNo">069</span> return m_regionServer;<a name="line.69"></a>
<span class="sourceLineNo">070</span> }<a name="line.70"></a>
<span class="sourceLineNo">071</span> private HRegionServer m_regionServer;<a name="line.71"></a>
-<span class="sourceLineNo">072</span> // 24, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span> public void setBcv(String bcv)<a name="line.73"></a>
+<span class="sourceLineNo">072</span> // 23, 1<a name="line.72"></a>
+<span class="sourceLineNo">073</span> public void setBcn(String bcn)<a name="line.73"></a>
<span class="sourceLineNo">074</span> {<a name="line.74"></a>
-<span class="sourceLineNo">075</span> // 24, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span> m_bcv = bcv;<a name="line.76"></a>
-<span class="sourceLineNo">077</span> m_bcv__IsNotDefault = true;<a name="line.77"></a>
+<span class="sourceLineNo">075</span> // 23, 1<a name="line.75"></a>
+<span class="sourceLineNo">076</span> m_bcn = bcn;<a name="line.76"></a>
+<span class="sourceLineNo">077</span> m_bcn__IsNotDefault = true;<a name="line.77"></a>
<span class="sourceLineNo">078</span> }<a name="line.78"></a>
-<span class="sourceLineNo">079</span> public String getBcv()<a name="line.79"></a>
+<span class="sourceLineNo">079</span> public String getBcn()<a name="line.79"></a>
<span class="sourceLineNo">080</span> {<a name="line.80"></a>
-<span class="sourceLineNo">081</span> return m_bcv;<a name="line.81"></a>
+<span class="sourceLineNo">081</span> return m_bcn;<a name="line.81"></a>
<span class="sourceLineNo">082</span> }<a name="line.82"></a>
-<span class="sourceLineNo">083</span> private String m_bcv;<a name="line.83"></a>
-<span class="sourceLineNo">084</span> public boolean getBcv__IsNotDefault()<a name="line.84"></a>
+<span class="sourceLineNo">083</span> private String m_bcn;<a name="line.83"></a>
+<span class="sourceLineNo">084</span> public boolean getBcn__IsNotDefault()<a name="line.84"></a>
<span class="sourceLineNo">085</span> {<a name="line.85"></a>
-<span class="sourceLineNo">086</span> return m_bcv__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span> return m_bcn__IsNotDefault;<a name="line.86"></a>
<span class="sourceLineNo">087</span> }<a name="line.87"></a>
-<span class="sourceLineNo">088</span> private boolean m_bcv__IsNotDefault;<a name="line.88"></a>
-<span class="sourceLineNo">089</span> // 22, 1<a name="line.89"></a>
-<span class="sourceLineNo">090</span> public void setFormat(String format)<a name="line.90"></a>
+<span class="sourceLineNo">088</span> private boolean m_bcn__IsNotDefault;<a name="line.88"></a>
+<span class="sourceLineNo">089</span> // 21, 1<a name="line.89"></a>
+<span class="sourceLineNo">090</span> public void setFilter(String filter)<a name="line.90"></a>
<span class="sourceLineNo">091</span> {<a name="line.91"></a>
-<span class="sourceLineNo">092</span> // 22, 1<a name="line.92"></a>
-<span class="sourceLineNo">093</span> m_format = format;<a name="line.93"></a>
-<span class="sourceLineNo">094</span> m_format__IsNotDefault = true;<a name="line.94"></a>
+<span class="sourceLineNo">092</span> // 21, 1<a name="line.92"></a>
+<span class="sourceLineNo">093</span> m_filter = filter;<a name="line.93"></a>
+<span class="sourceLineNo">094</span> m_filter__IsNotDefault = true;<a name="line.94"></a>
<span class="sourceLineNo">095</span> }<a name="line.95"></a>
-<span class="sourceLineNo">096</span> public String getFormat()<a name="line.96"></a>
+<span class="sourceLineNo">096</span> public String getFilter()<a name="line.96"></a>
<span class="sourceLineNo">097</span> {<a name="line.97"></a>
-<span class="sourceLineNo">098</span> return m_format;<a name="line.98"></a>
+<span class="sourceLineNo">098</span> return m_filter;<a name="line.98"></a>
<span class="sourceLineNo">099</span> }<a name="line.99"></a>
-<span class="sourceLineNo">100</span> private String m_format;<a name="line.100"></a>
-<span class="sourceLineNo">101</span> public boolean getFormat__IsNotDefault()<a name="line.101"></a>
+<span class="sourceLineNo">100</span> private String m_filter;<a name="line.100"></a>
+<span class="sourceLineNo">101</span> public boolean getFilter__IsNotDefault()<a name="line.101"></a>
<span class="sourceLineNo">102</span> {<a name="line.102"></a>
-<span class="sourceLineNo">103</span> return m_format__IsNotDefault;<a name="line.103"></a>
+<span class="sourceLineNo">103</span> return m_filter__IsNotDefault;<a name="line.103"></a>
<span class="sourceLineNo">104</span> }<a name="line.104"></a>
-<span class="sourceLineNo">105</span> private boolean m_format__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span> // 21, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span> public void setFilter(String filter)<a name="line.107"></a>
+<span class="sourceLineNo">105</span> private boolean m_filter__IsNotDefault;<a name="line.105"></a>
+<span class="sourceLineNo">106</span> // 22, 1<a name="line.106"></a>
+<span class="sourceLineNo">107</span> public void setFormat(String format)<a name="line.107"></a>
<span class="sourceLineNo">108</span> {<a name="line.108"></a>
-<span class="sourceLineNo">109</span> // 21, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span> m_filter = filter;<a name="line.110"></a>
-<span class="sourceLineNo">111</span> m_filter__IsNotDefault = true;<a name="line.111"></a>
+<span class="sourceLineNo">109</span> // 22, 1<a name="line.109"></a>
+<span class="sourceLineNo">110</span> m_format = format;<a name="line.110"></a>
+<span class="sourceLineNo">111</span> m_format__IsNotDefault = true;<a name="line.111"></a>
<span class="sourceLineNo">112</span> }<a name="line.112"></a>
-<span class="sourceLineNo">113</span> public String getFilter()<a name="line.113"></a>
+<span class="sourceLineNo">113</span> public String getFormat()<a name="line.113"></a>
<span class="sourceLineNo">114</span> {<a name="line.114"></a>
-<span class="sourceLineNo">115</span> return m_filter;<a name="line.115"></a>
+<span class="sourceLineNo">115</span> return m_format;<a name="line.115"></a>
<span class="sourceLineNo">116</span> }<a name="line.116"></a>
-<span class="sourceLineNo">117</span> private String m_filter;<a name="line.117"></a>
-<span class="sourceLineNo">118</span> public boolean getFilter__IsNotDefault()<a name="line.118"></a>
+<span class="sourceLineNo">117</span> private String m_format;<a name="line.117"></a>
+<span class="sourceLineNo">118</span> public boolean getFormat__IsNotDefault()<a name="line.118"></a>
<span class="sourceLineNo">119</span> {<a name="line.119"></a>
-<span class="sourceLineNo">120</span> return m_filter__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span> return m_format__IsNotDefault;<a name="line.120"></a>
<span class="sourceLineNo">121</span> }<a name="line.121"></a>
-<span class="sourceLineNo">122</span> private boolean m_filter__IsNotDefault;<a name="line.122"></a>
-<span class="sourceLineNo">123</span> // 23, 1<a name="line.123"></a>
-<span class="sourceLineNo">124</span> public void setBcn(String bcn)<a name="line.124"></a>
+<span class="sourceLineNo">122</span> private boolean m_format__IsNotDefault;<a name="line.122"></a>
+<span class="sourceLineNo">123</span> // 24, 1<a name="line.123"></a>
+<span class="sourceLineNo">124</span> public void setBcv(String bcv)<a name="line.124"></a>
<span class="sourceLineNo">125</span> {<a name="line.125"></a>
-<span class="sourceLineNo">126</span> // 23, 1<a name="line.126"></a>
-<span class="sourceLineNo">127</span> m_bcn = bcn;<a name="line.127"></a>
-<span class="sourceLineNo">128</span> m_bcn__IsNotDefault = true;<a name="line.128"></a>
+<span class="sourceLineNo">126</span> // 24, 1<a name="line.126"></a>
+<span class="sourceLineNo">127</span> m_bcv = bcv;<a name="line.127"></a>
+<span class="sourceLineNo">128</span> m_bcv__IsNotDefault = true;<a name="line.128"></a>
<span class="sourceLineNo">129</span> }<a name="line.129"></a>
-<span class="sourceLineNo">130</span> public String getBcn()<a name="line.130"></a>
+<span class="sourceLineNo">130</span> public String getBcv()<a name="line.130"></a>
<span class="sourceLineNo">131</span> {<a name="line.131"></a>
-<span class="sourceLineNo">132</span> return m_bcn;<a name="line.132"></a>
+<span class="sourceLineNo">132</span> return m_bcv;<a name="line.132"></a>
<span class="sourceLineNo">133</span> }<a name="line.133"></a>
-<span class="sourceLineNo">134</span> private String m_bcn;<a name="line.134"></a>
-<span class="sourceLineNo">135</span> public boolean getBcn__IsNotDefault()<a name="line.135"></a>
+<span class="sourceLineNo">134</span> private String m_bcv;<a name="line.134"></a>
+<span class="sourceLineNo">135</span> public boolean getBcv__IsNotDefault()<a name="line.135"></a>
<span class="sourceLineNo">136</span> {<a name="line.136"></a>
-<span class="sourceLineNo">137</span> return m_bcn__IsNotDefault;<a name="line.137"></a>
+<span class="sourceLineNo">137</span> return m_bcv__IsNotDefault;<a name="line.137"></a>
<span class="sourceLineNo">138</span> }<a name="line.138"></a>
-<span class="sourceLineNo">139</span> private boolean m_bcn__IsNotDefault;<a name="line.139"></a>
+<span class="sourceLineNo">139</span> private boolean m_bcv__IsNotDefault;<a name="line.139"></a>
<span class="sourceLineNo">140</span> }<a name="line.140"></a>
<span class="sourceLineNo">141</span> @Override<a name="line.141"></a>
<span class="sourceLineNo">142</span> protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.142"></a>
@@ -156,31 +156,31 @@
<span class="sourceLineNo">148</span> return (ImplData) super.getImplData();<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> protected String bcv;<a name="line.151"></a>
-<span class="sourceLineNo">152</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.152"></a>
+<span class="sourceLineNo">151</span> protected String bcn;<a name="line.151"></a>
+<span class="sourceLineNo">152</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.152"></a>
<span class="sourceLineNo">153</span> {<a name="line.153"></a>
-<span class="sourceLineNo">154</span> (getImplData()).setBcv(p_bcv);<a name="line.154"></a>
+<span class="sourceLineNo">154</span> (getImplData()).setBcn(p_bcn);<a name="line.154"></a>
<span class="sourceLineNo">155</span> return this;<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> protected String format;<a name="line.158"></a>
-<span class="sourceLineNo">159</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.159"></a>
+<span class="sourceLineNo">158</span> protected String filter;<a name="line.158"></a>
+<span class="sourceLineNo">159</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.159"></a>
<span class="sourceLineNo">160</span> {<a name="line.160"></a>
-<span class="sourceLineNo">161</span> (getImplData()).setFormat(p_format);<a name="line.161"></a>
+<span class="sourceLineNo">161</span> (getImplData()).setFilter(p_filter);<a name="line.161"></a>
<span class="sourceLineNo">162</span> return this;<a name="line.162"></a>
<span class="sourceLineNo">163</span> }<a name="line.163"></a>
<span class="sourceLineNo">164</span> <a name="line.164"></a>
-<span class="sourceLineNo">165</span> protected String filter;<a name="line.165"></a>
-<span class="sourceLineNo">166</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.166"></a>
+<span class="sourceLineNo">165</span> protected String format;<a name="line.165"></a>
+<span class="sourceLineNo">166</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.166"></a>
<span class="sourceLineNo">167</span> {<a name="line.167"></a>
-<span class="sourceLineNo">168</span> (getImplData()).setFilter(p_filter);<a name="line.168"></a>
+<span class="sourceLineNo">168</span> (getImplData()).setFormat(p_format);<a name="line.168"></a>
<span class="sourceLineNo">169</span> return this;<a name="line.169"></a>
<span class="sourceLineNo">170</span> }<a name="line.170"></a>
<span class="sourceLineNo">171</span> <a name="line.171"></a>
-<span class="sourceLineNo">172</span> protected String bcn;<a name="line.172"></a>
-<span class="sourceLineNo">173</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcn(String p_bcn)<a name="line.173"></a>
+<span class="sourceLineNo">172</span> protected String bcv;<a name="line.172"></a>
+<span class="sourceLineNo">173</span> public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<a name="line.173"></a>
<span class="sourceLineNo">174</span> {<a name="line.174"></a>
-<span class="sourceLineNo">175</span> (getImplData()).setBcn(p_bcn);<a name="line.175"></a>
+<span class="sourceLineNo">175</span> (getImplData()).setBcv(p_bcv);<a name="line.175"></a>
<span class="sourceLineNo">176</span> return this;<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>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
index de0b524..27fbfdc 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
@@ -34,27 +34,27 @@
<span class="sourceLineNo">026</span><a name="line.26"></a>
<span class="sourceLineNo">027</span>{<a name="line.27"></a>
<span class="sourceLineNo">028</span> private final HRegionServer regionServer;<a name="line.28"></a>
-<span class="sourceLineNo">029</span> private final String bcv;<a name="line.29"></a>
-<span class="sourceLineNo">030</span> private final String format;<a name="line.30"></a>
-<span class="sourceLineNo">031</span> private final String filter;<a name="line.31"></a>
-<span class="sourceLineNo">032</span> private final String bcn;<a name="line.32"></a>
+<span class="sourceLineNo">029</span> private final String bcn;<a name="line.29"></a>
+<span class="sourceLineNo">030</span> private final String filter;<a name="line.30"></a>
+<span class="sourceLineNo">031</span> private final String format;<a name="line.31"></a>
+<span class="sourceLineNo">032</span> private final String bcv;<a name="line.32"></a>
<span class="sourceLineNo">033</span> protected static org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl.ImplData __jamon_setOptionalArguments(org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl.ImplData p_implData)<a name="line.33"></a>
<span class="sourceLineNo">034</span> {<a name="line.34"></a>
-<span class="sourceLineNo">035</span> if(! p_implData.getBcv__IsNotDefault())<a name="line.35"></a>
+<span class="sourceLineNo">035</span> if(! p_implData.getBcn__IsNotDefault())<a name="line.35"></a>
<span class="sourceLineNo">036</span> {<a name="line.36"></a>
-<span class="sourceLineNo">037</span> p_implData.setBcv("");<a name="line.37"></a>
+<span class="sourceLineNo">037</span> p_implData.setBcn("");<a name="line.37"></a>
<span class="sourceLineNo">038</span> }<a name="line.38"></a>
-<span class="sourceLineNo">039</span> if(! p_implData.getFormat__IsNotDefault())<a name="line.39"></a>
+<span class="sourceLineNo">039</span> if(! p_implData.getFilter__IsNotDefault())<a name="line.39"></a>
<span class="sourceLineNo">040</span> {<a name="line.40"></a>
-<span class="sourceLineNo">041</span> p_implData.setFormat("html");<a name="line.41"></a>
+<span class="sourceLineNo">041</span> p_implData.setFilter("general");<a name="line.41"></a>
<span class="sourceLineNo">042</span> }<a name="line.42"></a>
-<span class="sourceLineNo">043</span> if(! p_implData.getFilter__IsNotDefault())<a name="line.43"></a>
+<span class="sourceLineNo">043</span> if(! p_implData.getFormat__IsNotDefault())<a name="line.43"></a>
<span class="sourceLineNo">044</span> {<a name="line.44"></a>
-<span class="sourceLineNo">045</span> p_implData.setFilter("general");<a name="line.45"></a>
+<span class="sourceLineNo">045</span> p_implData.setFormat("html");<a name="line.45"></a>
<span class="sourceLineNo">046</span> }<a name="line.46"></a>
-<span class="sourceLineNo">047</span> if(! p_implData.getBcn__IsNotDefault())<a name="line.47"></a>
+<span class="sourceLineNo">047</span> if(! p_implData.getBcv__IsNotDefault())<a name="line.47"></a>
<span class="sourceLineNo">048</span> {<a name="line.48"></a>
-<span class="sourceLineNo">049</span> p_implData.setBcn("");<a name="line.49"></a>
+<span class="sourceLineNo">049</span> p_implData.setBcv("");<a name="line.49"></a>
<span class="sourceLineNo">050</span> }<a name="line.50"></a>
<span class="sourceLineNo">051</span> return p_implData;<a name="line.51"></a>
<span class="sourceLineNo">052</span> }<a name="line.52"></a>
@@ -62,10 +62,10 @@
<span class="sourceLineNo">054</span> {<a name="line.54"></a>
<span class="sourceLineNo">055</span> super(p_templateManager, __jamon_setOptionalArguments(p_implData));<a name="line.55"></a>
<span class="sourceLineNo">056</span> regionServer = p_implData.getRegionServer();<a name="line.56"></a>
-<span class="sourceLineNo">057</span> bcv = p_implData.getBcv();<a name="line.57"></a>
-<span class="sourceLineNo">058</span> format = p_implData.getFormat();<a name="line.58"></a>
-<span class="sourceLineNo">059</span> filter = p_implData.getFilter();<a name="line.59"></a>
-<span class="sourceLineNo">060</span> bcn = p_implData.getBcn();<a name="line.60"></a>
+<span class="sourceLineNo">057</span> bcn = p_implData.getBcn();<a name="line.57"></a>
+<span class="sourceLineNo">058</span> filter = p_implData.getFilter();<a name="line.58"></a>
+<span class="sourceLineNo">059</span> format = p_implData.getFormat();<a name="line.59"></a>
+<span class="sourceLineNo">060</span> bcv = p_implData.getBcv();<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> @Override public void renderNoFlush(final java.io.Writer jamonWriter)<a name="line.63"></a>
@@ -94,8 +94,8 @@
<span class="sourceLineNo">086</span> // 41, 3<a name="line.86"></a>
<span class="sourceLineNo">087</span> {<a name="line.87"></a>
<span class="sourceLineNo">088</span> org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl __jamon__var_7 = new org.apache.hadoop.hbase.tmpl.common.TaskMonitorTmpl(this.getTemplateManager());<a name="line.88"></a>
-<span class="sourceLineNo">089</span> __jamon__var_7.setFormat("json" );<a name="line.89"></a>
-<span class="sourceLineNo">090</span> __jamon__var_7.setFilter(filter);<a name="line.90"></a>
+<span class="sourceLineNo">089</span> __jamon__var_7.setFilter(filter);<a name="line.89"></a>
+<span class="sourceLineNo">090</span> __jamon__var_7.setFormat("json" );<a name="line.90"></a>
<span class="sourceLineNo">091</span> __jamon__var_7.renderNoFlush(jamonWriter);<a name="line.91"></a>
<span class="sourceLineNo">092</span> }<a name="line.92"></a>
<span class="sourceLineNo">093</span> // 41, 68<a name="line.93"></a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/export_control.html
----------------------------------------------------------------------
diff --git a/export_control.html b/export_control.html
index d12d9e8..f97d37b 100644
--- a/export_control.html
+++ b/export_control.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Export Control
@@ -336,7 +336,7 @@ for more details.</p>
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-annotations/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/checkstyle.html b/hbase-annotations/checkstyle.html
index 9f9d5c4..79fe606 100644
--- a/hbase-annotations/checkstyle.html
+++ b/hbase-annotations/checkstyle.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-annotations/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependencies.html b/hbase-annotations/dependencies.html
index 796f3f4..9a45d97 100644
--- a/hbase-annotations/dependencies.html
+++ b/hbase-annotations/dependencies.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-annotations/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-convergence.html b/hbase-annotations/dependency-convergence.html
index de82214..71bda24 100644
--- a/hbase-annotations/dependency-convergence.html
+++ b/hbase-annotations/dependency-convergence.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-annotations/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-info.html b/hbase-annotations/dependency-info.html
index a8029c2..134924d 100644
--- a/hbase-annotations/dependency-info.html
+++ b/hbase-annotations/dependency-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-annotations/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-management.html b/hbase-annotations/dependency-management.html
index 514dab5..f6ac837 100644
--- a/hbase-annotations/dependency-management.html
+++ b/hbase-annotations/dependency-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-annotations/index.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/index.html b/hbase-annotations/index.html
index 2b899ab..e6347b0 100644
--- a/hbase-annotations/index.html
+++ b/hbase-annotations/index.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-annotations/integration.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/integration.html b/hbase-annotations/integration.html
index 5370149..f5348d0 100644
--- a/hbase-annotations/integration.html
+++ b/hbase-annotations/integration.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-annotations/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/issue-tracking.html b/hbase-annotations/issue-tracking.html
index 7c3efbc..bc68074 100644
--- a/hbase-annotations/issue-tracking.html
+++ b/hbase-annotations/issue-tracking.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-annotations/license.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/license.html b/hbase-annotations/license.html
index 3c255a5..c8ec62c 100644
--- a/hbase-annotations/license.html
+++ b/hbase-annotations/license.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-annotations/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/mail-lists.html b/hbase-annotations/mail-lists.html
index 6804a78..45f88e9 100644
--- a/hbase-annotations/mail-lists.html
+++ b/hbase-annotations/mail-lists.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-annotations/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/plugin-management.html b/hbase-annotations/plugin-management.html
index b5dc981..7195df1 100644
--- a/hbase-annotations/plugin-management.html
+++ b/hbase-annotations/plugin-management.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-annotations/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/plugins.html b/hbase-annotations/plugins.html
index a314b3b..a609a9a 100644
--- a/hbase-annotations/plugins.html
+++ b/hbase-annotations/plugins.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-annotations/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-info.html b/hbase-annotations/project-info.html
index e35e221..2cfb005 100644
--- a/hbase-annotations/project-info.html
+++ b/hbase-annotations/project-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-annotations/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-reports.html b/hbase-annotations/project-reports.html
index 42fa7dd..b78cad0 100644
--- a/hbase-annotations/project-reports.html
+++ b/hbase-annotations/project-reports.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-annotations/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-summary.html b/hbase-annotations/project-summary.html
index fb74fd9..2401a5f 100644
--- a/hbase-annotations/project-summary.html
+++ b/hbase-annotations/project-summary.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-annotations/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/source-repository.html b/hbase-annotations/source-repository.html
index 4c7209c..1f55fed 100644
--- a/hbase-annotations/source-repository.html
+++ b/hbase-annotations/source-repository.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-annotations/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/team-list.html b/hbase-annotations/team-list.html
index 7b33878..bb5c983 100644
--- a/hbase-annotations/team-list.html
+++ b/hbase-annotations/team-list.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/dependencies.html b/hbase-archetypes/dependencies.html
index 3cd82df..312d719 100644
--- a/hbase-archetypes/dependencies.html
+++ b/hbase-archetypes/dependencies.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/dependency-convergence.html b/hbase-archetypes/dependency-convergence.html
index 1424ab7..3c935b1 100644
--- a/hbase-archetypes/dependency-convergence.html
+++ b/hbase-archetypes/dependency-convergence.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/hbase-archetypes/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/dependency-info.html b/hbase-archetypes/dependency-info.html
index f4e8b3f..def9d4e5 100644
--- a/hbase-archetypes/dependency-info.html
+++ b/hbase-archetypes/dependency-info.html
@@ -1,5 +1,5 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-04 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-05 -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
@@ -10,7 +10,7 @@
@import url("./css/site.css");
</style>
<link rel="stylesheet" href="./css/print.css" type="text/css" media="print" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
</head>
@@ -27,7 +27,7 @@
<div class="xleft">
- <span id="publishDate">Last Published: 2017-05-04</span>
+ <span id="publishDate">Last Published: 2017-05-05</span>
| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
</div>
<div class="xright"> <a href="./" title="Apache HBase - Archetypes">Apache HBase - Archetypes</a>
[42/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index 14cb5cd..023538d 100644
--- a/checkstyle-aggregate.html
+++ b/checkstyle-aggregate.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Checkstyle Results</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -289,7 +289,7 @@
<td>2156</td>
<td>0</td>
<td>0</td>
-<td>14355</td></tr></table></div>
+<td>14356</td></tr></table></div>
<div class="section">
<h2><a name="Files"></a>Files</h2>
<table border="0" class="table table-striped">
@@ -787,7 +787,7 @@
<td><a href="#org.apache.hadoop.hbase.client.AsyncHBaseAdmin.java">org/apache/hadoop/hbase/client/AsyncHBaseAdmin.java</a></td>
<td>0</td>
<td>0</td>
-<td>33</td></tr>
+<td>34</td></tr>
<tr class="b">
<td><a href="#org.apache.hadoop.hbase.client.AsyncMetaRegionLocator.java">org/apache/hadoop/hbase/client/AsyncMetaRegionLocator.java</a></td>
<td>0</td>
@@ -7064,7 +7064,7 @@
<tr class="b">
<td></td>
<td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_blocks.html#NeedBraces">NeedBraces</a></td>
-<td>1931</td>
+<td>1933</td>
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td></tr>
<tr class="a">
<td>coding</td>
@@ -7138,7 +7138,7 @@
<td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_imports.html#UnusedImports">UnusedImports</a>
<ul>
<li>processJavadoc: <tt>"true"</tt></li></ul></td>
-<td>79</td>
+<td>78</td>
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td></tr>
<tr class="b">
<td>indentation</td>
@@ -14540,203 +14540,209 @@
<td>imports</td>
<td>ImportOrder</td>
<td>Wrong order for 'org.apache.hadoop.hbase.NamespaceDescriptor' import.</td>
-<td>54</td></tr>
+<td>55</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>imports</td>
<td>ImportOrder</td>
<td>Wrong order for 'org.apache.hadoop.hbase.HConstants' import.</td>
-<td>55</td></tr>
+<td>56</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>imports</td>
<td>ImportOrder</td>
<td>Wrong order for 'org.apache.hadoop.hbase.AsyncMetaTableAccessor' import.</td>
-<td>58</td></tr>
+<td>59</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>imports</td>
-<td>UnusedImports</td>
-<td>Unused import - org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair.</td>
-<td>86</td></tr>
-<tr class="a">
-<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
-<td>imports</td>
<td>ImportOrder</td>
<td>Wrong order for 'org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest' import.</td>
-<td>107</td></tr>
-<tr class="b">
+<td>114</td></tr>
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>imports</td>
<td>ImportOrder</td>
<td>Wrong order for 'org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest' import.</td>
-<td>123</td></tr>
-<tr class="a">
+<td>130</td></tr>
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 101).</td>
-<td>358</td></tr>
-<tr class="b">
+<td>366</td></tr>
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'if' have incorrect indentation level 10, expected level should be 22.</td>
-<td>401</td></tr>
-<tr class="a">
+<td>409</td></tr>
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'if' child have incorrect indentation level 12, expected level should be 24.</td>
-<td>402</td></tr>
-<tr class="b">
+<td>410</td></tr>
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'if' child have incorrect indentation level 12, expected level should be 24.</td>
-<td>403</td></tr>
-<tr class="a">
+<td>411</td></tr>
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'if rcurly' have incorrect indentation level 10, expected level should be 22.</td>
-<td>404</td></tr>
-<tr class="b">
+<td>412</td></tr>
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'if' have incorrect indentation level 10, expected level should be 22.</td>
-<td>405</td></tr>
-<tr class="a">
+<td>413</td></tr>
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'if' child have incorrect indentation level 12, expected level should be 24.</td>
-<td>406</td></tr>
-<tr class="b">
+<td>414</td></tr>
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'if rcurly' have incorrect indentation level 10, expected level should be 22.</td>
-<td>407</td></tr>
-<tr class="a">
+<td>415</td></tr>
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'else' child have incorrect indentation level 12, expected level should be 24.</td>
-<td>408</td></tr>
-<tr class="b">
+<td>416</td></tr>
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'else rcurly' have incorrect indentation level 10, expected level should be 22.</td>
-<td>409</td></tr>
-<tr class="a">
+<td>417</td></tr>
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block rcurly' have incorrect indentation level 8, expected level should be 20.</td>
-<td>410</td></tr>
-<tr class="b">
+<td>418</td></tr>
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 104).</td>
-<td>633</td></tr>
-<tr class="a">
+<td>641</td></tr>
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 103).</td>
-<td>640</td></tr>
-<tr class="b">
+<td>648</td></tr>
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 105).</td>
-<td>694</td></tr>
-<tr class="a">
+<td>702</td></tr>
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 111).</td>
-<td>706</td></tr>
-<tr class="b">
+<td>714</td></tr>
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 105).</td>
-<td>744</td></tr>
+<td>752</td></tr>
+<tr class="b">
+<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
+<td>blocks</td>
+<td>NeedBraces</td>
+<td>'if' construct must use '{}'s.</td>
+<td>822</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>814</td></tr>
+<td>1100</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>967</td></tr>
+<td>1101</td></tr>
<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
-<td>973</td></tr>
+<td>1243</td></tr>
<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
+<td>blocks</td>
+<td>NeedBraces</td>
+<td>'if' construct must use '{}'s.</td>
+<td>1249</td></tr>
+<tr class="a">
+<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>1080</td></tr>
-<tr class="a">
+<td>1356</td></tr>
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
-<td>1081</td></tr>
-<tr class="b">
+<td>1357</td></tr>
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 102).</td>
-<td>1254</td></tr>
-<tr class="a">
+<td>1530</td></tr>
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 111).</td>
-<td>1303</td></tr>
-<tr class="b">
+<td>1579</td></tr>
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 114).</td>
-<td>1385</td></tr>
-<tr class="a">
+<td>1661</td></tr>
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 107).</td>
-<td>1663</td></tr>
-<tr class="b">
+<td>1939</td></tr>
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 104).</td>
-<td>2129</td></tr></table></div>
+<td>2405</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">
-<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="" /> Error</td>
<td>imports</td>
<td>AvoidStarImport</td>
@@ -14745,31 +14751,31 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.AsyncNonMetaRegionLocator.java">org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.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="" /> Error</td>
<td>design</td>
<td>VisibilityModifier</td>
<td>Variable 'locateType' must be private and have accessor methods.</td>
<td>80</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>design</td>
<td>VisibilityModifier</td>
<td>Variable 'cache' must be private and have accessor methods.</td>
<td>104</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>design</td>
<td>VisibilityModifier</td>
<td>Variable 'pendingRequests' must be private and have accessor methods.</td>
<td>107</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>design</td>
<td>VisibilityModifier</td>
@@ -14778,73 +14784,73 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.AsyncProcess.java">org/apache/hadoop/hbase/client/AsyncProcess.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="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 108).</td>
<td>226</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 112).</td>
<td>231</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>317</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 102).</td>
<td>326</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 102).</td>
<td>387</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>403</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method call' child have incorrect indentation level 6, expected level should be 8.</td>
<td>438</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method call' child have incorrect indentation level 6, expected level should be 8.</td>
<td>439</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method call' child have incorrect indentation level 6, expected level should be 8.</td>
<td>440</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 109).</td>
<td>466</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
@@ -14853,13 +14859,13 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.AsyncProcessTask.java">org/apache/hadoop/hbase/client/AsyncProcessTask.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="" /> Error</td>
<td>design</td>
<td>FinalClass</td>
@@ -14868,13 +14874,13 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.AsyncRequestFuture.java">org/apache/hadoop/hbase/client/AsyncRequestFuture.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="" /> Error</td>
<td>imports</td>
<td>ImportOrder</td>
@@ -14883,151 +14889,151 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.AsyncRequestFutureImpl.java">org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.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="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>104</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>138</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>141</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>151</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>173</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 101).</td>
<td>225</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 115).</td>
<td>407</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>425</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 101).</td>
<td>445</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>461</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 101).</td>
<td>463</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>477</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>481</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>503</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 107).</td>
<td>524</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 105).</td>
<td>541</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 107).</td>
<td>554</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 110).</td>
<td>606</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>JavadocTagContinuationIndentation</td>
<td>Line continuation have incorrect indentation level, expected level should be 2.</td>
<td>632</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 108).</td>
<td>657</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 106).</td>
<td>780</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>1109</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 106).</td>
<td>1120</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
@@ -15036,13 +15042,13 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.AsyncRpcRetryingCaller.java">org/apache/hadoop/hbase/client/AsyncRpcRetryingCaller.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="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
@@ -15051,13 +15057,13 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.java">org/apache/hadoop/hbase/client/AsyncRpcRetryingCallerFactory.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="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
@@ -15066,13 +15072,13 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.AsyncSingleRequestRpcRetryingCaller.java">org/apache/hadoop/hbase/client/AsyncSingleRequestRpcRetryingCaller.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="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
@@ -15081,25 +15087,25 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.AsyncTableImpl.java">org/apache/hadoop/hbase/client/AsyncTableImpl.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="" /> Error</td>
<td>imports</td>
<td>AvoidStarImport</td>
<td>Using the '.*' form of import should be avoided - java.util.stream.Collectors.*.</td>
<td>25</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>imports</td>
<td>ImportOrder</td>
<td>Wrong order for 'java.util.stream.Collectors.*' import.</td>
<td>25</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>coding</td>
<td>InnerAssignment</td>
@@ -15108,13 +15114,13 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.BatchErrors.java">org/apache/hadoop/hbase/client/BatchErrors.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="" /> Error</td>
<td>imports</td>
<td>ImportOrder</td>
@@ -15123,13 +15129,13 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.BufferedMutator.java">org/apache/hadoop/hbase/client/BufferedMutator.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="" /> Error</td>
<td>imports</td>
<td>ImportOrder</td>
@@ -15138,31 +15144,31 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.BufferedMutatorImpl.java">org/apache/hadoop/hbase/client/BufferedMutatorImpl.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="" /> Error</td>
<td>imports</td>
<td>ImportOrder</td>
<td>Wrong order for 'java.io.IOException' import.</td>
<td>25</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>imports</td>
<td>UnusedImports</td>
<td>Unused import - org.apache.hadoop.hbase.HConstants.</td>
<td>36</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 106).</td>
<td>114</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
@@ -15171,25 +15177,25 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.CancellableRegionServerCallable.java">org/apache/hadoop/hbase/client/CancellableRegionServerCallable.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="" /> Error</td>
<td>imports</td>
<td>ImportOrder</td>
<td>Wrong order for 'org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController' import.</td>
<td>27</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>55</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
@@ -15198,19 +15204,19 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.ClientAsyncPrefetchScanner.java">org/apache/hadoop/hbase/client/ClientAsyncPrefetchScanner.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="" /> Error</td>
<td>imports</td>
<td>ImportOrder</td>
<td>Wrong order for 'org.apache.hadoop.hbase.client.ConnectionUtils.calcEstimatedSize' import.</td>
<td>21</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
@@ -15219,13 +15225,13 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.ClientIdGenerator.java">org/apache/hadoop/hbase/client/ClientIdGenerator.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="" /> Error</td>
<td>javadoc</td>
<td>JavadocTagContinuationIndentation</td>
@@ -15234,19 +15240,19 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.ClientScanner.java">org/apache/hadoop/hbase/client/ClientScanner.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="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>97</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
@@ -15255,19 +15261,19 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.ClientServiceCallable.java">org/apache/hadoop/hbase/client/ClientServiceCallable.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="" /> Error</td>
<td>imports</td>
<td>ImportOrder</td>
<td>Wrong order for 'org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController' import.</td>
<td>25</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
@@ -15276,13 +15282,13 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.ClusterStatusListener.java">org/apache/hadoop/hbase/client/ClusterStatusListener.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="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
@@ -15291,19 +15297,19 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.CompactType.java">org/apache/hadoop/hbase/client/CompactType.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="" /> Error</td>
<td>whitespace</td>
<td>MethodParamPad</td>
<td>'(' is preceded with whitespace.</td>
<td>29</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>whitespace</td>
<td>MethodParamPad</td>
@@ -15312,13 +15318,13 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.ConnectionConfiguration.java">org/apache/hadoop/hbase/client/ConnectionConfiguration.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="" /> Error</td>
<td>imports</td>
<td>ImportOrder</td>
@@ -15327,19 +15333,19 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.ConnectionFactory.java">org/apache/hadoop/hbase/client/ConnectionFactory.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="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 103).</td>
<td>58</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
@@ -15348,31 +15354,31 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.ConnectionImplementation.java">org/apache/hadoop/hbase/client/ConnectionImplementation.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="" /> Error</td>
<td>imports</td>
<td>ImportOrder</td>
<td>Wrong order for 'com.google.common.annotations.VisibleForTesting' import.</td>
<td>121</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 101).</td>
<td>1015</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>MethodLength</td>
<td>Method length is 492 lines (max allowed is 150).</td>
<td>1249</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>coding</td>
<td>NoFinalizer</td>
@@ -15381,25 +15387,25 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.CoprocessorHConnection.java">org/apache/hadoop/hbase/client/CoprocessorHConnection.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="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>70</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>79</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
@@ -15408,25 +15414,25 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.DelayingRunner.java">org/apache/hadoop/hbase/client/DelayingRunner.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="" /> Error</td>
<td>imports</td>
<td>ImportOrder</td>
<td>Wrong order for 'java.util.List' import.</td>
<td>25</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>JavadocTagContinuationIndentation</td>
<td>Line continuation have incorrect indentation level, expected level should be 2.</td>
<td>81</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
@@ -15435,43 +15441,43 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.Delete.java">org/apache/hadoop/hbase/client/Delete.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="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>112</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>113</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> 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="" /> 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="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>157</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
@@ -15480,61 +15486,61 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.Get.java">org/apache/hadoop/hbase/client/Get.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="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>95</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>134</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>135</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>136</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>145</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>221</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>JavadocTagContinuationIndentation</td>
<td>Line continuation have incorrect indentation level, expected level should be 2.</td>
<td>330</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>JavadocTagContinuationIndentation</td>
<td>Line continuation have incorrect indentation level, expected level should be 2.</td>
<td>340</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
@@ -15543,493 +15549,493 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.HBaseAdmin.java">org/apache/hadoop/hbase/client/HBaseAdmin.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="" /> Error</td>
<td>imports</td>
<td>UnusedImports</td>
<td>Unused import - java.util.Map.Entry.</td>
<td>32</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>imports</td>
<td>UnusedImports</td>
<td>Unused import - org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair.</td>
<td>109</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>imports</td>
<td>ImportOrder</td>
<td>Wrong order for 'com.google.common.annotations.VisibleForTesting' import.</td>
<td>205</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def modifier' have incorrect indentation level 6, expected level should be one of the following: 10, 12.</td>
<td>300</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
<td>302</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
<td>304</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def rcurly' have incorrect indentation level 6, expected level should be one of the following: 10, 12.</td>
<td>305</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'object def rcurly' have incorrect indentation level 4, expected level should be one of the following: 8, 10.</td>
<td>306</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>429</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def modifier' have incorrect indentation level 6, expected level should be one of the following: 10, 12.</td>
<td>432</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
<td>434</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
<td>436</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'if' have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
<td>437</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'if' child have incorrect indentation level 10, expected level should be one of the following: 14, 16.</td>
<td>438</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'if rcurly' have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
<td>439</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
<td>440</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def rcurly' have incorrect indentation level 6, expected level should be one of the following: 10, 12.</td>
<td>441</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'object def rcurly' have incorrect indentation level 4, expected level should be one of the following: 8, 10.</td>
<td>442</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>618</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>1233</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>1234</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>1262</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 103).</td>
<td>1472</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>1509</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>1528</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>1546</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>1564</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>whitespace</td>
<td>MethodParamPad</td>
<td>'(' is preceded with whitespace.</td>
<td>1585</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>whitespace</td>
<td>MethodParamPad</td>
<td>'(' is preceded with whitespace.</td>
<td>1590</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>whitespace</td>
<td>MethodParamPad</td>
<td>'(' is preceded with whitespace.</td>
<td>1594</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def modifier' have incorrect indentation level 6, expected level should be one of the following: 10, 12.</td>
<td>1603</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
<td>1605</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
<td>1611</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def rcurly' have incorrect indentation level 6, expected level should be one of the following: 10, 12.</td>
<td>1612</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'object def rcurly' have incorrect indentation level 4, expected level should be one of the following: 8, 10.</td>
<td>1613</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>1667</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>1670</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>1672</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'if' child have incorrect indentation level 7, expected level should be 6.</td>
<td>1706</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>JavadocTagContinuationIndentation</td>
<td>Line continuation have incorrect indentation level, expected level should be 2.</td>
<td>1773</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>JavadocTagContinuationIndentation</td>
<td>Line continuation have incorrect indentation level, expected level should be 2.</td>
<td>1775</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>JavadocTagContinuationIndentation</td>
<td>Line continuation have incorrect indentation level, expected level should be 2.</td>
<td>1776</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>1777</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>1808</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>JavadocTagContinuationIndentation</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">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def modifier' have incorrect indentation level 6, expected level should be one of the following: 10, 12.</td>
<td>1988</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
<td>1990</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def rcurly' have incorrect indentation level 6, expected level should be one of the following: 10, 12.</td>
<td>1993</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'object def rcurly' have incorrect indentation level 4, expected level should be one of the following: 8, 10.</td>
<td>1994</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def modifier' have incorrect indentation level 6, expected level should be one of the following: 10, 12.</td>
<td>2015</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
<td>2018</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def rcurly' have incorrect indentation level 7, expected level should be one of the following: 10, 12.</td>
<td>2020</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'object def rcurly' have incorrect indentation level 4, expected level should be one of the following: 8, 10.</td>
<td>2021</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def modifier' have incorrect indentation level 6, expected level should be one of the following: 10, 12.</td>
<td>2042</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 12, 14.</td>
<td>2045</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def rcurly' have incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
<td>2047</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'object def rcurly' have incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
<td>2048</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>JavadocTagContinuationIndentation</td>
<td>Line continuation have incorrect indentation level, expected level should be 2.</td>
<td>2173</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>JavadocTagContinuationIndentation</td>
<td>Line continuation have incorrect indentation level, expected level should be 2.</td>
<td>2190</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'try' child have incorrect indentation level 10, expected level should be 8.</td>
<td>2210</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>2329</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def modifier' have incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
<td>2753</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
<td>2755</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def' child have incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
<td>2760</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def rcurly' have incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
<td>2761</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'object def rcurly' have incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
<td>2762</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 110).</td>
<td>2889</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def modifier' have incorrect indentation level 10, expected level should be one of the following: 12, 14, 16.</td>
<td>2974</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def' child have incorrect indentation level 12, expected level should be one of the following: 14, 16, 18.</td>
<td>2976</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def' child have incorrect indentation level 12, expected level should be one of the following: 14, 16, 18.</td>
<td>2978</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def rcurly' have incorrect indentation level 10, expected level should be one of the following: 12, 14, 16.</td>
<td>2979</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'object def rcurly' have incorrect indentation level 8, expected level should be one of the following: 10, 12, 14.</td>
<td>2980</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>3188</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>3189</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>3649</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>3652</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 101).</td>
<td>3930</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>4085</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>4193</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>4194</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
@@ -16038,19 +16044,19 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.HRegionLocator.java">org/apache/hadoop/hbase/client/HRegionLocator.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="" /> Error</td>
<td>imports</td>
<td>ImportOrder</td>
<td>Wrong order for 'com.google.common.annotations.VisibleForTesting' import.</td>
<td>25</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
@@ -16059,157 +16065,157 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.HTable.java">org/apache/hadoop/hbase/client/HTable.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="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>208</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 108).</td>
<td>407</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>592</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>602</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>667</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 113).</td>
<td>752</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>914</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>915</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>943</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>annotation</td>
<td>MissingDeprecated</td>
<td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
<td>1041</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>annotation</td>
<td>MissingDeprecated</td>
<td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
<td>1145</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>annotation</td>
<td>MissingDeprecated</td>
<td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
<td>1159</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>annotation</td>
<td>MissingDeprecated</td>
<td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
<td>1165</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>annotation</td>
<td>MissingDeprecated</td>
<td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
<td>1177</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>LeftCurly</td>
<td>'{' at column 34 should have line break after.</td>
<td>1187</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>annotation</td>
<td>MissingDeprecated</td>
<td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
<td>1189</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def modifier' have incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
<td>1208</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'if' have incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
<td>1210</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'if' child have incorrect indentation level 10, expected level should be one of the following: 12, 14.</td>
<td>1211</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'if rcurly' have incorrect indentation level 8, expected level should be one of the following: 10, 12.</td>
<td>1212</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def rcurly' have incorrect indentation level 6, expected level should be one of the following: 8, 10.</td>
<td>1213</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'object def rcurly' have incorrect indentation level 4, expected level should be one of the following: 6, 8.</td>
<td>1214</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 103).</td>
<td>1247</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'=' have incorrect indentation level 4, expected level should be 6.</td>
<td>1270</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
@@ -16218,37 +16224,37 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.HTableMultiplexer.java">org/apache/hadoop/hbase/client/HTableMultiplexer.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="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>143</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>144</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>154</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>155</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
@@ -16257,55 +16263,55 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.HTableWrapper.java">org/apache/hadoop/hbase/client/HTableWrapper.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="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>69</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'method def' child have incorrect indentation level 5, expected level should be 4.</td>
<td>270</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>annotation</td>
<td>MissingDeprecated</td>
<td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
<td>310</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>LeftCurly</td>
<td>'{' at column 55 should have line break after.</td>
<td>317</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>LeftCurly</td>
<td>'{' at column 53 should have line break after.</td>
<td>320</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>annotation</td>
<td>MissingDeprecated</td>
<td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
<td>322</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>LeftCurly</td>
<td>'{' at column 35 should have line break after.</td>
<td>329</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>LeftCurly</td>
@@ -16314,19 +16320,19 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.ImmutableHTableDescriptor.java">org/apache/hadoop/hbase/client/ImmutableHTableDescriptor.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="" /> Error</td>
<td>annotation</td>
<td>MissingDeprecated</td>
<td>Must include both @java.lang.Deprecated annotation and @deprecated Javadoc tag with description.</td>
<td>30</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>annotation</td>
<td>MissingDeprecated</td>
@@ -16335,13 +16341,13 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.Increment.java">org/apache/hadoop/hbase/client/Increment.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="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
@@ -16350,19 +16356,19 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.MasterCallable.java">org/apache/hadoop/hbase/client/MasterCallable.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="" /> Error</td>
<td>sizes</td>
<td>LineLength</td>
<td>Line is longer than 100 characters (found 111).</td>
<td>83</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
@@ -16371,43 +16377,43 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.MetaCache.java">org/apache/hadoop/hbase/client/MetaCache.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="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>81</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>102</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>107</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>192</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>295</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
@@ -16416,241 +16422,241 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.MetricsConnection.java">org/apache/hadoop/hbase/client/MetricsConnection.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="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
<td>415</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
<td>417</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
<td>418</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
<td>419</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
<td>421</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'switch' have incorrect indentation level 8, expected level should be 10.</td>
<td>422</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'case' child have incorrect indentation level 8, expected level should be 12.</td>
<td>423</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 10, expected level should be 14.</td>
<td>424</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 10, expected level should be 14.</td>
<td>425</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'case' child have incorrect indentation level 8, expected level should be 12.</td>
<td>426</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 10, expected level should be 14.</td>
<td>427</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 10, expected level should be 14.</td>
<td>428</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'case' child have incorrect indentation level 8, expected level should be 12.</td>
<td>429</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 10, expected level should be 14.</td>
<td>430</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 10, expected level should be 14.</td>
<td>431</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'case' child have incorrect indentation level 8, expected level should be 12.</td>
<td>432</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 10, expected level should be 14.</td>
<td>433</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 10, expected level should be 14.</td>
<td>434</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'case' child have incorrect indentation level 8, expected level should be 12.</td>
<td>435</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 10, expected level should be 14.</td>
<td>436</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'switch rcurly' have incorrect indentation level 8, expected level should be 10.</td>
<td>437</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
<td>438</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
<td>440</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
<td>441</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
<td>442</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
<td>445</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
<td>446</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
<td>449</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
<td>450</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
<td>453</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
<td>454</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
<td>457</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
<td>458</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
<td>461</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
<td>462</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
<td>464</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
<td>465</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
<td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
<td>466</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>indentation</td>
<td>Indentation</td>
@@ -16659,25 +16665,25 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.MultiAction.java">org/apache/hadoop/hbase/client/MultiAction.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="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>67</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>68</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
@@ -16686,13 +16692,13 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.MultiResponse.java">org/apache/hadoop/hbase/client/MultiResponse.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="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
@@ -16701,49 +16707,49 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.MultiServerCallable.java">org/apache/hadoop/hbase/client/MultiServerCallable.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="" /> Error</td>
<td>imports</td>
<td>ImportOrder</td>
<td>Wrong order for 'org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController' import.</td>
<td>41</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>imports</td>
<td>ImportOrder</td>
<td>Wrong order for 'com.google.common.annotations.VisibleForTesting' import.</td>
<td>43</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>49</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>91</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>110</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>blocks</td>
<td>NeedBraces</td>
<td>'if' construct must use '{}'s.</td>
<td>127</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>JavadocTagContinuationIndentation</td>
@@ -16752,133 +16758,133 @@
<div class="section">
<h3 id="org.apache.hadoop.hbase.client.Mutation.java">org/apache/hadoop/hbase/client/Mutation.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="" /> Error</td>
<td>imports</td>
<td>ImportOrder</td>
<td>Wrong order for 'com.google.common.collect.ArrayListMultimap' import.</td>
<td>53</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> 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="" /> 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="" /> 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="" /> 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="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>237</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>331</td></tr>
-<tr class="b">
+<tr class="a">
<td><img src="images/icon_error_sml.gif" alt="" /> Error</td>
<td>javadoc</td>
<td>NonEmptyAtclauseDescription</td>
<td>At-clause should have a non-empty description.</td>
<td>341</td></tr>
-<tr class="a">
+<tr class="b">
<td><img src="images/icon_err
<TRUNCATED>
[26/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html
index 8750fa2..4fd4af0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.DeleteColumnFamilyProcedureBiConsumer.html
@@ -48,2133 +48,2409 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span>import io.netty.util.Timeout;<a name="line.41"></a>
<span class="sourceLineNo">042</span>import io.netty.util.TimerTask;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.commons.logging.Log;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.commons.logging.LogFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ServerName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.HConstants;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>/**<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * The implementation of AsyncAdmin.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@InterfaceAudience.Private<a name="line.185"></a>
-<span class="sourceLineNo">186</span>@InterfaceStability.Evolving<a name="line.186"></a>
-<span class="sourceLineNo">187</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.187"></a>
+<span class="sourceLineNo">043</span>import org.apache.commons.io.IOUtils;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.commons.logging.Log;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.commons.logging.LogFactory;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ServerName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HConstants;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.TableName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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.snapshot.ClientSnapshotDescriptionUtils;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.187"></a>
<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> private final AsyncConnectionImpl connection;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span> private final RawAsyncTable metaTable;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final long rpcTimeoutNs;<a name="line.195"></a>
+<span class="sourceLineNo">189</span>/**<a name="line.189"></a>
+<span class="sourceLineNo">190</span> * The implementation of AsyncAdmin.<a name="line.190"></a>
+<span class="sourceLineNo">191</span> */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>@InterfaceAudience.Private<a name="line.192"></a>
+<span class="sourceLineNo">193</span>@InterfaceStability.Evolving<a name="line.193"></a>
+<span class="sourceLineNo">194</span>public class AsyncHBaseAdmin 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 final long operationTimeoutNs;<a name="line.197"></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 long pauseNs;<a name="line.199"></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 int maxAttempts;<a name="line.201"></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 int startLogErrorsCnt;<a name="line.203"></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 NonceGenerator ng;<a name="line.205"></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> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> this.connection = connection;<a name="line.208"></a>
-<span class="sourceLineNo">209</span> this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> this.rpcTimeoutNs = connection.connConf.getRpcTimeoutNs();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.212"></a>
-<span class="sourceLineNo">213</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.213"></a>
-<span class="sourceLineNo">214</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<a name="line.214"></a>
-<span class="sourceLineNo">215</span> this.ng = connection.getNonceGenerator();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> return this.connection.callerFactory.<T> masterRequest()<a name="line.219"></a>
-<span class="sourceLineNo">220</span> .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startLogErrorsCnt(startLogErrorsCnt);<a name="line.223"></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">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> private final int startLogErrorsCnt;<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">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<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 = connection.connConf.getRpcTimeoutNs();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.219"></a>
+<span class="sourceLineNo">220</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.220"></a>
+<span class="sourceLineNo">221</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.221"></a>
+<span class="sourceLineNo">222</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<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 <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> adminRequest()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> 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> @FunctionalInterface<a name="line.234"></a>
-<span class="sourceLineNo">235</span> private interface MasterRpcCall<RESP, REQ> {<a name="line.235"></a>
-<span class="sourceLineNo">236</span> void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.236"></a>
-<span class="sourceLineNo">237</span> RpcCallback<RESP> done);<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> @FunctionalInterface<a name="line.240"></a>
-<span class="sourceLineNo">241</span> private interface AdminRpcCall<RESP, REQ> {<a name="line.241"></a>
-<span class="sourceLineNo">242</span> void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> RpcCallback<RESP> done);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span> @FunctionalInterface<a name="line.246"></a>
-<span class="sourceLineNo">247</span> private interface Converter<D, S> {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> D convert(S src) throws IOException;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.251"></a>
-<span class="sourceLineNo">252</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.252"></a>
-<span class="sourceLineNo">253</span> Converter<RESP, PRESP> respConverter) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.254"></a>
-<span class="sourceLineNo">255</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> @Override<a name="line.257"></a>
-<span class="sourceLineNo">258</span> public void run(PRESP resp) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span> if (controller.failed()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span> future.completeExceptionally(controller.getFailed());<a name="line.260"></a>
-<span class="sourceLineNo">261</span> } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> future.complete(respConverter.convert(resp));<a name="line.263"></a>
-<span class="sourceLineNo">264</span> } catch (IOException e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span> future.completeExceptionally(e);<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> }<a name="line.268"></a>
-<span class="sourceLineNo">269</span> });<a name="line.269"></a>
-<span class="sourceLineNo">270</span> return future;<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> //TODO abstract call and adminCall into a single method.<a name="line.273"></a>
-<span class="sourceLineNo">274</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.274"></a>
-<span class="sourceLineNo">275</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.275"></a>
-<span class="sourceLineNo">276</span> Converter<RESP, PRESP> respConverter) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.279"></a>
+<span class="sourceLineNo">234</span> private <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.connection.callerFactory.<T> 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<RESP, REQ> {<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<RESP> done);<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<RESP, REQ> {<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<RESP> 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<D, S> {<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 <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.259"></a>
+<span class="sourceLineNo">260</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.260"></a>
+<span class="sourceLineNo">261</span> Converter<RESP, PRESP> respConverter) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.262"></a>
+<span class="sourceLineNo">263</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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> @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span> public void run(PRESP resp) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span> if (controller.failed()) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.284"></a>
-<span class="sourceLineNo">285</span> } else {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> future.complete(respConverter.convert(resp));<a name="line.287"></a>
-<span class="sourceLineNo">288</span> } catch (IOException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span> future.completeExceptionally(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span> }<a name="line.290"></a>
-<span class="sourceLineNo">291</span> }<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> return future;<a name="line.294"></a>
-<span class="sourceLineNo">295</span> }<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.298"></a>
-<span class="sourceLineNo">299</span> ProcedureBiConsumer consumer) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> CompletableFuture<Long> procFuture = this<a name="line.300"></a>
-<span class="sourceLineNo">301</span> .<Long> newMasterCaller()<a name="line.301"></a>
-<span class="sourceLineNo">302</span> .action(<a name="line.302"></a>
-<span class="sourceLineNo">303</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> respConverter)).call();<a name="line.304"></a>
-<span class="sourceLineNo">305</span> return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> @FunctionalInterface<a name="line.308"></a>
-<span class="sourceLineNo">309</span> private interface TableOperator {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> CompletableFuture<Void> operate(TableName table);<a name="line.310"></a>
-<span class="sourceLineNo">311</span> }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.313"></a>
-<span class="sourceLineNo">314</span> TableOperator operator, String operationType) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.315"></a>
-<span class="sourceLineNo">316</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> listTables(pattern, false).whenComplete(<a name="line.317"></a>
-<span class="sourceLineNo">318</span> (tables, error) -> {<a name="line.318"></a>
-<span class="sourceLineNo">319</span> if (error != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> future.completeExceptionally(error);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> return;<a name="line.321"></a>
-<span class="sourceLineNo">322</span> }<a name="line.322"></a>
-<span class="sourceLineNo">323</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.323"></a>
-<span class="sourceLineNo">324</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<a name="line.324"></a>
-<span class="sourceLineNo">325</span> if (ex != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.326"></a>
-<span class="sourceLineNo">327</span> failed.add(table);<a name="line.327"></a>
-<span class="sourceLineNo">328</span> }<a name="line.328"></a>
-<span class="sourceLineNo">329</span> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<a name="line.331"></a>
-<span class="sourceLineNo">332</span> });<a name="line.332"></a>
-<span class="sourceLineNo">333</span> });<a name="line.333"></a>
-<span class="sourceLineNo">334</span> return future;<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 AsyncConnectionImpl getConnection() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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<TableDescriptor[]> listTables() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return listTables((Pattern) null, false);<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<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> return listTables(Pattern.compile(regex), false);<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<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return this<a name="line.359"></a>
-<span class="sourceLineNo">360</span> .<TableDescriptor[]>newMasterCaller()<a name="line.360"></a>
-<span class="sourceLineNo">361</span> .action(<a name="line.361"></a>
-<span class="sourceLineNo">362</span> (controller, stub) -> this<a name="line.362"></a>
-<span class="sourceLineNo">363</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.363"></a>
-<span class="sourceLineNo">364</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.365"></a>
-<span class="sourceLineNo">366</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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<TableName[]> listTableNames() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span> return listTableNames((Pattern) null, false);<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<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> return listTableNames(Pattern.compile(regex), false);<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<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span> .<TableName[]>newMasterCaller()<a name="line.382"></a>
-<span class="sourceLineNo">383</span> .action(<a name="line.383"></a>
-<span class="sourceLineNo">384</span> (controller, stub) -> this<a name="line.384"></a>
-<span class="sourceLineNo">385</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.385"></a>
-<span class="sourceLineNo">386</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.386"></a>
-<span class="sourceLineNo">387</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.387"></a>
-<span class="sourceLineNo">388</span> .getTableNameArray(resp.getTableNamesList()))).call();<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<TableDescriptor> getTableDescriptor(TableName tableName) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> CompletableFuture<TableDescriptor> future = new CompletableFuture<>();<a name="line.393"></a>
-<span class="sourceLineNo">394</span> this.<List<TableSchema>> newMasterCaller()<a name="line.394"></a>
-<span class="sourceLineNo">395</span> .action(<a name="line.395"></a>
-<span class="sourceLineNo">396</span> (controller, stub) -> this<a name="line.396"></a>
-<span class="sourceLineNo">397</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, List<TableSchema>> call(<a name="line.397"></a>
-<span class="sourceLineNo">398</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.398"></a>
-<span class="sourceLineNo">399</span> c, req, done) -> s.getTableDescriptors(c, req, done), (resp) -> resp<a name="line.399"></a>
-<span class="sourceLineNo">400</span> .getTableSchemaList())).call().whenComplete((tableSchemas, error) -> {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> if (error != null) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> future.completeExceptionally(error);<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> if (!tableSchemas.isEmpty()) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.406"></a>
-<span class="sourceLineNo">407</span> } else {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<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> return future;<a name="line.411"></a>
-<span class="sourceLineNo">412</span> }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> @Override<a name="line.414"></a>
-<span class="sourceLineNo">415</span> public CompletableFuture<Void> createTable(TableDescriptor desc) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return createTable(desc, null);<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> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.420"></a>
-<span class="sourceLineNo">421</span> int numRegions) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> try {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> return createTable(desc, getSplitKeys(startKey, endKey, numRegions));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> } catch (IllegalArgumentException e) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span> return failedFuture(e);<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><a name="line.428"></a>
-<span class="sourceLineNo">429</span> @Override<a name="line.429"></a>
-<span class="sourceLineNo">430</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span> if (desc.getTableName() == null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (splitKeys != null && splitKeys.length > 0) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);<a name="line.435"></a>
-<span class="sourceLineNo">436</span> // Verify there are no duplicate split keys<a name="line.436"></a>
-<span class="sourceLineNo">437</span> byte[] lastKey = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> for (byte[] splitKey : splitKeys) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> if (Bytes.compareTo(splitKey, HConstants.EMPTY_BYTE_ARRAY) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> return failedFuture(new IllegalArgumentException(<a name="line.440"></a>
-<span class="sourceLineNo">441</span> "Empty split key must not be passed in the split keys."));<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> if (lastKey != null && Bytes.equals(splitKey, lastKey)) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span> return failedFuture(new IllegalArgumentException("All split keys must be unique, "<a name="line.444"></a>
-<span class="sourceLineNo">445</span> + "found duplicate: " + Bytes.toStringBinary(splitKey) + ", "<a name="line.445"></a>
-<span class="sourceLineNo">446</span> + Bytes.toStringBinary(lastKey)));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> }<a name="line.447"></a>
-<span class="sourceLineNo">448</span> lastKey = splitKey;<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><a name="line.451"></a>
-<span class="sourceLineNo">452</span> return this.<CreateTableRequest, CreateTableResponse> procedureCall(<a name="line.452"></a>
-<span class="sourceLineNo">453</span> RequestConverter.buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()),<a name="line.453"></a>
-<span class="sourceLineNo">454</span> (s, c, req, done) -> s.createTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.454"></a>
-<span class="sourceLineNo">455</span> new CreateTableProcedureBiConsumer(this, desc.getTableName()));<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<Void> deleteTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return this.<DeleteTableRequest, DeleteTableResponse> procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span> .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span> (s, c, req, done) -> s.deleteTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span> new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
+<span class="sourceLineNo">281</span> //TODO abstract call and adminCall into a single method.<a name="line.281"></a>
+<span class="sourceLineNo">282</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.282"></a>
+<span class="sourceLineNo">283</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Converter<RESP, PRESP> respConverter) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.286"></a>
+<span class="sourceLineNo">287</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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 void run(PRESP resp) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (controller.failed()) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> try {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> future.complete(respConverter.convert(resp));<a name="line.295"></a>
+<span class="sourceLineNo">296</span> } catch (IOException e) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span> future.completeExceptionally(e);<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> });<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return future;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.305"></a>
+<span class="sourceLineNo">306</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.306"></a>
+<span class="sourceLineNo">307</span> ProcedureBiConsumer consumer) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> CompletableFuture<Long> procFuture = this<a name="line.308"></a>
+<span class="sourceLineNo">309</span> .<Long> newMasterCaller()<a name="line.309"></a>
+<span class="sourceLineNo">310</span> .action(<a name="line.310"></a>
+<span class="sourceLineNo">311</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.311"></a>
+<span class="sourceLineNo">312</span> respConverter)).call();<a name="line.312"></a>
+<span class="sourceLineNo">313</span> return waitProcedureResult(procFuture).whenComplete(consumer);<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> @FunctionalInterface<a name="line.316"></a>
+<span class="sourceLineNo">317</span> private interface TableOperator {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> CompletableFuture<Void> operate(TableName table);<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> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.321"></a>
+<span class="sourceLineNo">322</span> TableOperator operator, String operationType) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> listTables(pattern, false).whenComplete(<a name="line.325"></a>
+<span class="sourceLineNo">326</span> (tables, error) -> {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> if (error != null) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> future.completeExceptionally(error);<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return;<a name="line.329"></a>
+<span class="sourceLineNo">330</span> }<a name="line.330"></a>
+<span class="sourceLineNo">331</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.331"></a>
+<span class="sourceLineNo">332</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<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> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.337"></a>
+<span class="sourceLineNo">338</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.338"></a>
+<span class="sourceLineNo">339</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<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 AsyncConnectionImpl getConnection() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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> @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span> public CompletableFuture<TableDescriptor[]> listTables() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span> return listTables((Pattern) null, false);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span> public CompletableFuture<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return listTables(Pattern.compile(regex), false);<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> @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public CompletableFuture<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span> .<TableDescriptor[]>newMasterCaller()<a name="line.368"></a>
+<span class="sourceLineNo">369</span> .action(<a name="line.369"></a>
+<span class="sourceLineNo">370</span> (controller, stub) -> this<a name="line.370"></a>
+<span class="sourceLineNo">371</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.371"></a>
+<span class="sourceLineNo">372</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.372"></a>
+<span class="sourceLineNo">373</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.373"></a>
+<span class="sourceLineNo">374</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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> @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span> public CompletableFuture<TableName[]> listTableNames() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> return listTableNames((Pattern) null, false);<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> @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public CompletableFuture<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> return listTableNames(Pattern.compile(regex), false);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public CompletableFuture<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return this<a name="line.389"></a>
+<span class="sourceLineNo">390</span> .<TableName[]>newMasterCaller()<a name="line.390"></a>
+<span class="sourceLineNo">391</span> .action(<a name="line.391"></a>
+<span class="sourceLineNo">392</span> (controller, stub) -> this<a name="line.392"></a>
+<span class="sourceLineNo">393</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.393"></a>
+<span class="sourceLineNo">394</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.394"></a>
+<span class="sourceLineNo">395</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.395"></a>
+<span class="sourceLineNo">396</span> .getTableNameArray(resp.getTableNamesLi
<TRUNCATED>
[29/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.Converter.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.Converter.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.Converter.html
index 8750fa2..4fd4af0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.Converter.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.Converter.html
@@ -48,2133 +48,2409 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span>import io.netty.util.Timeout;<a name="line.41"></a>
<span class="sourceLineNo">042</span>import io.netty.util.TimerTask;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.commons.logging.Log;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.commons.logging.LogFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ServerName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.HConstants;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>/**<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * The implementation of AsyncAdmin.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@InterfaceAudience.Private<a name="line.185"></a>
-<span class="sourceLineNo">186</span>@InterfaceStability.Evolving<a name="line.186"></a>
-<span class="sourceLineNo">187</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.187"></a>
+<span class="sourceLineNo">043</span>import org.apache.commons.io.IOUtils;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.commons.logging.Log;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.commons.logging.LogFactory;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ServerName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HConstants;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.TableName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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.snapshot.ClientSnapshotDescriptionUtils;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.187"></a>
<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> private final AsyncConnectionImpl connection;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span> private final RawAsyncTable metaTable;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final long rpcTimeoutNs;<a name="line.195"></a>
+<span class="sourceLineNo">189</span>/**<a name="line.189"></a>
+<span class="sourceLineNo">190</span> * The implementation of AsyncAdmin.<a name="line.190"></a>
+<span class="sourceLineNo">191</span> */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>@InterfaceAudience.Private<a name="line.192"></a>
+<span class="sourceLineNo">193</span>@InterfaceStability.Evolving<a name="line.193"></a>
+<span class="sourceLineNo">194</span>public class AsyncHBaseAdmin 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 final long operationTimeoutNs;<a name="line.197"></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 long pauseNs;<a name="line.199"></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 int maxAttempts;<a name="line.201"></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 int startLogErrorsCnt;<a name="line.203"></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 NonceGenerator ng;<a name="line.205"></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> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> this.connection = connection;<a name="line.208"></a>
-<span class="sourceLineNo">209</span> this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> this.rpcTimeoutNs = connection.connConf.getRpcTimeoutNs();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.212"></a>
-<span class="sourceLineNo">213</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.213"></a>
-<span class="sourceLineNo">214</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<a name="line.214"></a>
-<span class="sourceLineNo">215</span> this.ng = connection.getNonceGenerator();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> return this.connection.callerFactory.<T> masterRequest()<a name="line.219"></a>
-<span class="sourceLineNo">220</span> .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startLogErrorsCnt(startLogErrorsCnt);<a name="line.223"></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">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> private final int startLogErrorsCnt;<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">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<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 = connection.connConf.getRpcTimeoutNs();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.219"></a>
+<span class="sourceLineNo">220</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.220"></a>
+<span class="sourceLineNo">221</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.221"></a>
+<span class="sourceLineNo">222</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<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 <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> adminRequest()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> 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> @FunctionalInterface<a name="line.234"></a>
-<span class="sourceLineNo">235</span> private interface MasterRpcCall<RESP, REQ> {<a name="line.235"></a>
-<span class="sourceLineNo">236</span> void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.236"></a>
-<span class="sourceLineNo">237</span> RpcCallback<RESP> done);<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> @FunctionalInterface<a name="line.240"></a>
-<span class="sourceLineNo">241</span> private interface AdminRpcCall<RESP, REQ> {<a name="line.241"></a>
-<span class="sourceLineNo">242</span> void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> RpcCallback<RESP> done);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span> @FunctionalInterface<a name="line.246"></a>
-<span class="sourceLineNo">247</span> private interface Converter<D, S> {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> D convert(S src) throws IOException;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.251"></a>
-<span class="sourceLineNo">252</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.252"></a>
-<span class="sourceLineNo">253</span> Converter<RESP, PRESP> respConverter) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.254"></a>
-<span class="sourceLineNo">255</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> @Override<a name="line.257"></a>
-<span class="sourceLineNo">258</span> public void run(PRESP resp) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span> if (controller.failed()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span> future.completeExceptionally(controller.getFailed());<a name="line.260"></a>
-<span class="sourceLineNo">261</span> } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> future.complete(respConverter.convert(resp));<a name="line.263"></a>
-<span class="sourceLineNo">264</span> } catch (IOException e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span> future.completeExceptionally(e);<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> }<a name="line.268"></a>
-<span class="sourceLineNo">269</span> });<a name="line.269"></a>
-<span class="sourceLineNo">270</span> return future;<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> //TODO abstract call and adminCall into a single method.<a name="line.273"></a>
-<span class="sourceLineNo">274</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.274"></a>
-<span class="sourceLineNo">275</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.275"></a>
-<span class="sourceLineNo">276</span> Converter<RESP, PRESP> respConverter) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.279"></a>
+<span class="sourceLineNo">234</span> private <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.connection.callerFactory.<T> 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<RESP, REQ> {<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<RESP> done);<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<RESP, REQ> {<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<RESP> 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<D, S> {<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 <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.259"></a>
+<span class="sourceLineNo">260</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.260"></a>
+<span class="sourceLineNo">261</span> Converter<RESP, PRESP> respConverter) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.262"></a>
+<span class="sourceLineNo">263</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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> @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span> public void run(PRESP resp) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span> if (controller.failed()) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.284"></a>
-<span class="sourceLineNo">285</span> } else {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> future.complete(respConverter.convert(resp));<a name="line.287"></a>
-<span class="sourceLineNo">288</span> } catch (IOException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span> future.completeExceptionally(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span> }<a name="line.290"></a>
-<span class="sourceLineNo">291</span> }<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> return future;<a name="line.294"></a>
-<span class="sourceLineNo">295</span> }<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.298"></a>
-<span class="sourceLineNo">299</span> ProcedureBiConsumer consumer) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> CompletableFuture<Long> procFuture = this<a name="line.300"></a>
-<span class="sourceLineNo">301</span> .<Long> newMasterCaller()<a name="line.301"></a>
-<span class="sourceLineNo">302</span> .action(<a name="line.302"></a>
-<span class="sourceLineNo">303</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> respConverter)).call();<a name="line.304"></a>
-<span class="sourceLineNo">305</span> return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> @FunctionalInterface<a name="line.308"></a>
-<span class="sourceLineNo">309</span> private interface TableOperator {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> CompletableFuture<Void> operate(TableName table);<a name="line.310"></a>
-<span class="sourceLineNo">311</span> }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.313"></a>
-<span class="sourceLineNo">314</span> TableOperator operator, String operationType) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.315"></a>
-<span class="sourceLineNo">316</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> listTables(pattern, false).whenComplete(<a name="line.317"></a>
-<span class="sourceLineNo">318</span> (tables, error) -> {<a name="line.318"></a>
-<span class="sourceLineNo">319</span> if (error != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> future.completeExceptionally(error);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> return;<a name="line.321"></a>
-<span class="sourceLineNo">322</span> }<a name="line.322"></a>
-<span class="sourceLineNo">323</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.323"></a>
-<span class="sourceLineNo">324</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<a name="line.324"></a>
-<span class="sourceLineNo">325</span> if (ex != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.326"></a>
-<span class="sourceLineNo">327</span> failed.add(table);<a name="line.327"></a>
-<span class="sourceLineNo">328</span> }<a name="line.328"></a>
-<span class="sourceLineNo">329</span> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<a name="line.331"></a>
-<span class="sourceLineNo">332</span> });<a name="line.332"></a>
-<span class="sourceLineNo">333</span> });<a name="line.333"></a>
-<span class="sourceLineNo">334</span> return future;<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 AsyncConnectionImpl getConnection() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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<TableDescriptor[]> listTables() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return listTables((Pattern) null, false);<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<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> return listTables(Pattern.compile(regex), false);<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<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return this<a name="line.359"></a>
-<span class="sourceLineNo">360</span> .<TableDescriptor[]>newMasterCaller()<a name="line.360"></a>
-<span class="sourceLineNo">361</span> .action(<a name="line.361"></a>
-<span class="sourceLineNo">362</span> (controller, stub) -> this<a name="line.362"></a>
-<span class="sourceLineNo">363</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.363"></a>
-<span class="sourceLineNo">364</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.365"></a>
-<span class="sourceLineNo">366</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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<TableName[]> listTableNames() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span> return listTableNames((Pattern) null, false);<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<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> return listTableNames(Pattern.compile(regex), false);<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<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span> .<TableName[]>newMasterCaller()<a name="line.382"></a>
-<span class="sourceLineNo">383</span> .action(<a name="line.383"></a>
-<span class="sourceLineNo">384</span> (controller, stub) -> this<a name="line.384"></a>
-<span class="sourceLineNo">385</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.385"></a>
-<span class="sourceLineNo">386</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.386"></a>
-<span class="sourceLineNo">387</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.387"></a>
-<span class="sourceLineNo">388</span> .getTableNameArray(resp.getTableNamesList()))).call();<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<TableDescriptor> getTableDescriptor(TableName tableName) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> CompletableFuture<TableDescriptor> future = new CompletableFuture<>();<a name="line.393"></a>
-<span class="sourceLineNo">394</span> this.<List<TableSchema>> newMasterCaller()<a name="line.394"></a>
-<span class="sourceLineNo">395</span> .action(<a name="line.395"></a>
-<span class="sourceLineNo">396</span> (controller, stub) -> this<a name="line.396"></a>
-<span class="sourceLineNo">397</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, List<TableSchema>> call(<a name="line.397"></a>
-<span class="sourceLineNo">398</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.398"></a>
-<span class="sourceLineNo">399</span> c, req, done) -> s.getTableDescriptors(c, req, done), (resp) -> resp<a name="line.399"></a>
-<span class="sourceLineNo">400</span> .getTableSchemaList())).call().whenComplete((tableSchemas, error) -> {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> if (error != null) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> future.completeExceptionally(error);<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> if (!tableSchemas.isEmpty()) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.406"></a>
-<span class="sourceLineNo">407</span> } else {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<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> return future;<a name="line.411"></a>
-<span class="sourceLineNo">412</span> }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> @Override<a name="line.414"></a>
-<span class="sourceLineNo">415</span> public CompletableFuture<Void> createTable(TableDescriptor desc) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return createTable(desc, null);<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> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.420"></a>
-<span class="sourceLineNo">421</span> int numRegions) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> try {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> return createTable(desc, getSplitKeys(startKey, endKey, numRegions));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> } catch (IllegalArgumentException e) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span> return failedFuture(e);<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><a name="line.428"></a>
-<span class="sourceLineNo">429</span> @Override<a name="line.429"></a>
-<span class="sourceLineNo">430</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span> if (desc.getTableName() == null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (splitKeys != null && splitKeys.length > 0) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);<a name="line.435"></a>
-<span class="sourceLineNo">436</span> // Verify there are no duplicate split keys<a name="line.436"></a>
-<span class="sourceLineNo">437</span> byte[] lastKey = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> for (byte[] splitKey : splitKeys) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> if (Bytes.compareTo(splitKey, HConstants.EMPTY_BYTE_ARRAY) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> return failedFuture(new IllegalArgumentException(<a name="line.440"></a>
-<span class="sourceLineNo">441</span> "Empty split key must not be passed in the split keys."));<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> if (lastKey != null && Bytes.equals(splitKey, lastKey)) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span> return failedFuture(new IllegalArgumentException("All split keys must be unique, "<a name="line.444"></a>
-<span class="sourceLineNo">445</span> + "found duplicate: " + Bytes.toStringBinary(splitKey) + ", "<a name="line.445"></a>
-<span class="sourceLineNo">446</span> + Bytes.toStringBinary(lastKey)));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> }<a name="line.447"></a>
-<span class="sourceLineNo">448</span> lastKey = splitKey;<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><a name="line.451"></a>
-<span class="sourceLineNo">452</span> return this.<CreateTableRequest, CreateTableResponse> procedureCall(<a name="line.452"></a>
-<span class="sourceLineNo">453</span> RequestConverter.buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()),<a name="line.453"></a>
-<span class="sourceLineNo">454</span> (s, c, req, done) -> s.createTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.454"></a>
-<span class="sourceLineNo">455</span> new CreateTableProcedureBiConsumer(this, desc.getTableName()));<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<Void> deleteTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return this.<DeleteTableRequest, DeleteTableResponse> procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span> .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span> (s, c, req, done) -> s.deleteTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span> new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
+<span class="sourceLineNo">281</span> //TODO abstract call and adminCall into a single method.<a name="line.281"></a>
+<span class="sourceLineNo">282</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.282"></a>
+<span class="sourceLineNo">283</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Converter<RESP, PRESP> respConverter) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.286"></a>
+<span class="sourceLineNo">287</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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 void run(PRESP resp) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (controller.failed()) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> try {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> future.complete(respConverter.convert(resp));<a name="line.295"></a>
+<span class="sourceLineNo">296</span> } catch (IOException e) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span> future.completeExceptionally(e);<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> });<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return future;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.305"></a>
+<span class="sourceLineNo">306</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.306"></a>
+<span class="sourceLineNo">307</span> ProcedureBiConsumer consumer) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> CompletableFuture<Long> procFuture = this<a name="line.308"></a>
+<span class="sourceLineNo">309</span> .<Long> newMasterCaller()<a name="line.309"></a>
+<span class="sourceLineNo">310</span> .action(<a name="line.310"></a>
+<span class="sourceLineNo">311</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.311"></a>
+<span class="sourceLineNo">312</span> respConverter)).call();<a name="line.312"></a>
+<span class="sourceLineNo">313</span> return waitProcedureResult(procFuture).whenComplete(consumer);<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> @FunctionalInterface<a name="line.316"></a>
+<span class="sourceLineNo">317</span> private interface TableOperator {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> CompletableFuture<Void> operate(TableName table);<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> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.321"></a>
+<span class="sourceLineNo">322</span> TableOperator operator, String operationType) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> listTables(pattern, false).whenComplete(<a name="line.325"></a>
+<span class="sourceLineNo">326</span> (tables, error) -> {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> if (error != null) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> future.completeExceptionally(error);<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return;<a name="line.329"></a>
+<span class="sourceLineNo">330</span> }<a name="line.330"></a>
+<span class="sourceLineNo">331</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.331"></a>
+<span class="sourceLineNo">332</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<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> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.337"></a>
+<span class="sourceLineNo">338</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.338"></a>
+<span class="sourceLineNo">339</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<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 AsyncConnectionImpl getConnection() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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> @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span> public CompletableFuture<TableDescriptor[]> listTables() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span> return listTables((Pattern) null, false);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span> public CompletableFuture<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return listTables(Pattern.compile(regex), false);<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> @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public CompletableFuture<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span> .<TableDescriptor[]>newMasterCaller()<a name="line.368"></a>
+<span class="sourceLineNo">369</span> .action(<a name="line.369"></a>
+<span class="sourceLineNo">370</span> (controller, stub) -> this<a name="line.370"></a>
+<span class="sourceLineNo">371</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.371"></a>
+<span class="sourceLineNo">372</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.372"></a>
+<span class="sourceLineNo">373</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.373"></a>
+<span class="sourceLineNo">374</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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> @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span> public CompletableFuture<TableName[]> listTableNames() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> return listTableNames((Pattern) null, false);<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> @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public CompletableFuture<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> return listTableNames(Pattern.compile(regex), false);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public CompletableFuture<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return this<a name="line.389"></a>
+<span class="sourceLineNo">390</span> .<TableName[]>newMasterCaller()<a name="line.390"></a>
+<span class="sourceLineNo">391</span> .action(<a name="line.391"></a>
+<span class="sourceLineNo">392</span> (controller, stub) -> this<a name="line.392"></a>
+<span class="sourceLineNo">393</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.393"></a>
+<span class="sourceLineNo">394</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.394"></a>
+<span class="sourceLineNo">395</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.395"></a>
+<span class="sourceLineNo">396</span> .getTableNameArray(resp.getTableNamesList()))).call();<a name="line.396"></a>
+<span class="sourceLineNo">397</span> }<a name="line.397"></a>
+<span class="sourceLineNo">398</spa
<TRUNCATED>
[27/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateTableProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateTableProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateTableProcedureBiConsumer.html
index 8750fa2..4fd4af0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateTableProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.CreateTableProcedureBiConsumer.html
@@ -48,2133 +48,2409 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span>import io.netty.util.Timeout;<a name="line.41"></a>
<span class="sourceLineNo">042</span>import io.netty.util.TimerTask;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.commons.logging.Log;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.commons.logging.LogFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ServerName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.HConstants;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>/**<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * The implementation of AsyncAdmin.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@InterfaceAudience.Private<a name="line.185"></a>
-<span class="sourceLineNo">186</span>@InterfaceStability.Evolving<a name="line.186"></a>
-<span class="sourceLineNo">187</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.187"></a>
+<span class="sourceLineNo">043</span>import org.apache.commons.io.IOUtils;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.commons.logging.Log;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.commons.logging.LogFactory;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ServerName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HConstants;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.TableName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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.snapshot.ClientSnapshotDescriptionUtils;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.187"></a>
<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> private final AsyncConnectionImpl connection;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span> private final RawAsyncTable metaTable;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final long rpcTimeoutNs;<a name="line.195"></a>
+<span class="sourceLineNo">189</span>/**<a name="line.189"></a>
+<span class="sourceLineNo">190</span> * The implementation of AsyncAdmin.<a name="line.190"></a>
+<span class="sourceLineNo">191</span> */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>@InterfaceAudience.Private<a name="line.192"></a>
+<span class="sourceLineNo">193</span>@InterfaceStability.Evolving<a name="line.193"></a>
+<span class="sourceLineNo">194</span>public class AsyncHBaseAdmin 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 final long operationTimeoutNs;<a name="line.197"></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 long pauseNs;<a name="line.199"></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 int maxAttempts;<a name="line.201"></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 int startLogErrorsCnt;<a name="line.203"></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 NonceGenerator ng;<a name="line.205"></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> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> this.connection = connection;<a name="line.208"></a>
-<span class="sourceLineNo">209</span> this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> this.rpcTimeoutNs = connection.connConf.getRpcTimeoutNs();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.212"></a>
-<span class="sourceLineNo">213</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.213"></a>
-<span class="sourceLineNo">214</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<a name="line.214"></a>
-<span class="sourceLineNo">215</span> this.ng = connection.getNonceGenerator();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> return this.connection.callerFactory.<T> masterRequest()<a name="line.219"></a>
-<span class="sourceLineNo">220</span> .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startLogErrorsCnt(startLogErrorsCnt);<a name="line.223"></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">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> private final int startLogErrorsCnt;<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">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<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 = connection.connConf.getRpcTimeoutNs();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.219"></a>
+<span class="sourceLineNo">220</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.220"></a>
+<span class="sourceLineNo">221</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.221"></a>
+<span class="sourceLineNo">222</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<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 <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> adminRequest()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> 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> @FunctionalInterface<a name="line.234"></a>
-<span class="sourceLineNo">235</span> private interface MasterRpcCall<RESP, REQ> {<a name="line.235"></a>
-<span class="sourceLineNo">236</span> void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.236"></a>
-<span class="sourceLineNo">237</span> RpcCallback<RESP> done);<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> @FunctionalInterface<a name="line.240"></a>
-<span class="sourceLineNo">241</span> private interface AdminRpcCall<RESP, REQ> {<a name="line.241"></a>
-<span class="sourceLineNo">242</span> void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> RpcCallback<RESP> done);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span> @FunctionalInterface<a name="line.246"></a>
-<span class="sourceLineNo">247</span> private interface Converter<D, S> {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> D convert(S src) throws IOException;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.251"></a>
-<span class="sourceLineNo">252</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.252"></a>
-<span class="sourceLineNo">253</span> Converter<RESP, PRESP> respConverter) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.254"></a>
-<span class="sourceLineNo">255</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> @Override<a name="line.257"></a>
-<span class="sourceLineNo">258</span> public void run(PRESP resp) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span> if (controller.failed()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span> future.completeExceptionally(controller.getFailed());<a name="line.260"></a>
-<span class="sourceLineNo">261</span> } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> future.complete(respConverter.convert(resp));<a name="line.263"></a>
-<span class="sourceLineNo">264</span> } catch (IOException e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span> future.completeExceptionally(e);<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> }<a name="line.268"></a>
-<span class="sourceLineNo">269</span> });<a name="line.269"></a>
-<span class="sourceLineNo">270</span> return future;<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> //TODO abstract call and adminCall into a single method.<a name="line.273"></a>
-<span class="sourceLineNo">274</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.274"></a>
-<span class="sourceLineNo">275</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.275"></a>
-<span class="sourceLineNo">276</span> Converter<RESP, PRESP> respConverter) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.279"></a>
+<span class="sourceLineNo">234</span> private <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.connection.callerFactory.<T> 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<RESP, REQ> {<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<RESP> done);<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<RESP, REQ> {<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<RESP> 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<D, S> {<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 <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.259"></a>
+<span class="sourceLineNo">260</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.260"></a>
+<span class="sourceLineNo">261</span> Converter<RESP, PRESP> respConverter) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.262"></a>
+<span class="sourceLineNo">263</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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> @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span> public void run(PRESP resp) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span> if (controller.failed()) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.284"></a>
-<span class="sourceLineNo">285</span> } else {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> future.complete(respConverter.convert(resp));<a name="line.287"></a>
-<span class="sourceLineNo">288</span> } catch (IOException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span> future.completeExceptionally(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span> }<a name="line.290"></a>
-<span class="sourceLineNo">291</span> }<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> return future;<a name="line.294"></a>
-<span class="sourceLineNo">295</span> }<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.298"></a>
-<span class="sourceLineNo">299</span> ProcedureBiConsumer consumer) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> CompletableFuture<Long> procFuture = this<a name="line.300"></a>
-<span class="sourceLineNo">301</span> .<Long> newMasterCaller()<a name="line.301"></a>
-<span class="sourceLineNo">302</span> .action(<a name="line.302"></a>
-<span class="sourceLineNo">303</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> respConverter)).call();<a name="line.304"></a>
-<span class="sourceLineNo">305</span> return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> @FunctionalInterface<a name="line.308"></a>
-<span class="sourceLineNo">309</span> private interface TableOperator {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> CompletableFuture<Void> operate(TableName table);<a name="line.310"></a>
-<span class="sourceLineNo">311</span> }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.313"></a>
-<span class="sourceLineNo">314</span> TableOperator operator, String operationType) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.315"></a>
-<span class="sourceLineNo">316</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> listTables(pattern, false).whenComplete(<a name="line.317"></a>
-<span class="sourceLineNo">318</span> (tables, error) -> {<a name="line.318"></a>
-<span class="sourceLineNo">319</span> if (error != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> future.completeExceptionally(error);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> return;<a name="line.321"></a>
-<span class="sourceLineNo">322</span> }<a name="line.322"></a>
-<span class="sourceLineNo">323</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.323"></a>
-<span class="sourceLineNo">324</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<a name="line.324"></a>
-<span class="sourceLineNo">325</span> if (ex != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.326"></a>
-<span class="sourceLineNo">327</span> failed.add(table);<a name="line.327"></a>
-<span class="sourceLineNo">328</span> }<a name="line.328"></a>
-<span class="sourceLineNo">329</span> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<a name="line.331"></a>
-<span class="sourceLineNo">332</span> });<a name="line.332"></a>
-<span class="sourceLineNo">333</span> });<a name="line.333"></a>
-<span class="sourceLineNo">334</span> return future;<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 AsyncConnectionImpl getConnection() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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<TableDescriptor[]> listTables() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return listTables((Pattern) null, false);<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<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> return listTables(Pattern.compile(regex), false);<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<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return this<a name="line.359"></a>
-<span class="sourceLineNo">360</span> .<TableDescriptor[]>newMasterCaller()<a name="line.360"></a>
-<span class="sourceLineNo">361</span> .action(<a name="line.361"></a>
-<span class="sourceLineNo">362</span> (controller, stub) -> this<a name="line.362"></a>
-<span class="sourceLineNo">363</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.363"></a>
-<span class="sourceLineNo">364</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.365"></a>
-<span class="sourceLineNo">366</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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<TableName[]> listTableNames() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span> return listTableNames((Pattern) null, false);<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<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> return listTableNames(Pattern.compile(regex), false);<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<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span> .<TableName[]>newMasterCaller()<a name="line.382"></a>
-<span class="sourceLineNo">383</span> .action(<a name="line.383"></a>
-<span class="sourceLineNo">384</span> (controller, stub) -> this<a name="line.384"></a>
-<span class="sourceLineNo">385</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.385"></a>
-<span class="sourceLineNo">386</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.386"></a>
-<span class="sourceLineNo">387</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.387"></a>
-<span class="sourceLineNo">388</span> .getTableNameArray(resp.getTableNamesList()))).call();<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<TableDescriptor> getTableDescriptor(TableName tableName) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> CompletableFuture<TableDescriptor> future = new CompletableFuture<>();<a name="line.393"></a>
-<span class="sourceLineNo">394</span> this.<List<TableSchema>> newMasterCaller()<a name="line.394"></a>
-<span class="sourceLineNo">395</span> .action(<a name="line.395"></a>
-<span class="sourceLineNo">396</span> (controller, stub) -> this<a name="line.396"></a>
-<span class="sourceLineNo">397</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, List<TableSchema>> call(<a name="line.397"></a>
-<span class="sourceLineNo">398</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.398"></a>
-<span class="sourceLineNo">399</span> c, req, done) -> s.getTableDescriptors(c, req, done), (resp) -> resp<a name="line.399"></a>
-<span class="sourceLineNo">400</span> .getTableSchemaList())).call().whenComplete((tableSchemas, error) -> {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> if (error != null) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> future.completeExceptionally(error);<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> if (!tableSchemas.isEmpty()) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.406"></a>
-<span class="sourceLineNo">407</span> } else {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<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> return future;<a name="line.411"></a>
-<span class="sourceLineNo">412</span> }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> @Override<a name="line.414"></a>
-<span class="sourceLineNo">415</span> public CompletableFuture<Void> createTable(TableDescriptor desc) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return createTable(desc, null);<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> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.420"></a>
-<span class="sourceLineNo">421</span> int numRegions) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> try {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> return createTable(desc, getSplitKeys(startKey, endKey, numRegions));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> } catch (IllegalArgumentException e) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span> return failedFuture(e);<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><a name="line.428"></a>
-<span class="sourceLineNo">429</span> @Override<a name="line.429"></a>
-<span class="sourceLineNo">430</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span> if (desc.getTableName() == null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (splitKeys != null && splitKeys.length > 0) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);<a name="line.435"></a>
-<span class="sourceLineNo">436</span> // Verify there are no duplicate split keys<a name="line.436"></a>
-<span class="sourceLineNo">437</span> byte[] lastKey = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> for (byte[] splitKey : splitKeys) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> if (Bytes.compareTo(splitKey, HConstants.EMPTY_BYTE_ARRAY) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> return failedFuture(new IllegalArgumentException(<a name="line.440"></a>
-<span class="sourceLineNo">441</span> "Empty split key must not be passed in the split keys."));<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> if (lastKey != null && Bytes.equals(splitKey, lastKey)) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span> return failedFuture(new IllegalArgumentException("All split keys must be unique, "<a name="line.444"></a>
-<span class="sourceLineNo">445</span> + "found duplicate: " + Bytes.toStringBinary(splitKey) + ", "<a name="line.445"></a>
-<span class="sourceLineNo">446</span> + Bytes.toStringBinary(lastKey)));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> }<a name="line.447"></a>
-<span class="sourceLineNo">448</span> lastKey = splitKey;<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><a name="line.451"></a>
-<span class="sourceLineNo">452</span> return this.<CreateTableRequest, CreateTableResponse> procedureCall(<a name="line.452"></a>
-<span class="sourceLineNo">453</span> RequestConverter.buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()),<a name="line.453"></a>
-<span class="sourceLineNo">454</span> (s, c, req, done) -> s.createTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.454"></a>
-<span class="sourceLineNo">455</span> new CreateTableProcedureBiConsumer(this, desc.getTableName()));<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<Void> deleteTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return this.<DeleteTableRequest, DeleteTableResponse> procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span> .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span> (s, c, req, done) -> s.deleteTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span> new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
+<span class="sourceLineNo">281</span> //TODO abstract call and adminCall into a single method.<a name="line.281"></a>
+<span class="sourceLineNo">282</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.282"></a>
+<span class="sourceLineNo">283</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Converter<RESP, PRESP> respConverter) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.286"></a>
+<span class="sourceLineNo">287</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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 void run(PRESP resp) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (controller.failed()) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> try {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> future.complete(respConverter.convert(resp));<a name="line.295"></a>
+<span class="sourceLineNo">296</span> } catch (IOException e) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span> future.completeExceptionally(e);<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> });<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return future;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.305"></a>
+<span class="sourceLineNo">306</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.306"></a>
+<span class="sourceLineNo">307</span> ProcedureBiConsumer consumer) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> CompletableFuture<Long> procFuture = this<a name="line.308"></a>
+<span class="sourceLineNo">309</span> .<Long> newMasterCaller()<a name="line.309"></a>
+<span class="sourceLineNo">310</span> .action(<a name="line.310"></a>
+<span class="sourceLineNo">311</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.311"></a>
+<span class="sourceLineNo">312</span> respConverter)).call();<a name="line.312"></a>
+<span class="sourceLineNo">313</span> return waitProcedureResult(procFuture).whenComplete(consumer);<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> @FunctionalInterface<a name="line.316"></a>
+<span class="sourceLineNo">317</span> private interface TableOperator {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> CompletableFuture<Void> operate(TableName table);<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> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.321"></a>
+<span class="sourceLineNo">322</span> TableOperator operator, String operationType) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> listTables(pattern, false).whenComplete(<a name="line.325"></a>
+<span class="sourceLineNo">326</span> (tables, error) -> {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> if (error != null) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> future.completeExceptionally(error);<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return;<a name="line.329"></a>
+<span class="sourceLineNo">330</span> }<a name="line.330"></a>
+<span class="sourceLineNo">331</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.331"></a>
+<span class="sourceLineNo">332</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<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> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.337"></a>
+<span class="sourceLineNo">338</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.338"></a>
+<span class="sourceLineNo">339</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<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 AsyncConnectionImpl getConnection() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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> @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span> public CompletableFuture<TableDescriptor[]> listTables() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span> return listTables((Pattern) null, false);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span> public CompletableFuture<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return listTables(Pattern.compile(regex), false);<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> @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public CompletableFuture<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span> .<TableDescriptor[]>newMasterCaller()<a name="line.368"></a>
+<span class="sourceLineNo">369</span> .action(<a name="line.369"></a>
+<span class="sourceLineNo">370</span> (controller, stub) -> this<a name="line.370"></a>
+<span class="sourceLineNo">371</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.371"></a>
+<span class="sourceLineNo">372</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.372"></a>
+<span class="sourceLineNo">373</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.373"></a>
+<span class="sourceLineNo">374</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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> @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span> public CompletableFuture<TableName[]> listTableNames() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> return listTableNames((Pattern) null, false);<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> @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public CompletableFuture<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> return listTableNames(Pattern.compile(regex), false);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public CompletableFuture<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return this<a name="line.389"></a>
+<span class="sourceLineNo">390</span> .<TableName[]>newMasterCaller()<a name="line.390"></a>
+<span class="sourceLineNo">391</span> .action(<a name="line.391"></a>
+<span class="sourceLineNo">392</span> (controller, stub) -> this<a name="line.392"></a>
+<span class="sourceLineNo">393</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.393"></a>
+<span class="sourceLineNo">394</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.394"></a>
+<span class="sourceLineNo">395</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.395"></a>
+<span class="sourceLineNo">396</span> .getTableNameArray(resp.getTableNamesList()))).call();<a name="line.396"><
<TRUNCATED>
[18/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html
index 8750fa2..4fd4af0 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/client/AsyncHBaseAdmin.ModifyNamespaceProcedureBiConsumer.html
@@ -48,2133 +48,2409 @@
<span class="sourceLineNo">040</span><a name="line.40"></a>
<span class="sourceLineNo">041</span>import io.netty.util.Timeout;<a name="line.41"></a>
<span class="sourceLineNo">042</span>import io.netty.util.TimerTask;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.commons.logging.Log;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.commons.logging.LogFactory;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ServerName;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.HConstants;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameStringPair;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.ProcedureDescription;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableSchema;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureRequest;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AbortProcedureResponse;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnRequest;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AddColumnResponse;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionRequest;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.AssignRegionResponse;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceRequest;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.BalanceResponse;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceRequest;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateNamespaceResponse;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceRequest;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteNamespaceResponse;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotRequest;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteSnapshotResponse;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableRequest;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DisableTableResponse;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableRequest;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.EnableTableResponse;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnRequest;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteColumnResponse;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureRequest;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ExecProcedureResponse;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsRequest;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetCompletedSnapshotsResponse;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorRequest;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetNamespaceDescriptorResponse;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultRequest;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetProcedureResultResponse;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusRequest;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetSchemaAlterStatusResponse;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsRequest;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableDescriptorsResponse;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesRequest;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.GetTableNamesResponse;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableRequest;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.CreateTableResponse;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableRequest;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.DeleteTableResponse;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledRequest;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsBalancerEnabledResponse;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneRequest;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsProcedureDoneResponse;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneRequest;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.IsSnapshotDoneResponse;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsRequest;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListNamespaceDescriptorsResponse;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresRequest;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ListProceduresResponse;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MasterService;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MergeTableRegionsResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyColumnResponse;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceRequest;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.ModifyNamespaceResponse;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.MoveRegionResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.OfflineRegionResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.RestoreSnapshotResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetBalancerRunningResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SetQuotaResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.SnapshotResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableRequest;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.TruncateTableResponse;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionRequest;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MasterProtos.UnassignRegionResponse;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerRequest;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.AddReplicationPeerResponse;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerRequest;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.DisableReplicationPeerResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.EnableReplicationPeerResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigRequest;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.GetReplicationPeerConfigResponse;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.ListReplicationPeersResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.RemoveReplicationPeerResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigRequest;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ReplicationProtos.UpdateReplicationPeerConfigResponse;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.180"></a>
-<span class="sourceLineNo">181</span><a name="line.181"></a>
-<span class="sourceLineNo">182</span>/**<a name="line.182"></a>
-<span class="sourceLineNo">183</span> * The implementation of AsyncAdmin.<a name="line.183"></a>
-<span class="sourceLineNo">184</span> */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>@InterfaceAudience.Private<a name="line.185"></a>
-<span class="sourceLineNo">186</span>@InterfaceStability.Evolving<a name="line.186"></a>
-<span class="sourceLineNo">187</span>public class AsyncHBaseAdmin implements AsyncAdmin {<a name="line.187"></a>
+<span class="sourceLineNo">043</span>import org.apache.commons.io.IOUtils;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.commons.logging.Log;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.commons.logging.LogFactory;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.MetaTableAccessor;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.MetaTableAccessor.QueryType;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ProcedureInfo;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.RegionLocations;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ServerName;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.HConstants;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableExistsException;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.TableName;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.TableNotDisabledException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.TableNotFoundException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.UnknownRegionException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.AdminRequestCallerBuilder;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.AsyncRpcRetryingCallerFactory.MasterRequestCallerBuilder;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.Scan.ReadType;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.replication.ReplicationSerDeHelper;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.replication.TableCFs;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.exceptions.DeserializationException;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.quotas.QuotaFilter;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.quotas.QuotaSettings;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.quotas.QuotaTableUtil;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcCallback;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos;<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.snapshot.ClientSnapshotDescriptionUtils;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.snapshot.RestoreSnapshotException;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.snapshot.SnapshotCreationException;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.util.ForeignExceptionUtil;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.187"></a>
<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span> private static final Log LOG = LogFactory.getLog(AsyncHBaseAdmin.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span> private final AsyncConnectionImpl connection;<a name="line.191"></a>
-<span class="sourceLineNo">192</span><a name="line.192"></a>
-<span class="sourceLineNo">193</span> private final RawAsyncTable metaTable;<a name="line.193"></a>
-<span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span> private final long rpcTimeoutNs;<a name="line.195"></a>
+<span class="sourceLineNo">189</span>/**<a name="line.189"></a>
+<span class="sourceLineNo">190</span> * The implementation of AsyncAdmin.<a name="line.190"></a>
+<span class="sourceLineNo">191</span> */<a name="line.191"></a>
+<span class="sourceLineNo">192</span>@InterfaceAudience.Private<a name="line.192"></a>
+<span class="sourceLineNo">193</span>@InterfaceStability.Evolving<a name="line.193"></a>
+<span class="sourceLineNo">194</span>public class AsyncHBaseAdmin 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 final long operationTimeoutNs;<a name="line.197"></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 long pauseNs;<a name="line.199"></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 int maxAttempts;<a name="line.201"></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 int startLogErrorsCnt;<a name="line.203"></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 NonceGenerator ng;<a name="line.205"></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> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<a name="line.207"></a>
-<span class="sourceLineNo">208</span> this.connection = connection;<a name="line.208"></a>
-<span class="sourceLineNo">209</span> this.metaTable = connection.getRawTable(META_TABLE_NAME);<a name="line.209"></a>
-<span class="sourceLineNo">210</span> this.rpcTimeoutNs = connection.connConf.getRpcTimeoutNs();<a name="line.210"></a>
-<span class="sourceLineNo">211</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.211"></a>
-<span class="sourceLineNo">212</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.212"></a>
-<span class="sourceLineNo">213</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.213"></a>
-<span class="sourceLineNo">214</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<a name="line.214"></a>
-<span class="sourceLineNo">215</span> this.ng = connection.getNonceGenerator();<a name="line.215"></a>
-<span class="sourceLineNo">216</span> }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.218"></a>
-<span class="sourceLineNo">219</span> return this.connection.callerFactory.<T> masterRequest()<a name="line.219"></a>
-<span class="sourceLineNo">220</span> .rpcTimeout(rpcTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.220"></a>
-<span class="sourceLineNo">221</span> .operationTimeout(operationTimeoutNs, TimeUnit.NANOSECONDS)<a name="line.221"></a>
-<span class="sourceLineNo">222</span> .pause(pauseNs, TimeUnit.NANOSECONDS).maxAttempts(maxAttempts)<a name="line.222"></a>
-<span class="sourceLineNo">223</span> .startLogErrorsCnt(startLogErrorsCnt);<a name="line.223"></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">210</span><a name="line.210"></a>
+<span class="sourceLineNo">211</span> private final int startLogErrorsCnt;<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">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span> AsyncHBaseAdmin(AsyncConnectionImpl connection) {<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 = connection.connConf.getRpcTimeoutNs();<a name="line.218"></a>
+<span class="sourceLineNo">219</span> this.operationTimeoutNs = connection.connConf.getOperationTimeoutNs();<a name="line.219"></a>
+<span class="sourceLineNo">220</span> this.pauseNs = connection.connConf.getPauseNs();<a name="line.220"></a>
+<span class="sourceLineNo">221</span> this.maxAttempts = connection.connConf.getMaxRetries();<a name="line.221"></a>
+<span class="sourceLineNo">222</span> this.startLogErrorsCnt = connection.connConf.getStartLogErrorsCnt();<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 <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.226"></a>
-<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> adminRequest()<a name="line.227"></a>
+<span class="sourceLineNo">226</span> private <T> MasterRequestCallerBuilder<T> newMasterCaller() {<a name="line.226"></a>
+<span class="sourceLineNo">227</span> return this.connection.callerFactory.<T> 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> @FunctionalInterface<a name="line.234"></a>
-<span class="sourceLineNo">235</span> private interface MasterRpcCall<RESP, REQ> {<a name="line.235"></a>
-<span class="sourceLineNo">236</span> void call(MasterService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.236"></a>
-<span class="sourceLineNo">237</span> RpcCallback<RESP> done);<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> @FunctionalInterface<a name="line.240"></a>
-<span class="sourceLineNo">241</span> private interface AdminRpcCall<RESP, REQ> {<a name="line.241"></a>
-<span class="sourceLineNo">242</span> void call(AdminService.Interface stub, HBaseRpcController controller, REQ req,<a name="line.242"></a>
-<span class="sourceLineNo">243</span> RpcCallback<RESP> done);<a name="line.243"></a>
-<span class="sourceLineNo">244</span> }<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span> @FunctionalInterface<a name="line.246"></a>
-<span class="sourceLineNo">247</span> private interface Converter<D, S> {<a name="line.247"></a>
-<span class="sourceLineNo">248</span> D convert(S src) throws IOException;<a name="line.248"></a>
-<span class="sourceLineNo">249</span> }<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.251"></a>
-<span class="sourceLineNo">252</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.252"></a>
-<span class="sourceLineNo">253</span> Converter<RESP, PRESP> respConverter) {<a name="line.253"></a>
-<span class="sourceLineNo">254</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.254"></a>
-<span class="sourceLineNo">255</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.255"></a>
-<span class="sourceLineNo">256</span><a name="line.256"></a>
-<span class="sourceLineNo">257</span> @Override<a name="line.257"></a>
-<span class="sourceLineNo">258</span> public void run(PRESP resp) {<a name="line.258"></a>
-<span class="sourceLineNo">259</span> if (controller.failed()) {<a name="line.259"></a>
-<span class="sourceLineNo">260</span> future.completeExceptionally(controller.getFailed());<a name="line.260"></a>
-<span class="sourceLineNo">261</span> } else {<a name="line.261"></a>
-<span class="sourceLineNo">262</span> try {<a name="line.262"></a>
-<span class="sourceLineNo">263</span> future.complete(respConverter.convert(resp));<a name="line.263"></a>
-<span class="sourceLineNo">264</span> } catch (IOException e) {<a name="line.264"></a>
-<span class="sourceLineNo">265</span> future.completeExceptionally(e);<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> }<a name="line.268"></a>
-<span class="sourceLineNo">269</span> });<a name="line.269"></a>
-<span class="sourceLineNo">270</span> return future;<a name="line.270"></a>
-<span class="sourceLineNo">271</span> }<a name="line.271"></a>
-<span class="sourceLineNo">272</span><a name="line.272"></a>
-<span class="sourceLineNo">273</span> //TODO abstract call and adminCall into a single method.<a name="line.273"></a>
-<span class="sourceLineNo">274</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.274"></a>
-<span class="sourceLineNo">275</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.275"></a>
-<span class="sourceLineNo">276</span> Converter<RESP, PRESP> respConverter) {<a name="line.276"></a>
-<span class="sourceLineNo">277</span><a name="line.277"></a>
-<span class="sourceLineNo">278</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.278"></a>
-<span class="sourceLineNo">279</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<a name="line.279"></a>
+<span class="sourceLineNo">234</span> private <T> AdminRequestCallerBuilder<T> newAdminCaller() {<a name="line.234"></a>
+<span class="sourceLineNo">235</span> return this.connection.callerFactory.<T> 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<RESP, REQ> {<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<RESP> done);<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<RESP, REQ> {<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<RESP> 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<D, S> {<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 <PREQ, PRESP, RESP> CompletableFuture<RESP> call(HBaseRpcController controller,<a name="line.259"></a>
+<span class="sourceLineNo">260</span> MasterService.Interface stub, PREQ preq, MasterRpcCall<PRESP, PREQ> rpcCall,<a name="line.260"></a>
+<span class="sourceLineNo">261</span> Converter<RESP, PRESP> respConverter) {<a name="line.261"></a>
+<span class="sourceLineNo">262</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.262"></a>
+<span class="sourceLineNo">263</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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> @Override<a name="line.281"></a>
-<span class="sourceLineNo">282</span> public void run(PRESP resp) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span> if (controller.failed()) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.284"></a>
-<span class="sourceLineNo">285</span> } else {<a name="line.285"></a>
-<span class="sourceLineNo">286</span> try {<a name="line.286"></a>
-<span class="sourceLineNo">287</span> future.complete(respConverter.convert(resp));<a name="line.287"></a>
-<span class="sourceLineNo">288</span> } catch (IOException e) {<a name="line.288"></a>
-<span class="sourceLineNo">289</span> future.completeExceptionally(e);<a name="line.289"></a>
-<span class="sourceLineNo">290</span> }<a name="line.290"></a>
-<span class="sourceLineNo">291</span> }<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> return future;<a name="line.294"></a>
-<span class="sourceLineNo">295</span> }<a name="line.295"></a>
-<span class="sourceLineNo">296</span><a name="line.296"></a>
-<span class="sourceLineNo">297</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.297"></a>
-<span class="sourceLineNo">298</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.298"></a>
-<span class="sourceLineNo">299</span> ProcedureBiConsumer consumer) {<a name="line.299"></a>
-<span class="sourceLineNo">300</span> CompletableFuture<Long> procFuture = this<a name="line.300"></a>
-<span class="sourceLineNo">301</span> .<Long> newMasterCaller()<a name="line.301"></a>
-<span class="sourceLineNo">302</span> .action(<a name="line.302"></a>
-<span class="sourceLineNo">303</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.303"></a>
-<span class="sourceLineNo">304</span> respConverter)).call();<a name="line.304"></a>
-<span class="sourceLineNo">305</span> return waitProcedureResult(procFuture).whenComplete(consumer);<a name="line.305"></a>
-<span class="sourceLineNo">306</span> }<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span> @FunctionalInterface<a name="line.308"></a>
-<span class="sourceLineNo">309</span> private interface TableOperator {<a name="line.309"></a>
-<span class="sourceLineNo">310</span> CompletableFuture<Void> operate(TableName table);<a name="line.310"></a>
-<span class="sourceLineNo">311</span> }<a name="line.311"></a>
-<span class="sourceLineNo">312</span><a name="line.312"></a>
-<span class="sourceLineNo">313</span> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.313"></a>
-<span class="sourceLineNo">314</span> TableOperator operator, String operationType) {<a name="line.314"></a>
-<span class="sourceLineNo">315</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.315"></a>
-<span class="sourceLineNo">316</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.316"></a>
-<span class="sourceLineNo">317</span> listTables(pattern, false).whenComplete(<a name="line.317"></a>
-<span class="sourceLineNo">318</span> (tables, error) -> {<a name="line.318"></a>
-<span class="sourceLineNo">319</span> if (error != null) {<a name="line.319"></a>
-<span class="sourceLineNo">320</span> future.completeExceptionally(error);<a name="line.320"></a>
-<span class="sourceLineNo">321</span> return;<a name="line.321"></a>
-<span class="sourceLineNo">322</span> }<a name="line.322"></a>
-<span class="sourceLineNo">323</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.323"></a>
-<span class="sourceLineNo">324</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<a name="line.324"></a>
-<span class="sourceLineNo">325</span> if (ex != null) {<a name="line.325"></a>
-<span class="sourceLineNo">326</span> LOG.info("Failed to " + operationType + " table " + table.getTableName(), ex);<a name="line.326"></a>
-<span class="sourceLineNo">327</span> failed.add(table);<a name="line.327"></a>
-<span class="sourceLineNo">328</span> }<a name="line.328"></a>
-<span class="sourceLineNo">329</span> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.329"></a>
-<span class="sourceLineNo">330</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.330"></a>
-<span class="sourceLineNo">331</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<a name="line.331"></a>
-<span class="sourceLineNo">332</span> });<a name="line.332"></a>
-<span class="sourceLineNo">333</span> });<a name="line.333"></a>
-<span class="sourceLineNo">334</span> return future;<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 AsyncConnectionImpl getConnection() {<a name="line.338"></a>
-<span class="sourceLineNo">339</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.343"></a>
-<span class="sourceLineNo">344</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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<TableDescriptor[]> listTables() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span> return listTables((Pattern) null, false);<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<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span> return listTables(Pattern.compile(regex), false);<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<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.358"></a>
-<span class="sourceLineNo">359</span> return this<a name="line.359"></a>
-<span class="sourceLineNo">360</span> .<TableDescriptor[]>newMasterCaller()<a name="line.360"></a>
-<span class="sourceLineNo">361</span> .action(<a name="line.361"></a>
-<span class="sourceLineNo">362</span> (controller, stub) -> this<a name="line.362"></a>
-<span class="sourceLineNo">363</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.363"></a>
-<span class="sourceLineNo">364</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.364"></a>
-<span class="sourceLineNo">365</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.365"></a>
-<span class="sourceLineNo">366</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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<TableName[]> listTableNames() {<a name="line.370"></a>
-<span class="sourceLineNo">371</span> return listTableNames((Pattern) null, false);<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<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span> return listTableNames(Pattern.compile(regex), false);<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<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.380"></a>
-<span class="sourceLineNo">381</span> return this<a name="line.381"></a>
-<span class="sourceLineNo">382</span> .<TableName[]>newMasterCaller()<a name="line.382"></a>
-<span class="sourceLineNo">383</span> .action(<a name="line.383"></a>
-<span class="sourceLineNo">384</span> (controller, stub) -> this<a name="line.384"></a>
-<span class="sourceLineNo">385</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.385"></a>
-<span class="sourceLineNo">386</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.386"></a>
-<span class="sourceLineNo">387</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.387"></a>
-<span class="sourceLineNo">388</span> .getTableNameArray(resp.getTableNamesList()))).call();<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<TableDescriptor> getTableDescriptor(TableName tableName) {<a name="line.392"></a>
-<span class="sourceLineNo">393</span> CompletableFuture<TableDescriptor> future = new CompletableFuture<>();<a name="line.393"></a>
-<span class="sourceLineNo">394</span> this.<List<TableSchema>> newMasterCaller()<a name="line.394"></a>
-<span class="sourceLineNo">395</span> .action(<a name="line.395"></a>
-<span class="sourceLineNo">396</span> (controller, stub) -> this<a name="line.396"></a>
-<span class="sourceLineNo">397</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, List<TableSchema>> call(<a name="line.397"></a>
-<span class="sourceLineNo">398</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(tableName), (s,<a name="line.398"></a>
-<span class="sourceLineNo">399</span> c, req, done) -> s.getTableDescriptors(c, req, done), (resp) -> resp<a name="line.399"></a>
-<span class="sourceLineNo">400</span> .getTableSchemaList())).call().whenComplete((tableSchemas, error) -> {<a name="line.400"></a>
-<span class="sourceLineNo">401</span> if (error != null) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span> future.completeExceptionally(error);<a name="line.402"></a>
-<span class="sourceLineNo">403</span> return;<a name="line.403"></a>
-<span class="sourceLineNo">404</span> }<a name="line.404"></a>
-<span class="sourceLineNo">405</span> if (!tableSchemas.isEmpty()) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span> future.complete(ProtobufUtil.convertToTableDesc(tableSchemas.get(0)));<a name="line.406"></a>
-<span class="sourceLineNo">407</span> } else {<a name="line.407"></a>
-<span class="sourceLineNo">408</span> future.completeExceptionally(new TableNotFoundException(tableName.getNameAsString()));<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> return future;<a name="line.411"></a>
-<span class="sourceLineNo">412</span> }<a name="line.412"></a>
-<span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span> @Override<a name="line.414"></a>
-<span class="sourceLineNo">415</span> public CompletableFuture<Void> createTable(TableDescriptor desc) {<a name="line.415"></a>
-<span class="sourceLineNo">416</span> return createTable(desc, null);<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> @Override<a name="line.419"></a>
-<span class="sourceLineNo">420</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[] startKey, byte[] endKey,<a name="line.420"></a>
-<span class="sourceLineNo">421</span> int numRegions) {<a name="line.421"></a>
-<span class="sourceLineNo">422</span> try {<a name="line.422"></a>
-<span class="sourceLineNo">423</span> return createTable(desc, getSplitKeys(startKey, endKey, numRegions));<a name="line.423"></a>
-<span class="sourceLineNo">424</span> } catch (IllegalArgumentException e) {<a name="line.424"></a>
-<span class="sourceLineNo">425</span> return failedFuture(e);<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><a name="line.428"></a>
-<span class="sourceLineNo">429</span> @Override<a name="line.429"></a>
-<span class="sourceLineNo">430</span> public CompletableFuture<Void> createTable(TableDescriptor desc, byte[][] splitKeys) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span> if (desc.getTableName() == null) {<a name="line.431"></a>
-<span class="sourceLineNo">432</span> return failedFuture(new IllegalArgumentException("TableName cannot be null"));<a name="line.432"></a>
-<span class="sourceLineNo">433</span> }<a name="line.433"></a>
-<span class="sourceLineNo">434</span> if (splitKeys != null && splitKeys.length > 0) {<a name="line.434"></a>
-<span class="sourceLineNo">435</span> Arrays.sort(splitKeys, Bytes.BYTES_COMPARATOR);<a name="line.435"></a>
-<span class="sourceLineNo">436</span> // Verify there are no duplicate split keys<a name="line.436"></a>
-<span class="sourceLineNo">437</span> byte[] lastKey = null;<a name="line.437"></a>
-<span class="sourceLineNo">438</span> for (byte[] splitKey : splitKeys) {<a name="line.438"></a>
-<span class="sourceLineNo">439</span> if (Bytes.compareTo(splitKey, HConstants.EMPTY_BYTE_ARRAY) == 0) {<a name="line.439"></a>
-<span class="sourceLineNo">440</span> return failedFuture(new IllegalArgumentException(<a name="line.440"></a>
-<span class="sourceLineNo">441</span> "Empty split key must not be passed in the split keys."));<a name="line.441"></a>
-<span class="sourceLineNo">442</span> }<a name="line.442"></a>
-<span class="sourceLineNo">443</span> if (lastKey != null && Bytes.equals(splitKey, lastKey)) {<a name="line.443"></a>
-<span class="sourceLineNo">444</span> return failedFuture(new IllegalArgumentException("All split keys must be unique, "<a name="line.444"></a>
-<span class="sourceLineNo">445</span> + "found duplicate: " + Bytes.toStringBinary(splitKey) + ", "<a name="line.445"></a>
-<span class="sourceLineNo">446</span> + Bytes.toStringBinary(lastKey)));<a name="line.446"></a>
-<span class="sourceLineNo">447</span> }<a name="line.447"></a>
-<span class="sourceLineNo">448</span> lastKey = splitKey;<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><a name="line.451"></a>
-<span class="sourceLineNo">452</span> return this.<CreateTableRequest, CreateTableResponse> procedureCall(<a name="line.452"></a>
-<span class="sourceLineNo">453</span> RequestConverter.buildCreateTableRequest(desc, splitKeys, ng.getNonceGroup(), ng.newNonce()),<a name="line.453"></a>
-<span class="sourceLineNo">454</span> (s, c, req, done) -> s.createTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.454"></a>
-<span class="sourceLineNo">455</span> new CreateTableProcedureBiConsumer(this, desc.getTableName()));<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<Void> deleteTable(TableName tableName) {<a name="line.459"></a>
-<span class="sourceLineNo">460</span> return this.<DeleteTableRequest, DeleteTableResponse> procedureCall(RequestConverter<a name="line.460"></a>
-<span class="sourceLineNo">461</span> .buildDeleteTableRequest(tableName, ng.getNonceGroup(), ng.newNonce()),<a name="line.461"></a>
-<span class="sourceLineNo">462</span> (s, c, req, done) -> s.deleteTable(c, req, done), (resp) -> resp.getProcId(),<a name="line.462"></a>
-<span class="sourceLineNo">463</span> new DeleteTableProcedureBiConsumer(this, tableName));<a name="line.463"></a>
+<span class="sourceLineNo">281</span> //TODO abstract call and adminCall into a single method.<a name="line.281"></a>
+<span class="sourceLineNo">282</span> private <PREQ, PRESP, RESP> CompletableFuture<RESP> adminCall(HBaseRpcController controller,<a name="line.282"></a>
+<span class="sourceLineNo">283</span> AdminService.Interface stub, PREQ preq, AdminRpcCall<PRESP, PREQ> rpcCall,<a name="line.283"></a>
+<span class="sourceLineNo">284</span> Converter<RESP, PRESP> respConverter) {<a name="line.284"></a>
+<span class="sourceLineNo">285</span><a name="line.285"></a>
+<span class="sourceLineNo">286</span> CompletableFuture<RESP> future = new CompletableFuture<>();<a name="line.286"></a>
+<span class="sourceLineNo">287</span> rpcCall.call(stub, controller, preq, new RpcCallback<PRESP>() {<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 void run(PRESP resp) {<a name="line.290"></a>
+<span class="sourceLineNo">291</span> if (controller.failed()) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span> future.completeExceptionally(new IOException(controller.errorText()));<a name="line.292"></a>
+<span class="sourceLineNo">293</span> } else {<a name="line.293"></a>
+<span class="sourceLineNo">294</span> try {<a name="line.294"></a>
+<span class="sourceLineNo">295</span> future.complete(respConverter.convert(resp));<a name="line.295"></a>
+<span class="sourceLineNo">296</span> } catch (IOException e) {<a name="line.296"></a>
+<span class="sourceLineNo">297</span> future.completeExceptionally(e);<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> });<a name="line.301"></a>
+<span class="sourceLineNo">302</span> return future;<a name="line.302"></a>
+<span class="sourceLineNo">303</span> }<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span> private <PREQ, PRESP> CompletableFuture<Void> procedureCall(PREQ preq,<a name="line.305"></a>
+<span class="sourceLineNo">306</span> MasterRpcCall<PRESP, PREQ> rpcCall, Converter<Long, PRESP> respConverter,<a name="line.306"></a>
+<span class="sourceLineNo">307</span> ProcedureBiConsumer consumer) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span> CompletableFuture<Long> procFuture = this<a name="line.308"></a>
+<span class="sourceLineNo">309</span> .<Long> newMasterCaller()<a name="line.309"></a>
+<span class="sourceLineNo">310</span> .action(<a name="line.310"></a>
+<span class="sourceLineNo">311</span> (controller, stub) -> this.<PREQ, PRESP, Long> call(controller, stub, preq, rpcCall,<a name="line.311"></a>
+<span class="sourceLineNo">312</span> respConverter)).call();<a name="line.312"></a>
+<span class="sourceLineNo">313</span> return waitProcedureResult(procFuture).whenComplete(consumer);<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> @FunctionalInterface<a name="line.316"></a>
+<span class="sourceLineNo">317</span> private interface TableOperator {<a name="line.317"></a>
+<span class="sourceLineNo">318</span> CompletableFuture<Void> operate(TableName table);<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> private CompletableFuture<TableDescriptor[]> batchTableOperations(Pattern pattern,<a name="line.321"></a>
+<span class="sourceLineNo">322</span> TableOperator operator, String operationType) {<a name="line.322"></a>
+<span class="sourceLineNo">323</span> CompletableFuture<TableDescriptor[]> future = new CompletableFuture<>();<a name="line.323"></a>
+<span class="sourceLineNo">324</span> List<TableDescriptor> failed = new LinkedList<>();<a name="line.324"></a>
+<span class="sourceLineNo">325</span> listTables(pattern, false).whenComplete(<a name="line.325"></a>
+<span class="sourceLineNo">326</span> (tables, error) -> {<a name="line.326"></a>
+<span class="sourceLineNo">327</span> if (error != null) {<a name="line.327"></a>
+<span class="sourceLineNo">328</span> future.completeExceptionally(error);<a name="line.328"></a>
+<span class="sourceLineNo">329</span> return;<a name="line.329"></a>
+<span class="sourceLineNo">330</span> }<a name="line.330"></a>
+<span class="sourceLineNo">331</span> CompletableFuture[] futures = Arrays.stream(tables)<a name="line.331"></a>
+<span class="sourceLineNo">332</span> .map((table) -> operator.operate(table.getTableName()).whenComplete((v, ex) -> {<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> })).<CompletableFuture> toArray(size -> new CompletableFuture[size]);<a name="line.337"></a>
+<span class="sourceLineNo">338</span> CompletableFuture.allOf(futures).thenAccept((v) -> {<a name="line.338"></a>
+<span class="sourceLineNo">339</span> future.complete(failed.toArray(new TableDescriptor[failed.size()]));<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 AsyncConnectionImpl getConnection() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span> return this.connection;<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<Boolean> tableExists(TableName tableName) {<a name="line.351"></a>
+<span class="sourceLineNo">352</span> return AsyncMetaTableAccessor.tableExists(metaTable, tableName);<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> @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span> public CompletableFuture<TableDescriptor[]> listTables() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span> return listTables((Pattern) null, false);<a name="line.357"></a>
+<span class="sourceLineNo">358</span> }<a name="line.358"></a>
+<span class="sourceLineNo">359</span><a name="line.359"></a>
+<span class="sourceLineNo">360</span> @Override<a name="line.360"></a>
+<span class="sourceLineNo">361</span> public CompletableFuture<TableDescriptor[]> listTables(String regex, boolean includeSysTables) {<a name="line.361"></a>
+<span class="sourceLineNo">362</span> return listTables(Pattern.compile(regex), false);<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> @Override<a name="line.365"></a>
+<span class="sourceLineNo">366</span> public CompletableFuture<TableDescriptor[]> listTables(Pattern pattern, boolean includeSysTables) {<a name="line.366"></a>
+<span class="sourceLineNo">367</span> return this<a name="line.367"></a>
+<span class="sourceLineNo">368</span> .<TableDescriptor[]>newMasterCaller()<a name="line.368"></a>
+<span class="sourceLineNo">369</span> .action(<a name="line.369"></a>
+<span class="sourceLineNo">370</span> (controller, stub) -> this<a name="line.370"></a>
+<span class="sourceLineNo">371</span> .<GetTableDescriptorsRequest, GetTableDescriptorsResponse, TableDescriptor[]> call(<a name="line.371"></a>
+<span class="sourceLineNo">372</span> controller, stub, RequestConverter.buildGetTableDescriptorsRequest(pattern,<a name="line.372"></a>
+<span class="sourceLineNo">373</span> includeSysTables), (s, c, req, done) -> s.getTableDescriptors(c, req, done), (<a name="line.373"></a>
+<span class="sourceLineNo">374</span> resp) -> ProtobufUtil.getTableDescriptorArray(resp))).call();<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> @Override<a name="line.377"></a>
+<span class="sourceLineNo">378</span> public CompletableFuture<TableName[]> listTableNames() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span> return listTableNames((Pattern) null, false);<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> @Override<a name="line.382"></a>
+<span class="sourceLineNo">383</span> public CompletableFuture<TableName[]> listTableNames(String regex, boolean includeSysTables) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span> return listTableNames(Pattern.compile(regex), false);<a name="line.384"></a>
+<span class="sourceLineNo">385</span> }<a name="line.385"></a>
+<span class="sourceLineNo">386</span><a name="line.386"></a>
+<span class="sourceLineNo">387</span> @Override<a name="line.387"></a>
+<span class="sourceLineNo">388</span> public CompletableFuture<TableName[]> listTableNames(Pattern pattern, boolean includeSysTables) {<a name="line.388"></a>
+<span class="sourceLineNo">389</span> return this<a name="line.389"></a>
+<span class="sourceLineNo">390</span> .<TableName[]>newMasterCaller()<a name="line.390"></a>
+<span class="sourceLineNo">391</span> .action(<a name="line.391"></a>
+<span class="sourceLineNo">392</span> (controller, stub) -> this<a name="line.392"></a>
+<span class="sourceLineNo">393</span> .<GetTableNamesRequest, GetTableNamesResponse, TableName[]> call(controller, stub,<a name="line.393"></a>
+<span class="sourceLineNo">394</span> RequestConverter.buildGetTableNamesRequest(pattern, includeSysTables), (s, c, req,<a name="line.394"></a>
+<span class="sourceLineNo">395</span> done) -> s.getTableNames(c, req, done), (resp) -> ProtobufUtil<a name="line.395"></a>
+<span class="sourceLineNo">396</span> .getTableNameArray(resp.getTableNamesList()))).call();
<TRUNCATED>
[41/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/checkstyle.rss
----------------------------------------------------------------------
diff --git a/checkstyle.rss b/checkstyle.rss
index 134bf3c..bee356a 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -26,7 +26,7 @@ under the License.
<copyright>©2007 - 2017 The Apache Software Foundation</copyright>
<item>
<title>File: 2156,
- Errors: 14355,
+ Errors: 14356,
Warnings: 0,
Infos: 0
</title>
@@ -10037,7 +10037,7 @@ under the License.
0
</td>
<td>
- 33
+ 34
</td>
</tr>
<tr>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index f9af06b..e4e3489 100644
--- a/coc.html
+++ b/coc.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase –
Code of Conduct Policy
@@ -380,7 +380,7 @@ email to <a class="externalLink" href="mailto:private@hbase.apache.org">the priv
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/cygwin.html
----------------------------------------------------------------------
diff --git a/cygwin.html b/cygwin.html
index e08b70d..aa4784c 100644
--- a/cygwin.html
+++ b/cygwin.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Installing Apache HBase (TM) on Windows using Cygwin</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -679,7 +679,7 @@ Now your <b>HBase </b>server is running, <b>start coding</b> and build that next
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index 14b7415..e5bd4aa 100644
--- a/dependencies.html
+++ b/dependencies.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Dependencies</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -524,7 +524,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index dc7c5da..9d7713a 100644
--- a/dependency-convergence.html
+++ b/dependency-convergence.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Reactor Dependency Convergence</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -1849,7 +1849,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index 1c789a1..52f46c6 100644
--- a/dependency-info.html
+++ b/dependency-info.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Dependency Information</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -318,7 +318,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index 638ee63..0445f76 100644
--- a/dependency-management.html
+++ b/dependency-management.html
@@ -7,7 +7,7 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
- <meta name="Date-Revision-yyyymmdd" content="20170504" />
+ <meta name="Date-Revision-yyyymmdd" content="20170505" />
<meta http-equiv="Content-Language" content="en" />
<title>Apache HBase – Project Dependency Management</title>
<link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -894,7 +894,7 @@
<a href="https://www.apache.org/">The Apache Software Foundation</a>.
All rights reserved.
- <li id="publishDate" class="pull-right">Last Published: 2017-05-04</li>
+ <li id="publishDate" class="pull-right">Last Published: 2017-05-05</li>
</p>
</div>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index 34da0bf..77f0af8 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -3801,21 +3801,21 @@
<!-- -->
</a><code>public static final <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>"Thu May 4 14:39:02 UTC 2017"</code></td>
+<td class="colLast"><code>"Fri May 5 14:38:49 UTC 2017"</code></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
<!-- -->
</a><code>public static final <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>"2de6b051f67b6a55eda8d4e247328fda24484adb"</code></td>
+<td class="colLast"><code>"2026540ea347e9359e6ac8cf8b3701cd3872a515"</code></td>
</tr>
<tr class="altColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.Version.srcChecksum">
<!-- -->
</a><code>public static final <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>"f7cfe544cca51d154aee357b8d8e159d"</code></td>
+<td class="colLast"><code>"54f389bd1b972e2318608b4907b1209d"</code></td>
</tr>
<tr class="rowColor">
<td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">
@@ -4820,6 +4820,25 @@
</li>
<li class="blockList">
<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
+<caption><span>org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html" title="class in org.apache.hadoop.hbase.client">AsyncHBaseAdmin</a></span><span class="tabEnd"> </span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th scope="col">Constant Field</th>
+<th class="colLast" scope="col">Value</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a name="org.apache.hadoop.hbase.client.AsyncHBaseAdmin.FLUSH_TABLE_PROCEDURE_SIGNATURE">
+<!-- -->
+</a><code>public static final <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/client/AsyncHBaseAdmin.html#FLUSH_TABLE_PROCEDURE_SIGNATURE">FLUSH_TABLE_PROCEDURE_SIGNATURE</a></code></td>
+<td class="colLast"><code>"flush-table-proc"</code></td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<table class="constantsSummary" border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
<caption><span>org.apache.hadoop.hbase.client.org.apache.hadoop.hbase.client.AsyncNonMetaRegionLocator</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index 4b7cd3e..8417df7 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -13263,6 +13263,26 @@
<dd>
<div class="block">Compact a column family within a table.</div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#compact-org.apache.hadoop.hbase.TableName-">compact(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">Compact a table.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#compact-org.apache.hadoop.hbase.TableName-byte:A-">compact(TableName, 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">Compact a column family within a table.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compact-org.apache.hadoop.hbase.TableName-">compact(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> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compact-org.apache.hadoop.hbase.TableName-byte:A-">compact(TableName, 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> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compact-org.apache.hadoop.hbase.TableName-byte:A-boolean-org.apache.hadoop.hbase.client.CompactType-">compact(TableName, byte[], boolean, CompactType)</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>
+<div class="block">Compact column family of a table, Asynchronous operation even if CompletableFuture.get()</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compact-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.HRegionInfo-boolean-byte:A-">compact(ServerName, HRegionInfo, boolean, 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>
+<div class="block">Compact the region at specific region server.</div>
+</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#compact-org.apache.hadoop.hbase.TableName-">compact(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>
<div class="block">Compact a table.</div>
@@ -13737,6 +13757,20 @@
<dd>
<div class="block">Compact a column family within a region.</div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#compactRegion-byte:A-">compactRegion(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">Compact an individual region.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#compactRegion-byte:A-byte:A-">compactRegion(byte[], 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">Compact a column family within a region.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compactRegion-byte:A-">compactRegion(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> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compactRegion-byte:A-byte:A-">compactRegion(byte[], 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> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compactRegion-byte:A-byte:A-boolean-">compactRegion(byte[], byte[], boolean)</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> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#compactRegion-byte:A-">compactRegion(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> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#compactRegion-byte:A-byte:A-">compactRegion(byte[], 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>
@@ -13761,6 +13795,14 @@
<dd>
<div class="block">Compact all regions on the region server</div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#compactRegionServer-org.apache.hadoop.hbase.ServerName-">compactRegionServer(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">Compact all regions on the region server.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compactRegionServer-org.apache.hadoop.hbase.ServerName-">compactRegionServer(ServerName)</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> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compactRegionServer-org.apache.hadoop.hbase.ServerName-boolean-">compactRegionServer(ServerName, boolean)</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> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#compactRegionServer-org.apache.hadoop.hbase.ServerName-boolean-">compactRegionServer(ServerName, boolean)</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">Compact all regions on the region server</div>
@@ -29475,6 +29517,12 @@
<dd>
<div class="block">Flush a table.</div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#flush-org.apache.hadoop.hbase.TableName-">flush(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">Flush a table.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#flush-org.apache.hadoop.hbase.TableName-">flush(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> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/BufferedMutator.html#flush--">flush()</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/BufferedMutator.html" title="interface in org.apache.hadoop.hbase.client">BufferedMutator</a></dt>
<dd>
<div class="block">Executes all the buffered, asynchronous <a href="org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client"><code>Mutation</code></a> operations and waits until they
@@ -29570,6 +29618,8 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure/flush/RegionServerFlushTableProcedureManager.html#FLUSH_REQUEST_WAKE_MILLIS_KEY">FLUSH_REQUEST_WAKE_MILLIS_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.procedure.flush.<a href="org/apache/hadoop/hbase/procedure/flush/RegionServerFlushTableProcedureManager.html" title="class in org.apache.hadoop.hbase.procedure.flush">RegionServerFlushTableProcedureManager</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#FLUSH_TABLE_PROCEDURE_SIGNATURE">FLUSH_TABLE_PROCEDURE_SIGNATURE</a></span> - Static variable 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> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure/flush/MasterFlushTableProcedureManager.html#FLUSH_TABLE_PROCEDURE_SIGNATURE">FLUSH_TABLE_PROCEDURE_SIGNATURE</a></span> - Static variable in class org.apache.hadoop.hbase.procedure.flush.<a href="org/apache/hadoop/hbase/procedure/flush/MasterFlushTableProcedureManager.html" title="class in org.apache.hadoop.hbase.procedure.flush">MasterFlushTableProcedureManager</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html#FLUSH_TIME">FLUSH_TIME</a></span> - Static variable in interface org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MetricsRegionServerSource.html" title="interface in org.apache.hadoop.hbase.regionserver">MetricsRegionServerSource</a></dt>
@@ -29754,6 +29804,12 @@
<dd>
<div class="block">Flush an individual region.</div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#flushRegion-byte:A-">flushRegion(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">Flush an individual region.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#flushRegion-byte:A-">flushRegion(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> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#flushRegion-byte:A-">flushRegion(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> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/MemStoreFlusher.html#flushRegion-org.apache.hadoop.hbase.regionserver.MemStoreFlusher.FlushRegionEntry-">flushRegion(MemStoreFlusher.FlushRegionEntry)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/MemStoreFlusher.html" title="class in org.apache.hadoop.hbase.regionserver">MemStoreFlusher</a></dt>
@@ -40550,6 +40606,12 @@
<dd>
<div class="block">Get all the online regions on a region server.</div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#getOnlineRegions-org.apache.hadoop.hbase.ServerName-">getOnlineRegions(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 all the online regions on a region server.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getOnlineRegions-org.apache.hadoop.hbase.ServerName-">getOnlineRegions(ServerName)</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> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#getOnlineRegions-org.apache.hadoop.hbase.ServerName-">getOnlineRegions(ServerName)</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> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html#getOnlineRegions-org.apache.hadoop.hbase.TableName-">getOnlineRegions(TableName)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></dt>
@@ -46430,6 +46492,10 @@
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/quotas/QuotaTableUtil.html#getTableFromRowKey-byte:A-">getTableFromRowKey(byte[])</a></span> - Static method in class org.apache.hadoop.hbase.quotas.<a href="org/apache/hadoop/hbase/quotas/QuotaTableUtil.html" title="class in org.apache.hadoop.hbase.quotas">QuotaTableUtil</a></dt>
<dd> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getTableHRegionLocations-org.apache.hadoop.hbase.TableName-">getTableHRegionLocations(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>
+<div class="block">List all region locations for the specific table.</div>
+</dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.html#getTableInfo--">getTableInfo()</a></span> - Method in interface org.apache.hadoop.hbase.util.hbck.<a href="org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandler.html" title="interface in org.apache.hadoop.hbase.util.hbck">TableIntegrityErrorHandler</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.html#getTableInfo--">getTableInfo()</a></span> - Method in class org.apache.hadoop.hbase.util.hbck.<a href="org/apache/hadoop/hbase/util/hbck/TableIntegrityErrorHandlerImpl.html" title="class in org.apache.hadoop.hbase.util.hbck">TableIntegrityErrorHandlerImpl</a></dt>
@@ -64020,6 +64086,18 @@
<dd>
<div class="block">Major compact a column family within a table.</div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-">majorCompact(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">Major compact a table.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-byte:A-">majorCompact(TableName, 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">Major compact a column family within a table.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-">majorCompact(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> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-byte:A-">majorCompact(TableName, 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> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-">majorCompact(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> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#majorCompact-org.apache.hadoop.hbase.TableName-byte:A-">majorCompact(TableName, 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>
@@ -64080,10 +64158,28 @@
<dd>
<div class="block">Major compact a column family within region.</div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompactRegion-byte:A-">majorCompactRegion(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">Major compact a table or an individual region.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompactRegion-byte:A-byte:A-">majorCompactRegion(byte[], 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">Major compact a column family within region.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#majorCompactRegion-byte:A-">majorCompactRegion(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> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#majorCompactRegion-byte:A-byte:A-">majorCompactRegion(byte[], 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> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#majorCompactRegion-byte:A-">majorCompactRegion(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> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.html#majorCompactRegion-byte:A-byte:A-">majorCompactRegion(byte[], 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> </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncAdmin.html#majorCompactRegionServer-org.apache.hadoop.hbase.ServerName-">majorCompactRegionServer(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">Compact all regions on the region server.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#majorCompactRegionServer-org.apache.hadoop.hbase.ServerName-">majorCompactRegionServer(ServerName)</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> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/HRegion.html#majorInProgress">majorInProgress</a></span> - Variable 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> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/StripeMultiFileWriter.BoundaryMultiWriter.html#majorRangeFromIndex">majorRangeFromIndex</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/StripeMultiFileWriter.BoundaryMultiWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StripeMultiFileWriter.BoundaryMultiWriter</a></dt>
@@ -103810,6 +103906,8 @@ service.</div>
<div class="block">This lock ties all operations on <a href="org/apache/hadoop/hbase/regionserver/wal/SequenceIdAccounting.html#flushingSequenceIds"><code>SequenceIdAccounting.flushingSequenceIds</code></a> and
<a href="org/apache/hadoop/hbase/regionserver/wal/SequenceIdAccounting.html#lowestUnflushedSequenceIds"><code>SequenceIdAccounting.lowestUnflushedSequenceIds</code></a> Maps.</div>
</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html#time">time</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/CompactSplitThread.CompactionRunner.html" title="class in org.apache.hadoop.hbase.regionserver">CompactSplitThread.CompactionRunner</a></dt>
+<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/ScannerContext.LimitFields.html#time">time</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/ScannerContext.LimitFields.html" title="class in org.apache.hadoop.hbase.regionserver">ScannerContext.LimitFields</a></dt>
<dd> </dd>
<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/thrift/MetricsThriftServerSource.html#TIME_IN_QUEUE_KEY">TIME_IN_QUEUE_KEY</a></span> - Static variable in interface org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/MetricsThriftServerSource.html" title="interface in org.apache.hadoop.hbase.thrift">MetricsThriftServerSource</a></dt>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 bb7a83e..6781d1f 100644
--- a/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/backup/package-tree.html
@@ -166,8 +166,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><E> (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><T>, 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/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.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/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>
</ul>
</li>
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 d670f9f..9e1071c 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/HRegionInfo.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/HRegionInfo.html
@@ -1020,15 +1020,25 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
</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><<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><<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>>></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><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> sn)</code> </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><<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>></code></td>
<td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.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> sn)</code>
<div class="block">Get all the online regions on a region server.</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><<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>></code></td>
<td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.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> sn)</code> </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><<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><<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>>></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><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> sn)</code>
+<div class="block">Get all the online regions on a region server.</div>
+</td>
+</tr>
<tr 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><<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<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>>></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getRegion-byte:A-">getRegion</a></span>(byte[] regionName)</code> </td>
@@ -1087,85 +1097,94 @@ Input/OutputFormats, a table indexing MapReduce job, and utility methods.</div>
</td>
</tr>
<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><<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>></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compact-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.HRegionInfo-boolean-byte:A-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn,
+ <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> hri,
+ boolean major,
+ byte[] family)</code>
+<div class="block">Compact the region at specific region server.</div>
+</td>
+</tr>
+<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#compact-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.HRegionInfo-boolean-byte:A-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn,
<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> hri,
boolean major,
byte[] family)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private static int</code></td>
<td class="colLast"><span class="typeNameLabel">RegionReplicaUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RegionReplicaUtil.html#compareRegionInfosWithoutReplicaId-org.apache.hadoop.hbase.HRegionInfo-org.apache.hadoop.hbase.HRegionInfo-">compareRegionInfosWithoutReplicaId</a></span>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> regionInfoA,
<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> regionInfoB)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private <S,R> <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/CompletableFuture.html?is-external=true" title="class or interface in java.util.concurrent">CompletableFuture</a><R></code></td>
<td class="colLast"><span class="typeNameLabel">RawAsyncTableImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncTableImpl.html#coprocessorService-java.util.function.Function-org.apache.hadoop.hbase.client.RawAsyncTable.CoprocessorCallable-org.apache.hadoop.hbase.HRegionInfo-byte:A-">coprocessorService</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/function/Function.html?is-external=true" title="class or interface in java.util.function">Function</a><com.google.protobuf.RpcChannel,S> stubMaker,
<a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncTable.CoprocessorCallable.html" title="interface in org.apache.hadoop.hbase.client">RawAsyncTable.CoprocessorCallable</a><S,R> callable,
<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> region,
byte[] row)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a></code></td>
<td class="colLast"><span class="typeNameLabel">RegionReplicaUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RegionReplicaUtil.html#getRegionInfoForDefaultReplica-org.apache.hadoop.hbase.HRegionInfo-">getRegionInfoForDefaultReplica</a></span>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> regionInfo)</code>
<div class="block">Returns the HRegionInfo for the default replicaId (0).</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a></code></td>
<td class="colLast"><span class="typeNameLabel">RegionReplicaUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RegionReplicaUtil.html#getRegionInfoForReplica-org.apache.hadoop.hbase.HRegionInfo-int-">getRegionInfoForReplica</a></span>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> regionInfo,
int replicaId)</code>
<div class="block">Returns the HRegionInfo for the given replicaId.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><span class="typeNameLabel">RegionReplicaUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RegionReplicaUtil.html#isDefaultReplica-org.apache.hadoop.hbase.HRegionInfo-">isDefaultReplica</a></span>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> hri)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>static boolean</code></td>
<td class="colLast"><span class="typeNameLabel">RegionReplicaUtil.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RegionReplicaUtil.html#isReplicasForSameRegion-org.apache.hadoop.hbase.HRegionInfo-org.apache.hadoop.hbase.HRegionInfo-">isReplicasForSameRegion</a></span>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> regionInfoA,
<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> regionInfoB)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private boolean</code></td>
<td class="colLast"><span class="typeNameLabel">RawAsyncTableImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncTableImpl.html#locateFinished-org.apache.hadoop.hbase.HRegionInfo-byte:A-boolean-">locateFinished</a></span>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> region,
byte[] endKey,
boolean endKeyInclusive)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>(package private) static boolean</code></td>
<td class="colLast"><span class="typeNameLabel">ConnectionUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionUtils.html#noMoreResultsForReverseScan-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.HRegionInfo-">noMoreResultsForReverseScan</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> scan,
<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> info)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>(package private) static boolean</code></td>
<td class="colLast"><span class="typeNameLabel">ConnectionUtils.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionUtils.html#noMoreResultsForScan-org.apache.hadoop.hbase.client.Scan-org.apache.hadoop.hbase.HRegionInfo-">noMoreResultsForScan</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a> scan,
<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> info)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">RawAsyncTable.CoprocessorCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncTable.CoprocessorCallback.html#onRegionComplete-org.apache.hadoop.hbase.HRegionInfo-R-">onRegionComplete</a></span>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> region,
<a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncTable.CoprocessorCallback.html" title="type parameter in RawAsyncTable.CoprocessorCallback">R</a> resp)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>void</code></td>
<td class="colLast"><span class="typeNameLabel">RawAsyncTable.CoprocessorCallback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncTable.CoprocessorCallback.html#onRegionError-org.apache.hadoop.hbase.HRegionInfo-java.lang.Throwable-">onRegionError</a></span>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> region,
<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> error)</code> </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><<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>></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#split-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.HRegionInfo-byte:A-">split</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn,
<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> hri,
byte[] splitPoint)</code> </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#split-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.HRegionInfo-byte:A-">split</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn,
<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> hri,
byte[] splitPoint)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>(package private) void</code></td>
<td class="colLast"><span class="typeNameLabel">ConnectionImplementation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#updateCachedLocation-org.apache.hadoop.hbase.HRegionInfo-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.ServerName-long-">updateCachedLocation</a></span>(<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> hri,
<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> source,
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/devapidocs/org/apache/hadoop/hbase/class-use/HRegionLocation.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/class-use/HRegionLocation.html b/devapidocs/org/apache/hadoop/hbase/class-use/HRegionLocation.html
index a9d4353..2745466 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/HRegionLocation.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/HRegionLocation.html
@@ -538,22 +538,28 @@ service.</div>
<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client">RegionLocateType</a> locateType)</code> </td>
</tr>
<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><<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><<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">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.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> tableName)</code>
+<div class="block">List all region locations for the specific table.</div>
+</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><<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#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> tableName)</code> </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><<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#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> 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><<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#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> tableName,
boolean useCache,
boolean offlined)</code> </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><<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#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> tableName,
boolean useCache,
@@ -561,7 +567,7 @@ 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="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a><<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">ReversedScannerCallable.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ReversedScannerCallable.html#locateRegionsInRange-byte:A-byte:A-boolean-">locateRegionsInRange</a></span>(byte[] startKey,
byte[] endKey,
@@ -569,7 +575,7 @@ service.</div>
<div class="block">Get the corresponding regions for an arbitrary range of keys.</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><<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">AsyncRegionLocator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRegionLocator.html#withTimeout-java.util.concurrent.CompletableFuture-long-java.util.function.Supplier-">withTimeout</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><<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a>> future,
long timeoutNs,
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 fad9396..7b51409 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/ServerName.html
@@ -864,12 +864,36 @@
</td>
</tr>
<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><<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>></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compact-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.HRegionInfo-boolean-byte:A-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn,
+ <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> hri,
+ boolean major,
+ byte[] family)</code>
+<div class="block">Compact the region at specific region server.</div>
+</td>
+</tr>
+<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#compact-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.HRegionInfo-boolean-byte:A-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn,
<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a> hri,
boolean major,
byte[] family)</code> </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><<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>></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compactRegionServer-org.apache.hadoop.hbase.ServerName-">compactRegionServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code> </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><<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>></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#compactRegionServer-org.apache.hadoop.hbase.ServerName-">compactRegionServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code>
+<div class="block">Compact all regions on the region server.</div>
+</td>
+</tr>
+<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><<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>></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compactRegionServer-org.apache.hadoop.hbase.ServerName-boolean-">compactRegionServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn,
+ boolean major)</code> </td>
+</tr>
<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#compactRegionServer-org.apache.hadoop.hbase.ServerName-boolean-">compactRegionServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn,
@@ -1016,15 +1040,25 @@
int numAttempt)</code> </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><<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><<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>>></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><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> sn)</code> </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><<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>></code></td>
<td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.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> sn)</code>
<div class="block">Get all the online regions on a region server.</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><<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>></code></td>
<td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.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> sn)</code> </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><<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><<a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a>>></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><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> sn)</code>
+<div class="block">Get all the online regions on a region server.</div>
+</td>
+</tr>
<tr class="altColor">
<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><byte[],<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>></code></td>
<td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#getRegionLoad-org.apache.hadoop.hbase.ServerName-">getRegionLoad</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> sn)</code>
@@ -1143,6 +1177,16 @@
int stopped)</code> </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><<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>></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><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> sn)</code> </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><<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>></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><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> sn)</code>
+<div class="block">Compact all regions on the region server.</div>
+</td>
+</tr>
+<tr class="altColor">
<td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.Retry.html" title="enum in org.apache.hadoop.hbase.client">AsyncRequestFutureImpl.Retry</a></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncRequestFutureImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.html#manageError-int-org.apache.hadoop.hbase.client.Row-org.apache.hadoop.hbase.client.AsyncRequestFutureImpl.Retry-java.lang.Throwable-org.apache.hadoop.hbase.ServerName-">manageError</a></span>(int originalIndex,
<a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a> row,
[40/43] hbase-site git commit: Published site at
82d554e3783372cc6b05489452c815b57c06f6cd.
Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/e2c783b2/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 ce8fb64..05e2924 100644
--- a/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
+++ b/devapidocs/org/apache/hadoop/hbase/class-use/TableName.html
@@ -2498,32 +2498,63 @@ service.</div>
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </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><<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>></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compact-org.apache.hadoop.hbase.TableName-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </td>
+</tr>
+<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#compact-org.apache.hadoop.hbase.TableName-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">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#compact-org.apache.hadoop.hbase.TableName-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Compact 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><<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>></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#compact-org.apache.hadoop.hbase.TableName-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
+<div class="block">Compact 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><<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>></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compact-org.apache.hadoop.hbase.TableName-byte:A-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
+ byte[] columnFamily)</code> </td>
+</tr>
+<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#compact-org.apache.hadoop.hbase.TableName-byte:A-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] columnFamily)</code>
<div class="block">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">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#compact-org.apache.hadoop.hbase.TableName-byte:A-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] columnFamily)</code>
<div class="block">Compact a column family within 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><<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>></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#compact-org.apache.hadoop.hbase.TableName-byte:A-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
+ byte[] columnFamily)</code>
+<div class="block">Compact a column family within a table.</div>
+</td>
+</tr>
<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><<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>></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#compact-org.apache.hadoop.hbase.TableName-byte:A-boolean-org.apache.hadoop.hbase.client.CompactType-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
+ byte[] columnFamily,
+ boolean major,
+ <a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a> compactType)</code>
+<div class="block">Compact column family of a table, Asynchronous operation even if CompletableFuture.get()</div>
+</td>
+</tr>
+<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#compact-org.apache.hadoop.hbase.TableName-byte:A-boolean-org.apache.hadoop.hbase.client.CompactType-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] columnFamily,
@@ -2532,7 +2563,7 @@ service.</div>
<div class="block">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#compact-org.apache.hadoop.hbase.TableName-byte:A-org.apache.hadoop.hbase.client.CompactType-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] columnFamily,
@@ -2540,7 +2571,7 @@ service.</div>
<div class="block">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#compact-org.apache.hadoop.hbase.TableName-byte:A-org.apache.hadoop.hbase.client.CompactType-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] columnFamily,
@@ -2548,35 +2579,35 @@ service.</div>
<div class="block">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#compact-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.CompactType-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a> compactType)</code>
<div class="block">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#compact-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.CompactType-">compact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a> compactType)</code>
<div class="block">Compact a table.</div>
</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#complete-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.AsyncNonMetaRegionLocator.LocateRequest-org.apache.hadoop.hbase.HRegionLocation-java.lang.Throwable-">complete</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<a href="../../../../../org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.LocateRequest.html" title="class in org.apache.hadoop.hbase.client">AsyncNonMetaRegionLocator.LocateRequest</a> req,
<a href="../../../../../org/apache/hadoop/hbase/HRegionLocation.html" title="class in org.apache.hadoop.hbase">HRegionLocation</a> loc,
<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> error)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<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#convert-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableState-">convert</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.TableState tableState)</code>
<div class="block">Covert from PB version of TableState</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/client/MultiServerCallable.html" title="class in org.apache.hadoop.hbase.client">MultiServerCallable</a></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncRequestFutureImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRequestFutureImpl.html#createCallable-org.apache.hadoop.hbase.ServerName-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.MultiAction-">createCallable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a> server,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
@@ -2584,14 +2615,14 @@ service.</div>
<div class="block">Create a callable.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>static <a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a></code></td>
<td class="colLast"><span class="typeNameLabel">HTableWrapper.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HTableWrapper.html#createWrapper-java.util.List-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.coprocessor.CoprocessorHost.Environment-java.util.concurrent.ExecutorService-">createWrapper</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><<a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a>> openTables,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<a href="../../../../../org/apache/hadoop/hbase/coprocessor/CoprocessorHost.Environment.html" title="class in org.apache.hadoop.hbase.coprocessor">CoprocessorHost.Environment</a> env,
<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> pool)</code> </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#deleteColumn-org.apache.hadoop.hbase.TableName-byte:A-">deleteColumn</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] columnFamily)</code>
@@ -2603,7 +2634,7 @@ service.</div>
</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#deleteColumn-org.apache.hadoop.hbase.TableName-byte:A-">deleteColumn</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] columnFamily)</code>
@@ -2613,113 +2644,113 @@ service.</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><<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>></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#deleteColumnFamily-org.apache.hadoop.hbase.TableName-byte:A-">deleteColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] columnFamily)</code> </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#deleteColumnFamily-org.apache.hadoop.hbase.TableName-byte:A-">deleteColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] columnFamily)</code>
<div class="block">Delete a column family from 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#deleteColumnFamily-org.apache.hadoop.hbase.TableName-byte:A-">deleteColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] columnFamily)</code> </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><<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>></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#deleteColumnFamily-org.apache.hadoop.hbase.TableName-byte:A-">deleteColumnFamily</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] columnFamily)</code>
<div class="block">Delete a column family from 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><<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>></code></td>
<td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#deleteColumnFamilyAsync-org.apache.hadoop.hbase.TableName-byte:A-">deleteColumnFamilyAsync</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] columnFamily)</code>
<div class="block">Delete a column family from 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><<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>></code></td>
<td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#deleteColumnFamilyAsync-org.apache.hadoop.hbase.TableName-byte:A-">deleteColumnFamilyAsync</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] columnFamily)</code> </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><<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>></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#deleteTable-org.apache.hadoop.hbase.TableName-">deleteTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </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#deleteTable-org.apache.hadoop.hbase.TableName-">deleteTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Deletes 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#deleteTable-org.apache.hadoop.hbase.TableName-">deleteTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </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><<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>></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#deleteTable-org.apache.hadoop.hbase.TableName-">deleteTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Deletes 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><<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>></code></td>
<td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#deleteTableAsync-org.apache.hadoop.hbase.TableName-">deleteTableAsync</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Deletes the table but does not block and wait for it be completely removed.</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><<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>></code></td>
<td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#deleteTableAsync-org.apache.hadoop.hbase.TableName-">deleteTableAsync</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </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><<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>></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#disableTable-org.apache.hadoop.hbase.TableName-">disableTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </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#disableTable-org.apache.hadoop.hbase.TableName-">disableTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Disable table and wait on completion.</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#disableTable-org.apache.hadoop.hbase.TableName-">disableTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </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><<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>></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#disableTable-org.apache.hadoop.hbase.TableName-">disableTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Disable 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><<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>></code></td>
<td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#disableTableAsync-org.apache.hadoop.hbase.TableName-">disableTableAsync</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Disable the table but does not block and wait for it be completely disabled.</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><<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>></code></td>
<td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#disableTableAsync-org.apache.hadoop.hbase.TableName-">disableTableAsync</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </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#disableTableReplication-org.apache.hadoop.hbase.TableName-">disableTableReplication</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Disable a table's replication switch.</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#disableTableReplication-org.apache.hadoop.hbase.TableName-">disableTableReplication</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>static <R> void</code></td>
<td class="colLast"><span class="typeNameLabel">HTable.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HTable.html#doBatchWithCallback-java.util.List-java.lang.Object:A-org.apache.hadoop.hbase.client.coprocessor.Batch.Callback-org.apache.hadoop.hbase.client.ClusterConnection-java.util.concurrent.ExecutorService-org.apache.hadoop.hbase.TableName-">doBatchWithCallback</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><? extends <a href="../../../../../org/apache/hadoop/hbase/client/Row.html" title="interface in org.apache.hadoop.hbase.client">Row</a>> actions,
<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>[] results,
@@ -2728,46 +2759,50 @@ service.</div>
<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> pool,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </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><<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>></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#enableTable-org.apache.hadoop.hbase.TableName-">enableTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </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#enableTable-org.apache.hadoop.hbase.TableName-">enableTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Enable 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#enableTable-org.apache.hadoop.hbase.TableName-">enableTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </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><<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>></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#enableTable-org.apache.hadoop.hbase.TableName-">enableTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Enable 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><<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>></code></td>
<td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#enableTableAsync-org.apache.hadoop.hbase.TableName-">enableTableAsync</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Enable the table but does not block and wait for it be completely enabled.</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><<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>></code></td>
<td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#enableTableAsync-org.apache.hadoop.hbase.TableName-">enableTableAsync</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </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#enableTableReplication-org.apache.hadoop.hbase.TableName-">enableTableReplication</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Enable a table's replication switch.</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#enableTableReplication-org.apache.hadoop.hbase.TableName-">enableTableReplication</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </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><<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>></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#flush-org.apache.hadoop.hbase.TableName-">flush</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </td>
+</tr>
<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#flush-org.apache.hadoop.hbase.TableName-">flush</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
@@ -2779,77 +2814,83 @@ service.</div>
<td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#flush-org.apache.hadoop.hbase.TableName-">flush</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </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><<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>></code></td>
+<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#flush-org.apache.hadoop.hbase.TableName-">flush</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
+<div class="block">Flush 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><<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>>></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.html#getAlterStatus-org.apache.hadoop.hbase.TableName-">getAlterStatus</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>></code></td>
<td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.html#getAlterStatus-org.apache.hadoop.hbase.TableName-">getAlterStatus</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Get the status of alter command - indicates how many regions have received the updated schema
Asynchronous operation.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>></code></td>
<td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getAlterStatus-org.apache.hadoop.hbase.TableName-">getAlterStatus</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </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><<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a><<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>>></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncAdmin.html#getAlterStatus-org.apache.hadoop.hbase.TableName-">getAlterStatus</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Get the status of alter command - indicates how many regions have received the updated schema
Asynchronous operation.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/BufferedMutator.html" title="interface in org.apache.hadoop.hbase.client">BufferedMutator</a></code></td>
<td class="colLast"><span class="typeNameLabel">ConnectionImplementation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#getBufferedMutator-org.apache.hadoop.hbase.TableName-">getBufferedMutator</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/BufferedMutator.html" title="interface in org.apache.hadoop.hbase.client">BufferedMutator</a></code></td>
<td class="colLast"><span class="typeNameLabel">Connection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#getBufferedMutator-org.apache.hadoop.hbase.TableName-">getBufferedMutator</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">
Retrieve a <a href="../../../../../org/apache/hadoop/hbase/client/BufferedMutator.html" title="interface in org.apache.hadoop.hbase.client"><code>BufferedMutator</code></a> for performing client-side buffering of writes.</div>
</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">MetaCache.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/MetaCache.html#getCachedLocation-org.apache.hadoop.hbase.TableName-byte:A-">getCachedLocation</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] row)</code>
<div class="block">Search the cache for a location that fits our table and row key.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>(package 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#getCachedLocation-org.apache.hadoop.hbase.TableName-byte:A-">getCachedLocation</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] row)</code>
<div class="block">Search the cache for a location that fits our table and row key.</div>
</td>
</tr>
-<tr class="rowColor">
+<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> 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> tableName)</code> </td>
</tr>
-<tr class="rowColor">
+<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> tableName,
<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a> 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> tableName,
<a href="../../../../../org/apache/hadoop/hbase/client/CompactType.html" title="enum in org.apache.hadoop.hbase.client">CompactType</a> compactType)</code>
<div class="block">Get the current compaction state of a table.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<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> tableName)</code>
<div class="block">Get the timestamp of the last major compaction for the passed table
@@ -2858,64 +2899,64 @@ service.</div>
or 0 if no such HFile could be found.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>long</code></td>
<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> tableName)</code> </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/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a><<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>></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> tableName,
long max)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/HRegionInfo.html" title="class in org.apache.hadoop.hbase">HRegionInfo</a></code></td>
<td class="colLast"><span class="typeNameLabel">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getMobRegionInfo-org.apache.hadoop.hbase.TableName-">getMobRegionInfo</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>int</code></td>
<td class="colLast"><span class="typeNameLabel">MetaCache.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/MetaCache.html#getNumberOfCachedRegionLocations-org.apache.hadoop.hbase.TableName-">getNumberOfCachedRegionLocations</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Return the number of cached region for a table.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>(package private) int</code></td>
<td class="colLast"><span class="typeNameLabel">ConnectionImplementation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#getNumberOfCachedRegionLocations-org.apache.hadoop.hbase.TableName-">getNumberOfCachedRegionLocations</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>default <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncTable.html" title="interface in org.apache.hadoop.hbase.client">RawAsyncTable</a></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html#getRawTable-org.apache.hadoop.hbase.TableName-">getRawTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Retrieve an <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncTable.html" title="interface in org.apache.hadoop.hbase.client"><code>RawAsyncTable</code></a> implementation for accessing a table.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a><<a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncTable.html" title="interface in org.apache.hadoop.hbase.client">RawAsyncTable</a>></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html#getRawTableBuilder-org.apache.hadoop.hbase.TableName-">getRawTableBuilder</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Returns an <a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncTableBuilder</code></a> for creating <a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncTable.html" title="interface in org.apache.hadoop.hbase.client"><code>RawAsyncTable</code></a>.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a><<a href="../../../../../org/apache/hadoop/hbase/client/RawAsyncTable.html" title="interface in org.apache.hadoop.hbase.client">RawAsyncTable</a>></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncConnectionImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#getRawTableBuilder-org.apache.hadoop.hbase.TableName-">getRawTableBuilder</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </td>
</tr>
-<tr class="altColor">
+<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><byte[],<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>></code></td>
<td class="colLast"><span class="typeNameLabel">Admin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Admin.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> sn,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<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="rowColor">
+<tr class="altColor">
<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><byte[],<a href="../../../../../org/apache/hadoop/hbase/RegionLoad.html" title="class in org.apache.hadoop.hbase">RegionLoad</a>></code></td>
<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> sn,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </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#getRegionLocation-org.apache.hadoop.hbase.TableName-byte:A-boolean-">getRegionLocation</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] row,
boolean reload)</code> </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#getRegionLocation-org.apache.hadoop.hbase.TableName-byte:A-boolean-">getRegionLocation</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] row,
@@ -2923,26 +2964,26 @@ service.</div>
<div class="block">Find region location hosting passed row</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<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><<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#getRegionLocation-org.apache.hadoop.hbase.TableName-byte:A-org.apache.hadoop.hbase.client.RegionLocateType-">getRegionLocation</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] row,
<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client">RegionLocateType</a> locateType)</code> </td>
</tr>
-<tr class="rowColor">
+<tr 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><<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">AsyncRegionLocator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncRegionLocator.html#getRegionLocation-org.apache.hadoop.hbase.TableName-byte:A-org.apache.hadoop.hbase.client.RegionLocateType-long-">getRegionLocation</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] row,
<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client">RegionLocateType</a> type,
long timeoutNs)</code> </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><<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#getRegionLocationInternal-org.apache.hadoop.hbase.TableName-byte:A-org.apache.hadoop.hbase.client.RegionLocateType-">getRegionLocationInternal</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] row,
<a href="../../../../../org/apache/hadoop/hbase/client/RegionLocateType.html" title="enum in org.apache.hadoop.hbase.client">RegionLocateType</a> locateType)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>(package private) static <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">RpcRetryingCallerWithReadReplicas.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RpcRetryingCallerWithReadReplicas.html#getRegionLocations-boolean-int-org.apache.hadoop.hbase.client.ClusterConnection-org.apache.hadoop.hbase.TableName-byte:A-">getRegionLocations</a></span>(boolean useCache,
int replicaId,
@@ -2950,7 +2991,7 @@ service.</div>
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
byte[] row)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>static <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">RegionAdminServiceCallable.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/RegionAdminServiceCallable.html#getRegionLocations-org.apache.hadoop.hbase.client.ClusterConnection-org.apache.hadoop.hbase.TableName-byte:A-boolean-int-">getRegionLocations</a></span>(<a href="../../../../../org/apache/hadoop/hbase/client/ClusterConnection.html" title="interface in org.apache.hadoop.hbase.client">ClusterConnection</a> connection,
<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
@@ -2958,99 +2999,99 @@ service.</div>
boolean useCache,
int replicaId)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a></code></td>
<td class="colLast"><span class="typeNameLabel">ConnectionImplementation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#getRegionLocator-org.apache.hadoop.hbase.TableName-">getRegionLocator</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableRegionLocator.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableRegionLocator</a></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html#getRegionLocator-org.apache.hadoop.hbase.TableName-">getRegionLocator</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Retrieve a AsyncRegionLocator implementation to inspect region information on a table.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableRegionLocator.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableRegionLocator</a></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncConnectionImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#getRegionLocator-org.apache.hadoop.hbase.TableName-">getRegionLocator</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/RegionLocator.html" title="interface in org.apache.hadoop.hbase.client">RegionLocator</a></code></td>
<td class="colLast"><span class="typeNameLabel">Connection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#getRegionLocator-org.apache.hadoop.hbase.TableName-">getRegionLocator</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Retrieve a RegionLocator implementation to inspect region information on a table.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a></code></td>
<td class="colLast"><span class="typeNameLabel">ConnectionImplementation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#getTable-org.apache.hadoop.hbase.TableName-">getTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>default <a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a></code></td>
<td class="colLast"><span class="typeNameLabel">Connection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#getTable-org.apache.hadoop.hbase.TableName-">getTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Retrieve a Table implementation for accessing a table.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>default <a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client">AsyncTable</a></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html#getTable-org.apache.hadoop.hbase.TableName-java.util.concurrent.ExecutorService-">getTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<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> pool)</code>
<div class="block">Retrieve an AsyncTable implementation for accessing a table.</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>default <a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client">Table</a></code></td>
<td class="colLast"><span class="typeNameLabel">Connection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#getTable-org.apache.hadoop.hbase.TableName-java.util.concurrent.ExecutorService-">getTable</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<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> pool)</code>
<div class="block">Retrieve a Table implementation for accessing a table.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableBuilder.html" title="interface in org.apache.hadoop.hbase.client">TableBuilder</a></code></td>
<td class="colLast"><span class="typeNameLabel">ConnectionImplementation.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/ConnectionImplementation.html#getTableBuilder-org.apache.hadoop.hbase.TableName-java.util.concurrent.ExecutorService-">getTableBuilder</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<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> pool)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a><<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client">AsyncTable</a>></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnection.html#getTableBuilder-org.apache.hadoop.hbase.TableName-java.util.concurrent.ExecutorService-">getTableBuilder</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<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> pool)</code>
<div class="block">Returns an <a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncTableBuilder</code></a> for creating <a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client"><code>AsyncTable</code></a>.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/AsyncTableBuilder.html" title="interface in org.apache.hadoop.hbase.client">AsyncTableBuilder</a><<a href="../../../../../org/apache/hadoop/hbase/client/AsyncTable.html" title="interface in org.apache.hadoop.hbase.client">AsyncTable</a>></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncConnectionImpl.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncConnectionImpl.html#getTableBuilder-org.apache.hadoop.hbase.TableName-java.util.concurrent.ExecutorService-">getTableBuilder</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<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> pool)</code> </td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code><a href="../../../../../org/apache/hadoop/hbase/client/TableBuilder.html" title="interface in org.apache.hadoop.hbase.client">TableBuilder</a></code></td>
<td class="colLast"><span class="typeNameLabel">Connection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/Connection.html#getTableBuilder-org.apache.hadoop.hbase.TableName-java.util.concurrent.ExecutorService-">getTableBuilder</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<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> pool)</code>
<div class="block">Returns an <a href="../../../../../org/apache/hadoop/hbase/client/TableBuilder.html" title="interface in org.apache.hadoop.hbase.client"><code>TableBuilder</code></a> for creating <a href="../../../../../org/apache/hadoop/hbase/client/Table.html" title="interface in org.apache.hadoop.hbase.client"><code>Table</code></a>.</div>
</td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.TableCache.html" title="class in org.apache.hadoop.hbase.client">AsyncNonMetaRegionLocator.TableCache</a></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncNonMetaRegionLocator.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncNonMetaRegionLocator.html#getTableCache-org.apache.hadoop.hbase.TableName-">getTableCache</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncHBaseAdmin.</span><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> tableName)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<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#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> tableName)</code>
<div class="block">Method for getting the tableDescriptor</div>
</td>
</tr>
-<tr class="altColor">
+<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">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.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> tableName)</code> </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><<a href="../../../../../org/apache/hadoop/hbase/client/TableDescriptor.html" title="interface in org.apache.hadoop.hbase.client">TableDescriptor</a>></code></td>
<td class="colLast"><span class="typeNameLabel">AsyncAdmin.</span><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> tableName)</code>
<div class="block">Method for getting the tableDescriptor</div>
</td>
</tr>
-<tr class="altColor">
+<tr class="rowColor">
<td class="colFirst"><code>(package private) static <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">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getTableDescriptor-org.apache.hadoop.hbase.TableName-org.apache.hadoop.hbase.client.Connection-org.apache.hadoop.hbase.client.RpcRetryingCallerFactory-org.apache.hadoop.hbase.ipc.RpcControllerFactory-int-int-">getTableDescriptor</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
<a href="../../../../../org/apache/hadoop/hbase/client/Connection.html" title="interface in org.apache.hadoop.hbase.client">Connection</a> connection,
@@ -3059,12 +3100,18 @@ service.</div>
int operationTimeout,
int rpcTimeout)</code> </td>
</tr>
-<tr class="rowColor">
+<tr class="altColor">
<td class="colFirst"><code>private <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">HBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/HBaseAdmin.html#getTableDescriptorByTableName-org.apache.hadoop.hbase.TableName-">getTableDescriptorByTableName</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code>
<div class="block">Get tableDescriptor</div>
</td>
</tr>
+<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><<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><<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">AsyncHBaseAdmin.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/AsyncHBaseAdmin.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> tableName)</code>
+<div class="block">List all region locations for the specific table.</div>
+</td>
+</tr>
<tr class="altColor">
<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentNavigableMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentNavigableMap</a><byte[],<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">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> tableName)</code> </td>
@@ -3328,29 +3375,51 @@ service.</div>
byte[] row)</code> </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><<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>></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-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName)</code> </td>
+</tr>
+<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> 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">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> tableName)</code> </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><<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>></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> tableName)</code>
+<div class="block">Major compact 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><<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>></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-byte:A-">majorCompact</a></span>(<a href="../../../../../org/apache/hadoop/hbase/TableName.html" title="class in org.apache.hadoop.hbase">TableName</a> tableName,
+ byte[] columnFamily)</code> </td>
+</tr>
+<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> tableName,
byte[] columnFamily)</co
<TRUNCATED>