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/27 14:59:21 UTC

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

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site 8097dd995 -> f8f0a0326


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestLeaseRenewal.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestLeaseRenewal.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestLeaseRenewal.html
index 6887ea8..e7bc54d 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestLeaseRenewal.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestLeaseRenewal.html
@@ -131,18 +131,19 @@
 <span class="sourceLineNo">123</span>    assertTrue(rs.renewLease());<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    // make sure we haven't advanced the scanner<a name="line.124"></a>
 <span class="sourceLineNo">125</span>    assertTrue(Arrays.equals(rs.next().getRow(), ROW_BYTES));<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    assertTrue(rs.renewLease());<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    // make sure scanner is exhausted now<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    assertNull(rs.next());<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    // renewLease should return false now<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    assertFalse(rs.renewLease());<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    rs.close();<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    table.close();<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    MetricsHBaseServerSource serverSource = TEST_UTIL.getMiniHBaseCluster().getRegionServer(0)<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        .getRpcServer().getMetrics().getMetricsSource();<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    HELPER.assertCounter("exceptions.OutOfOrderScannerNextException", 0, serverSource);<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">126</span>    // renewLease should return false now as we have read all the data already<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    assertFalse(rs.renewLease());<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    // make sure scanner is exhausted now<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    assertNull(rs.next());<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    // renewLease should return false now<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    assertFalse(rs.renewLease());<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    rs.close();<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    table.close();<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    MetricsHBaseServerSource serverSource = TEST_UTIL.getMiniHBaseCluster().getRegionServer(0)<a name="line.134"></a>
+<span class="sourceLineNo">135</span>        .getRpcServer().getMetrics().getMetricsSource();<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    HELPER.assertCounter("exceptions.OutOfOrderScannerNextException", 0, serverSource);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>  }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>}<a name="line.138"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html
new file mode 100644
index 0000000..e3b9cbc
--- /dev/null
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html
@@ -0,0 +1,203 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html lang="en">
+<head>
+<title>Source code</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<div class="sourceContainer">
+<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
+<span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * to you under the Apache License, Version 2.0 (the<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * "License"); you may not use this file except in compliance<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * with the License.  You may obtain a copy of the License at<a name="line.8"></a>
+<span class="sourceLineNo">009</span> *<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *<a name="line.11"></a>
+<span class="sourceLineNo">012</span> * Unless required by applicable law or agreed to in writing, software<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
+<span class="sourceLineNo">017</span> */<a name="line.17"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.client;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import static org.junit.Assert.assertEquals;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import static org.junit.Assert.assertTrue;<a name="line.21"></a>
+<span class="sourceLineNo">022</span><a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.TableName;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.ipc.HBaseRpcControllerImpl;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.shaded.protobuf.ResponseConverter;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanRequest;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.testclassification.RegionServerTests;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.junit.AfterClass;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.junit.BeforeClass;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.junit.Test;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.junit.experimental.categories.Category;<a name="line.42"></a>
+<span class="sourceLineNo">043</span><a name="line.43"></a>
+<span class="sourceLineNo">044</span>/**<a name="line.44"></a>
+<span class="sourceLineNo">045</span> * Testcase to make sure that we do not close scanners if ScanRequest.numberOfRows is zero. See<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * HBASE-18042 for more details.<a name="line.46"></a>
+<span class="sourceLineNo">047</span> */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>@Category({ RegionServerTests.class, MediumTests.class })<a name="line.48"></a>
+<span class="sourceLineNo">049</span>public class TestScanWithoutFetchingData {<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>  private static final HBaseTestingUtility UTIL = new HBaseTestingUtility();<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>  private static final TableName TABLE_NAME = TableName.valueOf("test");<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>  private static final byte[] CF = Bytes.toBytes("cf");<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span>  private static final byte[] CQ = Bytes.toBytes("cq");<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  private static final int COUNT = 10;<a name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span>  private static HRegionInfo HRI;<a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62"></a>
+<span class="sourceLineNo">063</span>  private static ClientProtos.ClientService.BlockingInterface STUB;<a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span>  @BeforeClass<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public static void setUp() throws Exception {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    UTIL.startMiniCluster(1);<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    try (Table table = UTIL.createTable(TABLE_NAME, CF)) {<a name="line.68"></a>
+<span class="sourceLineNo">069</span>      for (int i = 0; i &lt; COUNT; i++) {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>        table.put(new Put(Bytes.toBytes(i)).addColumn(CF, CQ, Bytes.toBytes(i)));<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>    HRI = UTIL.getAdmin().getTableRegions(TABLE_NAME).get(0);<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    STUB = ((ConnectionImplementation) UTIL.getConnection())<a name="line.74"></a>
+<span class="sourceLineNo">075</span>        .getClient(UTIL.getHBaseCluster().getRegionServer(0).getServerName());<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  }<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>  @AfterClass<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  public static void tearDown() throws Exception {<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    UTIL.shutdownMiniCluster();<a name="line.80"></a>
+<span class="sourceLineNo">081</span>  }<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>  private void assertResult(int row, Result result) {<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    assertEquals(row, Bytes.toInt(result.getRow()));<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    assertEquals(row, Bytes.toInt(result.getValue(CF, CQ)));<a name="line.85"></a>
+<span class="sourceLineNo">086</span>  }<a name="line.86"></a>
+<span class="sourceLineNo">087</span><a name="line.87"></a>
+<span class="sourceLineNo">088</span>  @Test<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  public void test() throws ServiceException, IOException {<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    Scan scan = new Scan();<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    ScanRequest req = RequestConverter.buildScanRequest(HRI.getRegionName(), scan, 0, false);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    HBaseRpcController hrc = new HBaseRpcControllerImpl();<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    ScanResponse resp = STUB.scan(hrc, req);<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    assertTrue(resp.getMoreResults());<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    assertTrue(resp.getMoreResultsInRegion());<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    assertEquals(0, ResponseConverter.getResults(hrc.cellScanner(), resp).length);<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    long scannerId = resp.getScannerId();<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    int nextCallSeq = 0;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    // test normal next<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    for (int i = 0; i &lt; COUNT / 2; i++) {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      req = RequestConverter.buildScanRequest(scannerId, 1, false, nextCallSeq++, false, false, -1);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      hrc.reset();<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      resp = STUB.scan(hrc, req);<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      assertTrue(resp.getMoreResults());<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      assertTrue(resp.getMoreResultsInRegion());<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      Result[] results = ResponseConverter.getResults(hrc.cellScanner(), resp);<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      assertEquals(1, results.length);<a name="line.107"></a>
+<span class="sourceLineNo">108</span>      assertResult(i, results[0]);<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    }<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    // test zero next<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    req = RequestConverter.buildScanRequest(scannerId, 0, false, nextCallSeq++, false, false, -1);<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    hrc.reset();<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    resp = STUB.scan(hrc, req);<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    assertTrue(resp.getMoreResults());<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    assertTrue(resp.getMoreResultsInRegion());<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    assertEquals(0, ResponseConverter.getResults(hrc.cellScanner(), resp).length);<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    for (int i = COUNT / 2; i &lt; COUNT; i++) {<a name="line.117"></a>
+<span class="sourceLineNo">118</span>      req = RequestConverter.buildScanRequest(scannerId, 1, false, nextCallSeq++, false, false, -1);<a name="line.118"></a>
+<span class="sourceLineNo">119</span>      hrc.reset();<a name="line.119"></a>
+<span class="sourceLineNo">120</span>      resp = STUB.scan(hrc, req);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      assertTrue(resp.getMoreResults());<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      assertEquals(i != COUNT - 1, resp.getMoreResultsInRegion());<a name="line.122"></a>
+<span class="sourceLineNo">123</span>      Result[] results = ResponseConverter.getResults(hrc.cellScanner(), resp);<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      assertEquals(1, results.length);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      assertResult(i, results[0]);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    }<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    // close<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    req = RequestConverter.buildScanRequest(scannerId, 0, true, false);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    resp = STUB.scan(null, req);<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  }<a name="line.130"></a>
+<span class="sourceLineNo">131</span>}<a name="line.131"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 9307cf8..58df534 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
@@ -70,14 +70,14 @@
 <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 = "format", type = "String"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<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 = "assignmentManager", type = "AssignmentManager"),<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<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">065</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;")})<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>
@@ -135,142 +135,142 @@
 <span class="sourceLineNo">127</span>      return m_format__IsNotDefault;<a name="line.127"></a>
 <span class="sourceLineNo">128</span>    }<a name="line.128"></a>
 <span class="sourceLineNo">129</span>    private boolean m_format__IsNotDefault;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    // 21, 1<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.131"></a>
+<span class="sourceLineNo">130</span>    // 28, 1<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    public void setServerManager(ServerManager serverManager)<a name="line.131"></a>
 <span class="sourceLineNo">132</span>    {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      // 21, 1<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      m_frags = frags;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      m_frags__IsNotDefault = true;<a name="line.135"></a>
+<span class="sourceLineNo">133</span>      // 28, 1<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      m_serverManager = serverManager;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      m_serverManager__IsNotDefault = true;<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.137"></a>
+<span class="sourceLineNo">137</span>    public ServerManager getServerManager()<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      return m_frags;<a name="line.139"></a>
+<span class="sourceLineNo">139</span>      return m_serverManager;<a name="line.139"></a>
 <span class="sourceLineNo">140</span>    }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    public boolean getFrags__IsNotDefault()<a name="line.142"></a>
+<span class="sourceLineNo">141</span>    private ServerManager m_serverManager;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    public boolean getServerManager__IsNotDefault()<a name="line.142"></a>
 <span class="sourceLineNo">143</span>    {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      return m_frags__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">144</span>      return m_serverManager__IsNotDefault;<a name="line.144"></a>
 <span class="sourceLineNo">145</span>    }<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    private boolean m_frags__IsNotDefault;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    // 24, 1<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.148"></a>
+<span class="sourceLineNo">146</span>    private boolean m_serverManager__IsNotDefault;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    // 26, 1<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    public void setFilter(String filter)<a name="line.148"></a>
 <span class="sourceLineNo">149</span>    {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      // 24, 1<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      m_deadServers = deadServers;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      m_deadServers__IsNotDefault = true;<a name="line.152"></a>
+<span class="sourceLineNo">150</span>      // 26, 1<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      m_filter = filter;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      m_filter__IsNotDefault = true;<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    public String getFilter()<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      return m_deadServers;<a name="line.156"></a>
+<span class="sourceLineNo">156</span>      return m_filter;<a name="line.156"></a>
 <span class="sourceLineNo">157</span>    }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    public boolean getDeadServers__IsNotDefault()<a name="line.159"></a>
+<span class="sourceLineNo">158</span>    private String m_filter;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    public boolean getFilter__IsNotDefault()<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      return m_deadServers__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">161</span>      return m_filter__IsNotDefault;<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    private boolean m_deadServers__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">163</span>    private boolean m_filter__IsNotDefault;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    // 29, 1<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.165"></a>
 <span class="sourceLineNo">166</span>    {<a name="line.166"></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">167</span>      // 29, 1<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      m_assignmentManager = assignmentManager;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      m_assignmentManager__IsNotDefault = true;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>    }<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    public ServerManager getServerManager()<a name="line.171"></a>
+<span class="sourceLineNo">171</span>    public AssignmentManager getAssignmentManager()<a name="line.171"></a>
 <span class="sourceLineNo">172</span>    {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      return m_serverManager;<a name="line.173"></a>
+<span class="sourceLineNo">173</span>      return m_assignmentManager;<a name="line.173"></a>
 <span class="sourceLineNo">174</span>    }<a name="line.174"></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">175</span>    private AssignmentManager m_assignmentManager;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      return m_serverManager__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">178</span>      return m_assignmentManager__IsNotDefault;<a name="line.178"></a>
 <span class="sourceLineNo">179</span>    }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    private boolean m_serverManager__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_assignmentManager__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&lt;String,Integer&gt; 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&lt;String,Integer&gt; 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&lt;String,Integer&gt; 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>    // 23, 1<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    public void setServers(List&lt;ServerName&gt; servers)<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&lt;ServerName&gt; deadServers)<a name="line.199"></a>
 <span class="sourceLineNo">200</span>    {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      // 23, 1<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      m_servers = servers;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      m_servers__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 List&lt;ServerName&gt; getServers()<a name="line.205"></a>
+<span class="sourceLineNo">205</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.205"></a>
 <span class="sourceLineNo">206</span>    {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      return m_servers;<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 List&lt;ServerName&gt; m_servers;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    public boolean getServers__IsNotDefault()<a name="line.210"></a>
+<span class="sourceLineNo">209</span>    private Set&lt;ServerName&gt; 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_servers__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_servers__IsNotDefault;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    // 26, 1<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    public void setFilter(String filter)<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>    // 22, 1<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.216"></a>
 <span class="sourceLineNo">217</span>    {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      // 26, 1<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      m_filter = filter;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      m_filter__IsNotDefault = true;<a name="line.220"></a>
+<span class="sourceLineNo">218</span>      // 22, 1<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      m_metaLocation = metaLocation;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      m_metaLocation__IsNotDefault = true;<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    }<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    public String getFilter()<a name="line.222"></a>
+<span class="sourceLineNo">222</span>    public ServerName getMetaLocation()<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      return m_filter;<a name="line.224"></a>
+<span class="sourceLineNo">224</span>      return m_metaLocation;<a name="line.224"></a>
 <span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    private String m_filter;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    public boolean getFilter__IsNotDefault()<a name="line.227"></a>
+<span class="sourceLineNo">226</span>    private ServerName m_metaLocation;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return m_filter__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span>      return m_metaLocation__IsNotDefault;<a name="line.229"></a>
 <span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    private boolean m_filter__IsNotDefault;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    // 22, 1<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.233"></a>
+<span class="sourceLineNo">231</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    // 25, 1<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.233"></a>
 <span class="sourceLineNo">234</span>    {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      // 22, 1<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      m_metaLocation = metaLocation;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      m_metaLocation__IsNotDefault = true;<a name="line.237"></a>
+<span class="sourceLineNo">235</span>      // 25, 1<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.237"></a>
 <span class="sourceLineNo">238</span>    }<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    public ServerName getMetaLocation()<a name="line.239"></a>
+<span class="sourceLineNo">239</span>    public boolean getCatalogJanitorEnabled()<a name="line.239"></a>
 <span class="sourceLineNo">240</span>    {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      return m_metaLocation;<a name="line.241"></a>
+<span class="sourceLineNo">241</span>      return m_catalogJanitorEnabled;<a name="line.241"></a>
 <span class="sourceLineNo">242</span>    }<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    private ServerName m_metaLocation;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.244"></a>
+<span class="sourceLineNo">243</span>    private boolean m_catalogJanitorEnabled;<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.244"></a>
 <span class="sourceLineNo">245</span>    {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      return m_metaLocation__IsNotDefault;<a name="line.246"></a>
+<span class="sourceLineNo">246</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.246"></a>
 <span class="sourceLineNo">247</span>    }<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    private boolean m_metaLocation__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">248</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    // 23, 1<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.250"></a>
 <span class="sourceLineNo">251</span>    {<a name="line.251"></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">252</span>      // 23, 1<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      m_servers = servers;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      m_servers__IsNotDefault = true;<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    }<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    public boolean getCatalogJanitorEnabled()<a name="line.256"></a>
+<span class="sourceLineNo">256</span>    public List&lt;ServerName&gt; getServers()<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      return m_catalogJanitorEnabled;<a name="line.258"></a>
+<span class="sourceLineNo">258</span>      return m_servers;<a name="line.258"></a>
 <span class="sourceLineNo">259</span>    }<a name="line.259"></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">260</span>    private List&lt;ServerName&gt; m_servers;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    public boolean getServers__IsNotDefault()<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>      return m_servers__IsNotDefault;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.265"></a>
+<span class="sourceLineNo">265</span>    private boolean m_servers__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>
@@ -289,59 +289,59 @@
 <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 Map&lt;String,Integer&gt; frags;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.285"></a>
+<span class="sourceLineNo">284</span>  protected ServerManager serverManager;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.285"></a>
 <span class="sourceLineNo">286</span>  {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    (getImplData()).setFrags(p_frags);<a name="line.287"></a>
+<span class="sourceLineNo">287</span>    (getImplData()).setServerManager(p_serverManager);<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 Set&lt;ServerName&gt; deadServers;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.292"></a>
+<span class="sourceLineNo">291</span>  protected String filter;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.292"></a>
 <span class="sourceLineNo">293</span>  {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.294"></a>
+<span class="sourceLineNo">294</span>    (getImplData()).setFilter(p_filter);<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 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">298</span>  protected AssignmentManager assignmentManager;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.299"></a>
 <span class="sourceLineNo">300</span>  {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.301"></a>
+<span class="sourceLineNo">301</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<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&lt;String,Integer&gt; frags;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; 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 List&lt;ServerName&gt; servers;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.313"></a>
+<span class="sourceLineNo">312</span>  protected Set&lt;ServerName&gt; deadServers;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.313"></a>
 <span class="sourceLineNo">314</span>  {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    (getImplData()).setServers(p_servers);<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 String filter;<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.320"></a>
+<span class="sourceLineNo">319</span>  protected ServerName metaLocation;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.320"></a>
 <span class="sourceLineNo">321</span>  {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    (getImplData()).setFilter(p_filter);<a name="line.322"></a>
+<span class="sourceLineNo">322</span>    (getImplData()).setMetaLocation(p_metaLocation);<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 ServerName metaLocation;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.327"></a>
+<span class="sourceLineNo">326</span>  protected boolean catalogJanitorEnabled;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.327"></a>
 <span class="sourceLineNo">328</span>  {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.329"></a>
+<span class="sourceLineNo">329</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<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 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">333</span>  protected List&lt;ServerName&gt; servers;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.334"></a>
 <span class="sourceLineNo">335</span>  {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.336"></a>
+<span class="sourceLineNo">336</span>    (getImplData()).setServers(p_servers);<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/f8f0a032/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 5239ba6..5ea1b8b 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
@@ -71,14 +71,14 @@
 <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 String format;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  private final Map&lt;String,Integer&gt; frags;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  private final Set&lt;ServerName&gt; deadServers;<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 AssignmentManager assignmentManager;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  private final List&lt;ServerName&gt; servers;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  private final String filter;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  private final ServerName metaLocation;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>  private final boolean catalogJanitorEnabled;<a name="line.73"></a>
+<span class="sourceLineNo">066</span>  private final ServerManager serverManager;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  private final String filter;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  private final AssignmentManager assignmentManager;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  private final Map&lt;String,Integer&gt; frags;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>  private final Set&lt;ServerName&gt; deadServers;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  private final ServerName metaLocation;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>  private final boolean catalogJanitorEnabled;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>  private final List&lt;ServerName&gt; servers;<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>
@@ -112,37 +112,37 @@
 <span class="sourceLineNo">104</span>    {<a name="line.104"></a>
 <span class="sourceLineNo">105</span>      p_implData.setFormat("html");<a name="line.105"></a>
 <span class="sourceLineNo">106</span>    }<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    if(! p_implData.getFrags__IsNotDefault())<a name="line.107"></a>
+<span class="sourceLineNo">107</span>    if(! p_implData.getServerManager__IsNotDefault())<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      p_implData.setFrags(null);<a name="line.109"></a>
+<span class="sourceLineNo">109</span>      p_implData.setServerManager(null);<a name="line.109"></a>
 <span class="sourceLineNo">110</span>    }<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    if(! p_implData.getDeadServers__IsNotDefault())<a name="line.111"></a>
+<span class="sourceLineNo">111</span>    if(! p_implData.getFilter__IsNotDefault())<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      p_implData.setDeadServers(null);<a name="line.113"></a>
+<span class="sourceLineNo">113</span>      p_implData.setFilter("general");<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    }<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    if(! p_implData.getServerManager__IsNotDefault())<a name="line.115"></a>
+<span class="sourceLineNo">115</span>    if(! p_implData.getAssignmentManager__IsNotDefault())<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      p_implData.setServerManager(null);<a name="line.117"></a>
+<span class="sourceLineNo">117</span>      p_implData.setAssignmentManager(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.getServers__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.setServers(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.getFilter__IsNotDefault())<a name="line.127"></a>
+<span class="sourceLineNo">127</span>    if(! p_implData.getMetaLocation__IsNotDefault())<a name="line.127"></a>
 <span class="sourceLineNo">128</span>    {<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      p_implData.setFilter("general");<a name="line.129"></a>
+<span class="sourceLineNo">129</span>      p_implData.setMetaLocation(null);<a name="line.129"></a>
 <span class="sourceLineNo">130</span>    }<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    if(! p_implData.getMetaLocation__IsNotDefault())<a name="line.131"></a>
+<span class="sourceLineNo">131</span>    if(! p_implData.getCatalogJanitorEnabled__IsNotDefault())<a name="line.131"></a>
 <span class="sourceLineNo">132</span>    {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      p_implData.setMetaLocation(null);<a name="line.133"></a>
+<span class="sourceLineNo">133</span>      p_implData.setCatalogJanitorEnabled(true);<a name="line.133"></a>
 <span class="sourceLineNo">134</span>    }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    if(! p_implData.getCatalogJanitorEnabled__IsNotDefault())<a name="line.135"></a>
+<span class="sourceLineNo">135</span>    if(! p_implData.getServers__IsNotDefault())<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      p_implData.setCatalogJanitorEnabled(true);<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      p_implData.setServers(null);<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>
@@ -151,14 +151,14 @@
 <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>    format = p_implData.getFormat();<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    frags = p_implData.getFrags();<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    deadServers = p_implData.getDeadServers();<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    serverManager = p_implData.getServerManager();<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    assignmentManager = p_implData.getAssignmentManager();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    servers = p_implData.getServers();<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    filter = p_implData.getFilter();<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    metaLocation = p_implData.getMetaLocation();<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    catalogJanitorEnabled = p_implData.getCatalogJanitorEnabled();<a name="line.153"></a>
+<span class="sourceLineNo">146</span>    serverManager = p_implData.getServerManager();<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    filter = p_implData.getFilter();<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    assignmentManager = p_implData.getAssignmentManager();<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>    metaLocation = p_implData.getMetaLocation();<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    catalogJanitorEnabled = p_implData.getCatalogJanitorEnabled();<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    servers = p_implData.getServers();<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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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..5d61a6c 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,8 +33,8 @@
 <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">028</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "bcv", 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">032</span>public class RSStatusTmpl<a name="line.32"></a>
@@ -77,40 +77,40 @@
 <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>    // 22, 1<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    public void setFormat(String format)<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>      // 22, 1<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      m_format = format;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      m_format__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 getFormat()<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_format;<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_format;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    public boolean getFormat__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_format__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_format__IsNotDefault;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    // 24, 1<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    public void setBcv(String bcv)<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>      // 24, 1<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      m_bcv = bcv;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      m_bcv__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 getBcv()<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_bcv;<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_bcv;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    public boolean getBcv__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_bcv__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">105</span>    private boolean m_bcv__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">108</span>    {<a name="line.108"></a>
@@ -156,17 +156,17 @@
 <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 format;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<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()).setFormat(p_format);<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 bcv;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<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()).setBcv(p_bcv);<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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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..5d61a6c 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,8 +33,8 @@
 <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">028</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "bcv", 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">032</span>public class RSStatusTmpl<a name="line.32"></a>
@@ -77,40 +77,40 @@
 <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>    // 22, 1<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    public void setFormat(String format)<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>      // 22, 1<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      m_format = format;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      m_format__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 getFormat()<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_format;<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_format;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    public boolean getFormat__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_format__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_format__IsNotDefault;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    // 24, 1<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    public void setBcv(String bcv)<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>      // 24, 1<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      m_bcv = bcv;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      m_bcv__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 getBcv()<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_bcv;<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_bcv;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    public boolean getBcv__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_bcv__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">105</span>    private boolean m_bcv__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">108</span>    {<a name="line.108"></a>
@@ -156,17 +156,17 @@
 <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 format;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<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()).setFormat(p_format);<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 bcv;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<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()).setBcv(p_bcv);<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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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..5d61a6c 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,8 +33,8 @@
 <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">028</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "bcv", 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">032</span>public class RSStatusTmpl<a name="line.32"></a>
@@ -77,40 +77,40 @@
 <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>    // 22, 1<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    public void setFormat(String format)<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>      // 22, 1<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      m_format = format;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      m_format__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 getFormat()<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_format;<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_format;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    public boolean getFormat__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_format__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_format__IsNotDefault;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    // 24, 1<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    public void setBcv(String bcv)<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>      // 24, 1<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      m_bcv = bcv;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      m_bcv__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 getBcv()<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_bcv;<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_bcv;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    public boolean getBcv__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_bcv__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">105</span>    private boolean m_bcv__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">108</span>    {<a name="line.108"></a>
@@ -156,17 +156,17 @@
 <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 format;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<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()).setFormat(p_format);<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 bcv;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)<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()).setBcv(p_bcv);<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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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..cab64fc 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,19 +34,19 @@
 <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">029</span>  private final String format;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>  private final String bcv;<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">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.getFormat__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.setFormat("html");<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.getBcv__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.setBcv("");<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">044</span>    {<a name="line.44"></a>
@@ -62,8 +62,8 @@
 <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">057</span>    format = p_implData.getFormat();<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    bcv = p_implData.getBcv();<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">061</span>  }<a name="line.61"></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/f8f0a032/export_control.html
----------------------------------------------------------------------
diff --git a/export_control.html b/export_control.html
index da6cf13..a772b6e 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/hbase-annotations/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/checkstyle.html b/hbase-annotations/checkstyle.html
index ae4c7be..609b626 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-annotations/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependencies.html b/hbase-annotations/dependencies.html
index 62aebee..e5f932e 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-annotations/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-convergence.html b/hbase-annotations/dependency-convergence.html
index 631eb5c..ab2591d 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-annotations/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-info.html b/hbase-annotations/dependency-info.html
index 3d8cf47..71e230d 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-annotations/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-management.html b/hbase-annotations/dependency-management.html
index a13dd6a..e267272 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-annotations/index.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/index.html b/hbase-annotations/index.html
index 52ecf28..291c4bb 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-annotations/integration.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/integration.html b/hbase-annotations/integration.html
index 3c76f6f..41207c1 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Annotations">Apache HBase - Annotations</a>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 4e4f766..e54a621 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
@@ -411,148 +411,148 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.129">m_format__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_frags">
+<a name="m_serverManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_frags</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.141">m_frags</a></pre>
+<h4>m_serverManager</h4>
+<pre>private&nbsp;<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.141">m_serverManager</a></pre>
 </li>
 </ul>
-<a name="m_frags__IsNotDefault">
+<a name="m_serverManager__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_frags__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.146">m_frags__IsNotDefault</a></pre>
+<h4>m_serverManager__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.146">m_serverManager__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_deadServers">
+<a name="m_filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_deadServers</h4>
-<pre>private&nbsp;<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>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.158">m_deadServers</a></pre>
+<h4>m_filter</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.158">m_filter</a></pre>
 </li>
 </ul>
-<a name="m_deadServers__IsNotDefault">
+<a name="m_filter__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_deadServers__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.163">m_deadServers__IsNotDefault</a></pre>
+<h4>m_filter__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.163">m_filter__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_serverManager">
+<a name="m_assignmentManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_serverManager</h4>
-<pre>private&nbsp;<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>
+<h4>m_assignmentManager</h4>
+<pre>private&nbsp;<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.175">m_assignmentManager</a></pre>
 </li>
 </ul>
-<a name="m_serverManager__IsNotDefault">
+<a name="m_assignmentManager__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_serverManager__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.180">m_serverManager__IsNotDefault</a></pre>
+<h4>m_assignmentManager__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.180">m_assignmentManager__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&nbsp;<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&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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>&gt; <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&nbsp;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&nbsp;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_servers">
+<a name="m_deadServers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_servers</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.209">m_servers</a></pre>
+<h4>m_deadServers</h4>
+<pre>private&nbsp;<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>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.209">m_deadServers</a></pre>
 </li>
 </ul>
-<a name="m_servers__IsNotDefault">
+<a name="m_deadServers__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_servers__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.214">m_servers__IsNotDefault</a></pre>
+<h4>m_deadServers__IsNotDefault</h4>
+<pre>private&nbsp;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_filter">
+<a name="m_metaLocation">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.226">m_filter</a></pre>
+<h4>m_metaLocation</h4>
+<pre>private&nbsp;<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_metaLocation</a></pre>
 </li>
 </ul>
-<a name="m_filter__IsNotDefault">
+<a name="m_metaLocation__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.231">m_filter__IsNotDefault</a></pre>
+<h4>m_metaLocation__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.231">m_metaLocation__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_metaLocation">
+<a name="m_catalogJanitorEnabled">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_metaLocation</h4>
-<pre>private&nbsp;<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.243">m_metaLocation</a></pre>
+<h4>m_catalogJanitorEnabled</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.243">m_catalogJanitorEnabled</a></pre>
 </li>
 </ul>
-<a name="m_metaLocation__IsNotDefault">
+<a name="m_catalogJanitorEnabled__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_metaLocation__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.248">m_metaLocation__IsNotDefault</a></pre>
+<h4>m_catalogJanitorEnabled__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.248">m_catalogJanitorEnabled__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&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.260">m_catalogJanitorEnabled</a></pre>
+<h4>m_servers</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.260">m_servers</a></pre>
 </li>
 </ul>
-<a name="m_catalogJanitorEnabled__IsNotDefault">
+<a name="m_servers__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>m_catalogJanitorEnabled__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.265">m_catalogJanitorEnabled__IsNotDefault</a></pre>
+<h4>m_servers__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.265">m_servers__IsNotDefault</a></pre>
 </li>
 </ul>
 </li>
@@ -625,220 +625,220 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.125">getFormat__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFrags-java.util.Map-">
+<a name="setServerManager-org.apache.hadoop.hbase.master.ServerManager-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFrags</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.131">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>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<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>&gt;&nbsp;frags)</pre>
+<h4>setServerManager</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.131">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;serverManager)</pre>
 </li>
 </ul>
-<a name="getFrags--">
+<a name="getServerManager--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFrags</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.137">getFrags</a>()</pre>
+<h4>getServerManager</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.137">getServerManager</a>()</pre>
 </li>
 </ul>
-<a name="getFrags__IsNotDefault--">
+<a name="getServerManager__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFrags__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.142">getFrags__IsNotDefault</a>()</pre>
+<h4>getServerManager__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.142">getServerManager__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setDeadServers-java.util.Set-">
+<a name="setFilter-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setDeadServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.148">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>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;deadServers)</pre>
+<h4>setFilter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.148">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>&nbsp;filter)</pre>
 </li>
 </ul>
-<a name="getDeadServers--">
+<a name="getFilter--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getDeadServers</h4>
-<pre>public&nbsp;<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>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.154">getDeadServers</a>()</pre>
+<h4>getFilter</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.154">getFilter</a>()</pre>
 </li>
 </ul>
-<a name="getDeadServers__IsNotDefault--">
+<a name="getFilter__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getDeadServers__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.159">getDeadServers__IsNotDefault</a>()</pre>
+<h4>getFilter__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.159">getFilter__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setServerManager-org.apache.hadoop.hbase.master.ServerManager-">
+<a name="setAssignmentManager-org.apache.hadoop.hbase.master.AssignmentManager-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServerManager</h4>
-<pre>public&nbsp;void&nbsp;<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>&nbsp;serverManager)</pre>
+<h4>setAssignmentManager</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.165">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a>&nbsp;assignmentManager)</pre>
 </li>
 </ul>
-<a name="getServerManager--">
+<a name="getAssignmentManager--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getServerManager</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.171">getServerManager</a>()</pre>
+<h4>getAssignmentManager</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.171">getAssignmentManager</a>()</pre>
 </li>
 </ul>
-<a name="getServerManager__IsNotDefault--">
+<a name="getAssignmentManager__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getServerManager__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.176">getServerManager__IsNotDefault</a>()</pre>
+<h4>getAssignmentManager__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.176">getAssignmentManager__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&nbsp;void&nbsp;<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>&nbsp;assignmentManager)</pre>
+<h4>setFrags</h4>
+<pre>public&nbsp;void&nbsp;<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>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<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>&gt;&nbsp;frags)</pre>
 </li>
 </ul>
-<a name="getAssignmentManager--">
+<a name="getFrags--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getAssignmentManager</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.188">getAssignmentManager</a>()</pre>
+<h4>getFrags</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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>&gt;&nbsp;<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&nbsp;boolean&nbsp;<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&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.193">getFrags__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setServers-java.util.List-">
+<a name="setDeadServers-java.util.Set-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServers</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.199">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>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;servers)</pre>
+<h4>setDeadServers</h4>
+<pre>public&nbsp;void&nbsp;<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>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;deadServers)</pre>
 </li>
 </ul>
-<a name="getServers--">
+<a name="getDeadServers--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getServers</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.205">getServers</a>()</pre>
+<h4>getDeadServers</h4>
+<pre>public&nbsp;<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>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.205">getDeadServers</a>()</pre>
 </li>
 </ul>
-<a name="getServers__IsNotDefault--">
+<a name="getDeadServers__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getServers__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.210">getServers__IsNotDefault</a>()</pre>
+<h4>getDeadServers__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.210">getDeadServers__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFilter-java.lang.String-">
+<a name="setMetaLocation-org.apache.hadoop.hbase.ServerName-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.216">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>&nbsp;filter)</pre>
+<h4>setMetaLocation</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.216">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;metaLocation)</pre>
 </li>
 </ul>
-<a name="getFilter--">
+<a name="getMetaLocation--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFilter</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.222">getFilter</a>()</pre>
+<h4>getMetaLocation</h4>
+<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.222">getMetaLocation</a>()</pre>
 </li>
 </ul>
-<a name="getFilter__IsNotDefault--">
+<a name="getMetaLocation__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFilter__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.227">getFilter__IsNotDefault</a>()</pre>
+<h4>getMetaLocation__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.227">getMetaLocation__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setMetaLocation-org.apache.hadoop.hbase.ServerName-">
+<a name="setCatalogJanitorEnabled-boolean-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setMetaLocation</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.233">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;metaLocation)</pre>
+<h4>setCatalogJanitorEnabled</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.233">setCatalogJanitorEnabled</a>(boolean&nbsp;catalogJanitorEnabled)</pre>
 </li>
 </ul>
-<a name="getMetaLocation--">
+<a name="getCatalogJanitorEnabled--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getMetaLocation</h4>
-<pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.239">getMetaLocation</a>()</pre>
+<h4>getCatalogJanitorEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.239">getCatalogJanitorEnabled</a>()</pre>
 </li>
 </ul>
-<a name="getMetaLocation__IsNotDefault--">
+<a name="getCatalogJanitorEnabled__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getMetaLocation__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.244">getMetaLocation__IsNotDefault</a>()</pre>
+<h4>getCatalogJanitorEnabled__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.244">getCatalogJanitorEnabled__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&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.250">setCatalogJanitorEnabled</a>(boolean&nbsp;catalogJanitorEnabled)</pre>
+<h4>setServers</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.250">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>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;servers)</pre>
 </li>
 </ul>
-<a name="getCatalogJanitorEnabled--">
+<a name="getServers--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getCatalogJanitorEnabled</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.256">getCatalogJanitorEnabled</a>()</pre>
+<h4>getServers</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.256">getServers</a>()</pre>
 </li>
 </ul>
-<a name="getCatalogJanitorEnabled__IsNotDefault--">
+<a name="getServers__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>getCatalogJanitorEnabled__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.261">getCatalogJanitorEnabled__IsNotDefault</a>()</pre>
+<h4>getServers__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.261">getServers__IsNotDefault</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 ac0038d..3b40ee7 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
@@ -346,76 +346,76 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.277">format</a></pre>
 </li>
 </ul>
-<a name="frags">
+<a name="serverManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>frags</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.284">frags</a></pre>
+<h4>serverManager</h4>
+<pre>protected&nbsp;<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.284">serverManager</a></pre>
 </li>
 </ul>
-<a name="deadServers">
+<a name="filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>deadServers</h4>
-<pre>protected&nbsp;<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>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.291">deadServers</a></pre>
+<h4>filter</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.291">filter</a></pre>
 </li>
 </ul>
-<a name="serverManager">
+<a name="assignmentManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>serverManager</h4>
-<pre>protected&nbsp;<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>
+<h4>assignmentManager</h4>
+<pre>protected&nbsp;<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.298">assignmentManager</a></pre>
 </li>
 </ul>
-<a name="assignmentManager">
+<a name="frags">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>assignmentManager</h4>
-<pre>protected&nbsp;<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&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.305">frags</a></pre>
 </li>
 </ul>
-<a name="servers">
+<a name="deadServers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>servers</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.312">servers</a></pre>
+<h4>deadServers</h4>
+<pre>protected&nbsp;<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>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.312">deadServers</a></pre>
 </li>
 </ul>
-<a name="filter">
+<a name="metaLocation">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>filter</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.319">filter</a></pre>
+<h4>metaLocation</h4>
+<pre>protected&nbsp;<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">metaLocation</a></pre>
 </li>
 </ul>
-<a name="metaLocation">
+<a name="catalogJanitorEnabled">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>metaLocation</h4>
-<pre>protected&nbsp;<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.326">metaLocation</a></pre>
+<h4>catalogJanitorEnabled</h4>
+<pre>protected&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.326">catalogJanitorEnabled</a></pre>
 </li>
 </ul>
-<a name="catalogJanitorEnabled">
+<a name="servers">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>catalogJanitorEnabled</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.333">catalogJanitorEnabled</a></pre>
+<h4>servers</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.333">servers</a></pre>
 </li>
 </ul>
 </li>
@@ -496,31 +496,22 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.278">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>&nbsp;p_format)</pre>
 </li>
 </ul>
-<a name="setFrags-java.util.Map-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setFrags</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.285">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>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<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>&gt;&nbsp;p_frags)</pre>
-</li>
-</ul>
-<a name="setDeadServers-java.util.Set-">
+<a name="setServerManager-org.apache.hadoop.hbase.master.ServerManager-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setDeadServers</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.292">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>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;p_deadServers)</pre>
+<h4>setServerManager</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.285">setServerManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a>&nbsp;p_serverManager)</pre>
 </li>
 </ul>
-<a name="setServerManager-org.apache.hadoop.hbase.master.ServerManager-">
+<a name="setFilter-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServerManager</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<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>&nbsp;p_serverManager)</pre>
+<h4>setFilter</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.292">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>&nbsp;p_filter)</pre>
 </li>
 </ul>
 <a name="setAssignmentManager-org.apache.hadoop.hbase.master.AssignmentManager-">
@@ -529,25 +520,25 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>setAssignmentManager</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<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>&nbsp;p_assignmentManager)</pre>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.299">setAssignmentManager</a>(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html" title="class in org.apache.hadoop.hbase.master">AssignmentManager</a>&nbsp;p_assignmentManager)</pre>
 </li>
 </ul>
-<a name="setServers-java.util.List-">
+<a name="setFrags-java.util.Map-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setServers</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.313">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>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;p_servers)</pre>
+<h4>setFrags</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<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>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<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>&gt;&nbsp;p_frags)</pre>
 </li>
 </ul>
-<a name="setFilter-java.lang.String-">
+<a name="setDeadServers-java.util.Set-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.320">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>&nbsp;p_filter)</pre>
+<h4>setDeadServers</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<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>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;p_deadServers)</pre>
 </li>
 </ul>
 <a name="setMetaLocation-org.apache.hadoop.hbase.ServerName-">
@@ -556,7 +547,7 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>setMetaLocation</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.327">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;p_metaLocation)</pre>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.320">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;p_metaLocation)</pre>
 </li>
 </ul>
 <a name="setCatalogJanitorEnabled-boolean-">
@@ -565,7 +556,16 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>setCatalogJanitorEnabled</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.334">setCatalogJanitorEnabled</a>(boolean&nbsp;p_catalogJanitorEnabled)</pre>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.327">setCatalogJanitorEnabled</a>(boolean&nbsp;p_catalogJanitorEnabled)</pre>
+</li>
+</ul>
+<a name="setServers-java.util.List-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setServers</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.master">MasterStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.334">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>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt;&nbsp;p_servers)</pre>
 </li>
 </ul>
 <a name="constructImpl-java.lang.Class-">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 9817c2d..bdfaa96 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
@@ -287,76 +287,76 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Master
 <pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.65">format</a></pre>
 </li>
 </ul>
-<a name="frags">
+<a name="serverManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>frags</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.66">frags</a></pre>
+<h4>serverManager</h4>
+<pre>private final&nbsp;<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.66">serverManager</a></pre>
 </li>
 </ul>
-<a name="deadServers">
+<a name="filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>deadServers</h4>
-<pre>private final&nbsp;<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>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.67">deadServers</a></pre>
+<h4>filter</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.67">filter</a></pre>
 </li>
 </ul>
-<a name="serverManager">
+<a name="assignmentManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>serverManager</h4>
-<pre>private final&nbsp;<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>
+<h4>assignmentManager</h4>
+<pre>private final&nbsp;<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.68">assignmentManager</a></pre>
 </li>
 </ul>
-<a name="assignmentManager">
+<a name="frags">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>assignmentManager</h4>
-<pre>private final&nbsp;<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&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.69">frags</a></pre>
 </li>
 </ul>
-<a name="servers">
+<a name="deadServers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>servers</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.70">servers</a></pre>
+<h4>deadServers</h4>
+<pre>private final&nbsp;<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>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.70">deadServers</a></pre>
 </li>
 </ul>
-<a name="filter">
+<a name="metaLocation">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>filter</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.71">filter</a></pre>
+<h4>metaLocation</h4>
+<pre>private final&nbsp;<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">metaLocation</a></pre>
 </li>
 </ul>
-<a name="metaLocation">
+<a name="catalogJanitorEnabled">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>metaLocation</h4>
-<pre>private final&nbsp;<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.72">metaLocation</a></pre>
+<h4>catalogJanitorEnabled</h4>
+<pre>private final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.72">catalogJanitorEnabled</a></pre>
 </li>
 </ul>
-<a name="catalogJanitorEnabled">
+<a name="servers">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>catalogJanitorEnabled</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.73">catalogJanitorEnabled</a></pre>
+<h4>servers</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&gt; <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.73">servers</a></pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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..53fbd01 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
@@ -293,40 +293,40 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;<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_format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_bcv</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.83">m_bcv</a></pre>
+<h4>m_format</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.83">m_format</a></pre>
 </li>
 </ul>
-<a name="m_bcv__IsNotDefault">
+<a name="m_format__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_bcv__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.88">m_bcv__IsNotDefault</a></pre>
+<h4>m_format__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.88">m_format__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_format">
+<a name="m_bcv">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.100">m_format</a></pre>
+<h4>m_bcv</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.100">m_bcv</a></pre>
 </li>
 </ul>
-<a name="m_format__IsNotDefault">
+<a name="m_bcv__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.105">m_format__IsNotDefault</a></pre>
+<h4>m_bcv__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.105">m_bcv__IsNotDefault</a></pre>
 </li>
 </ul>
 <a name="m_filter">
@@ -408,58 +408,58 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;<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="setFormat-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setBcv</h4>
-<pre>public&nbsp;void&nbsp;<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>&nbsp;bcv)</pre>
+<h4>setFormat</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.73">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>&nbsp;format)</pre>
 </li>
 </ul>
-<a name="getBcv--">
+<a name="getFormat--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getBcv</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.79">getBcv</a>()</pre>
+<h4>getFormat</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.79">getFormat</a>()</pre>
 </li>
 </ul>
-<a name="getBcv__IsNotDefault--">
+<a name="getFormat__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getBcv__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.84">getBcv__IsNotDefault</a>()</pre>
+<h4>getFormat__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.84">getFormat__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFormat-java.lang.String-">
+<a name="setBcv-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</h4>
-<pre>public&nbsp;void&nbsp;<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>&nbsp;format)</pre>
+<h4>setBcv</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.90">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>&nbsp;bcv)</pre>
 </li>
 </ul>
-<a name="getFormat--">
+<a name="getBcv--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.96">getFormat</a>()</pre>
+<h4>getBcv</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.96">getBcv</a>()</pre>
 </li>
 </ul>
-<a name="getFormat__IsNotDefault--">
+<a name="getBcv__IsNotDefault--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.101">getFormat__IsNotDefault</a>()</pre>
+<h4>getBcv__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.101">getBcv__IsNotDefault</a>()</pre>
 </li>
 </ul>
 <a name="setFilter-java.lang.String-">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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..163936c 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
@@ -297,22 +297,22 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <!--   -->
 </a>
 <h3>Field Detail</h3>
-<a name="bcv">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>bcv</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.151">bcv</a></pre>
+<h4>format</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.151">format</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="bcv">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>format</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.158">format</a></pre>
+<h4>bcv</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.158">bcv</a></pre>
 </li>
 </ul>
 <a name="filter">
@@ -402,22 +402,22 @@ extends org.jamon.AbstractTemplateProxy</pre>
 </dl>
 </li>
 </ul>
-<a name="setBcv-java.lang.String-">
+<a name="setFormat-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setBcv</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<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>&nbsp;p_bcv)</pre>
+<h4>setFormat</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.152">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>&nbsp;p_format)</pre>
 </li>
 </ul>
-<a name="setFormat-java.lang.String-">
+<a name="setBcv-java.lang.String-">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</h4>
-<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<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>&nbsp;p_format)</pre>
+<h4>setBcv</h4>
+<pre>public final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html" title="class in org.apache.hadoop.hbase.tmpl.regionserver">RSStatusTmpl</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.159">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>&nbsp;p_bcv)</pre>
 </li>
 </ul>
 <a name="setFilter-java.lang.String-">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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..41b43b6 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
@@ -238,22 +238,22 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/
 <pre>private final&nbsp;<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="format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>bcv</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.29">bcv</a></pre>
+<h4>format</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.29">format</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="bcv">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>format</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.30">format</a></pre>
+<h4>bcv</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html#line.30">bcv</a></pre>
 </li>
 </ul>
 <a name="filter">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 ac18894..f3ddded 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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/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/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/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">IdReadWriteLock.ReferenceType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/PrettyPrinter.Unit.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">PrettyPrinter.Unit</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.PureJavaComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/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/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/IdReadWriteLock.ReferenceType.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">IdReadWriteLock.ReferenceType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.PureJavaComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.PureJavaComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.LexicographicalComparerHolder.UnsafeComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="typeNameLink">Bytes.LexicographicalComparerHolder.UnsafeComparer</span></a> (implements org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Bytes.Comparer.html" title="interface in org.apache.hadoop.hbase.util">Bytes.Comparer</a>&lt;T&gt;)</li>
 </ul>
 </li>
 </ul>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html b/devapidocs/src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html
index 2aea531..4ff3ed5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html
@@ -6,7 +6,7 @@
 </head>
 <body>
 <div class="sourceContainer">
-<pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
+<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
 <span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
 <span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
 <span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
@@ -23,169 +23,225 @@
 <span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
 <span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
-<span class="sourceLineNo">018</span><a name="line.18"></a>
-<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.security;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.ByteArrayInputStream;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.DataInputStream;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.Locale;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.Map;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.function.Consumer;<a name="line.26"></a>
-<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>import javax.security.auth.callback.Callback;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import javax.security.auth.callback.CallbackHandler;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import javax.security.auth.callback.NameCallback;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import javax.security.auth.callback.PasswordCallback;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import javax.security.auth.callback.UnsupportedCallbackException;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import javax.security.sasl.AuthorizeCallback;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import javax.security.sasl.RealmCallback;<a name="line.34"></a>
-<span class="sourceLineNo">035</span><a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.commons.logging.Log;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.commons.logging.LogFactory;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.conf.Configuration;<a name="line.38"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.security;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.io.ByteArrayInputStream;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.io.DataInputStream;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.security.PrivilegedExceptionAction;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.util.Map;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import javax.security.auth.callback.Callback;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import javax.security.auth.callback.CallbackHandler;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import javax.security.auth.callback.NameCallback;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import javax.security.auth.callback.PasswordCallback;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import javax.security.auth.callback.UnsupportedCallbackException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import javax.security.sasl.AuthorizeCallback;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import javax.security.sasl.RealmCallback;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import javax.security.sasl.Sasl;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import javax.security.sasl.SaslException;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import javax.security.sasl.SaslServer;<a name="line.35"></a>
+<span class="sourceLineNo">036</span><a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.commons.logging.Log;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.commons.logging.LogFactory;<a name="line.38"></a>
 <span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.security.SaslUtil.QualityOfProtection;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.security.token.SecretManager;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.security.token.SecretManager.InvalidToken;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>/**<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * A utility class for dealing with SASL on RPC server<a name="line.47"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.security.token.SecretManager;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.security.token.SecretManager.InvalidToken;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span>/**<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * A utility class that encapsulates SASL logic for RPC server. Copied from<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * &lt;code&gt;org.apache.hadoop.security&lt;/code&gt;<a name="line.47"></a>
 <span class="sourceLineNo">048</span> */<a name="line.48"></a>
 <span class="sourceLineNo">049</span>@InterfaceAudience.Private<a name="line.49"></a>
 <span class="sourceLineNo">050</span>public class HBaseSaslRpcServer {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>  private static final Log LOG = LogFactory.getLog(HBaseSaslRpcServer.class);<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>  private static Map&lt;String, String&gt; saslProps = null;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>  public static void init(Configuration conf) {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    saslProps = SaslUtil.initSaslProperties(conf.get("hbase.rpc.protection",<a name="line.56"></a>
-<span class="sourceLineNo">057</span>          QualityOfProtection.AUTHENTICATION.name().toLowerCase(Locale.ROOT)));<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  }<a name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>  public static Map&lt;String, String&gt; getSaslProps() {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    return saslProps;<a name="line.61"></a>
-<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>  public static &lt;T extends TokenIdentifier&gt; T getIdentifier(String id,<a name="line.64"></a>
-<span class="sourceLineNo">065</span>      SecretManager&lt;T&gt; secretManager) throws InvalidToken {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    byte[] tokenId = SaslUtil.decodeIdentifier(id);<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    T tokenIdentifier = secretManager.createIdentifier();<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    try {<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      tokenIdentifier.readFields(new DataInputStream(new ByteArrayInputStream(<a name="line.69"></a>
-<span class="sourceLineNo">070</span>          tokenId)));<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    } catch (IOException e) {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      throw (InvalidToken) new InvalidToken(<a name="line.72"></a>
-<span class="sourceLineNo">073</span>          "Can't de-serialize tokenIdentifier").initCause(e);<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    }<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    return tokenIdentifier;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  }<a name="line.76"></a>
-<span class="sourceLineNo">077</span><a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  /** CallbackHandler for SASL DIGEST-MD5 mechanism */<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  public static class SaslDigestCallbackHandler implements CallbackHandler {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    private SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    private Consumer&lt;UserGroupInformation&gt; attemptingUserConsumer;<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public SaslDigestCallbackHandler(SecretManager&lt;TokenIdentifier&gt; secretManager,<a name="line.84"></a>
-<span class="sourceLineNo">085</span>        Consumer&lt;UserGroupInformation&gt; attemptingUserConsumer) {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      this.secretManager = secretManager;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      this.attemptingUserConsumer = attemptingUserConsumer;<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>    private char[] getPassword(TokenIdentifier tokenid) throws InvalidToken {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      return SaslUtil.encodePassword(secretManager.retrievePassword(tokenid));<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    }<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>    /** {@inheritDoc} */<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    @Override<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    public void handle(Callback[] callbacks) throws InvalidToken,<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        UnsupportedCallbackException {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      NameCallback nc = null;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      PasswordCallback pc = null;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      AuthorizeCallback ac = null;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>      for (Callback callback : callbacks) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>        if (callback instanceof AuthorizeCallback) {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>          ac = (AuthorizeCallback) callback;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        } else if (callback instanceof NameCallback) {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>          nc = (NameCallback) callback;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>        } else if (callback instanceof PasswordCallback) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>          pc = (PasswordCallback) callback;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>        } else if (callback instanceof RealmCallback) {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>          continue; // realm is ignored<a name="line.109"></a>
-<span class="sourceLineNo">110</span>        } else {<a name="line.110"></a>
-<span class="sourceLineNo">111</span>          throw new UnsupportedCallbackException(callback,<a name="line.111"></a>
-<span class="sourceLineNo">112</span>              "Unrecognized SASL DIGEST-MD5 Callback");<a name="line.112"></a>
-<span class="sourceLineNo">113</span>        }<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      }<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      if (pc != null) {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>        TokenIdentifier tokenIdentifier = getIdentifier(nc.getDefaultName(), secretManager);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>        char[] password = getPassword(tokenIdentifier);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>        UserGroupInformation user = tokenIdentifier.getUser(); // may throw exception<a name="line.118"></a>
-<span class="sourceLineNo">119</span>        attemptingUserConsumer.accept(user);<a name="line.119"></a>
-<span class="sourceLineNo">120</span>        if (LOG.isTraceEnabled()) {<a name="line.120"></a>
-<span class="sourceLineNo">121</span>          LOG.trace("SASL server DIGEST-MD5 callback: setting password " + "for client: " +<a name="line.121"></a>
-<span class="sourceLineNo">122</span>              tokenIdentifier.getUser());<a name="line.122"></a>
-<span class="sourceLineNo">123</span>        }<a name="line.123"></a>
-<span class="sourceLineNo">124</span>        pc.setPassword(password);<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      }<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      if (ac != null) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        String authid = ac.getAuthenticationID();<a name="line.127"></a>
-<span class="sourceLineNo">128</span>        String authzid = ac.getAuthorizationID();<a name="line.128"></a>
-<span class="sourceLineNo">129</span>        if (authid.equals(authzid)) {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>          ac.setAuthorized(true);<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        } else {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>          ac.setAuthorized(false);<a name="line.132"></a>
-<span class="sourceLineNo">133</span>        }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        if (ac.isAuthorized()) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>          if (LOG.isTraceEnabled()) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>            String username =<a name="line.136"></a>
-<span class="sourceLineNo">137</span>              getIdentifier(authzid, secretManager).getUser().getUserName();<a name="line.137"></a>
-<span class="sourceLineNo">138</span>            LOG.trace("SASL server DIGEST-MD5 callback: setting "<a name="line.138"></a>
-<span class="sourceLineNo">139</span>                + "canonicalized client ID: " + username);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>          }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>          ac.setAuthorizedID(authzid);<a name="line.141"></a>
-<span class="sourceLineNo">142</span>        }<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>  /** CallbackHandler for SASL GSSAPI Kerberos mechanism */<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  public static class SaslGssCallbackHandler implements CallbackHandler {<a name="line.148"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>  private static final Log LOG = LogFactory.getLog(HBaseSaslRpcServer.class);<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>  private final SaslServer saslServer;<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>  private UserGroupInformation attemptingUser; // user name before auth<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span>  public HBaseSaslRpcServer(AuthMethod method, Map&lt;String, String&gt; saslProps,<a name="line.58"></a>
+<span class="sourceLineNo">059</span>      SecretManager&lt;TokenIdentifier&gt; secretManager) throws IOException {<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    switch (method) {<a name="line.60"></a>
+<span class="sourceLineNo">061</span>      case DIGEST:<a name="line.61"></a>
+<span class="sourceLineNo">062</span>        if (secretManager == null) {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>          throw new AccessDeniedException("Server is not configured to do DIGEST authentication.");<a name="line.63"></a>
+<span class="sourceLineNo">064</span>        }<a name="line.64"></a>
+<span class="sourceLineNo">065</span>        saslServer = Sasl.createSaslServer(AuthMethod.DIGEST.getMechanismName(), null,<a name="line.65"></a>
+<span class="sourceLineNo">066</span>          SaslUtil.SASL_DEFAULT_REALM, saslProps, new SaslDigestCallbackHandler(secretManager));<a name="line.66"></a>
+<span class="sourceLineNo">067</span>        break;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>      case KERBEROS:<a name="line.68"></a>
+<span class="sourceLineNo">069</span>        UserGroupInformation current = UserGroupInformation.getCurrentUser();<a name="line.69"></a>
+<span class="sourceLineNo">070</span>        String fullName = current.getUserName();<a name="line.70"></a>
+<span class="sourceLineNo">071</span>        if (LOG.isDebugEnabled()) {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>          LOG.debug("Kerberos principal name is " + fullName);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>        }<a name="line.73"></a>
+<span class="sourceLineNo">074</span>        String[] names = SaslUtil.splitKerberosName(fullName);<a name="line.74"></a>
+<span class="sourceLineNo">075</span>        if (names.length != 3) {<a name="line.75"></a>
+<span class="sourceLineNo">076</span>          throw new AccessDeniedException(<a name="line.76"></a>
+<span class="sourceLineNo">077</span>              "Kerberos principal name does NOT have the expected " + "hostname part: " + fullName);<a name="line.77"></a>
+<span class="sourceLineNo">078</span>        }<a name="line.78"></a>
+<span class="sourceLineNo">079</span>        try {<a name="line.79"></a>
+<span class="sourceLineNo">080</span>          saslServer = current.doAs(new PrivilegedExceptionAction&lt;SaslServer&gt;() {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>            @Override<a name="line.81"></a>
+<span class="sourceLineNo">082</span>            public SaslServer run() throws SaslException {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>              return Sasl.createSaslServer(AuthMethod.KERBEROS.getMechanismName(), names[0],<a name="line.83"></a>
+<span class="sourceLineNo">084</span>                names[1], saslProps, new SaslGssCallbackHandler());<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>        } catch (InterruptedException e) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>          // should not happen<a name="line.88"></a>
+<span class="sourceLineNo">089</span>          throw new AssertionError(e);<a name="line.89"></a>
+<span class="sourceLineNo">090</span>        }<a name="line.90"></a>
+<span class="sourceLineNo">091</span>        break;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      default:<a name="line.92"></a>
+<span class="sourceLineNo">093</span>        throw new IOException("Unknown authentication method " + method);<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    }<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>  public boolean isComplete() {<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    return saslServer.isComplete();<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  }<a name="line.99"></a>
+<span class="sourceLineNo">100</span><a name="line.100"></a>
+<span class="sourceLineNo">101</span>  public byte[] evaluateResponse(byte[] response) throws SaslException {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    return saslServer.evaluateResponse(response);<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  }<a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span>  /** Release resources used by wrapped saslServer */<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  public void dispose() {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    SaslUtil.safeDispose(saslServer);<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  }<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span>  public UserGroupInformation getAttemptingUser() {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    return attemptingUser;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  }<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  public byte[] wrap(byte[] buf, int off, int len) throws SaslException {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    return saslServer.wrap(buf, off, len);<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  }<a name="line.116"></a>
+<span class="sourceLineNo">117</span><a name="line.117"></a>
+<span class="sourceLineNo">118</span>  public byte[] unwrap(byte[] buf, int off, int len) throws SaslException {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return saslServer.unwrap(buf, off, len);<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>  public String getNegotiatedQop() {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    return (String) saslServer.getNegotiatedProperty(Sasl.QOP);<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  }<a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125"></a>
+<span class="sourceLineNo">126</span>  public String getAuthorizationID() {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    return saslServer.getAuthorizationID();<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>  public static &lt;T extends TokenIdentifier&gt; T getIdentifier(String id,<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      SecretManager&lt;T&gt; secretManager) throws InvalidToken {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    byte[] tokenId = SaslUtil.decodeIdentifier(id);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    T tokenIdentifier = secretManager.createIdentifier();<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    try {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      tokenIdentifier.readFields(new DataInputStream(new ByteArrayInputStream(tokenId)));<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    } catch (IOException e) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      throw (InvalidToken) new InvalidToken("Can't de-serialize tokenIdentifier").initCause(e);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    }<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    return tokenIdentifier;<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>  /** CallbackHandler for SASL DIGEST-MD5 mechanism */<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  private class SaslDigestCallbackHandler implements CallbackHandler {<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    private SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>    public SaslDigestCallbackHandler(SecretManager&lt;TokenIdentifier&gt; secretManager) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>      this.secretManager = secretManager;<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>    /** {@inheritDoc} */<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    @Override<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    public void handle(Callback[] callbacks) throws<a name="line.152"></a>
-<span class="sourceLineNo">153</span>        UnsupportedCallbackException {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      AuthorizeCallback ac = null;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>      for (Callback callback : callbacks) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>        if (callback instanceof AuthorizeCallback) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>          ac = (AuthorizeCallback) callback;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        } else {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>          throw new UnsupportedCallbackException(callback,<a name="line.159"></a>
-<span class="sourceLineNo">160</span>              "Unrecognized SASL GSSAPI Callback");<a name="line.160"></a>
-<span class="sourceLineNo">161</span>        }<a name="line.161"></a>
-<span class="sourceLineNo">162</span>      }<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      if (ac != null) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>        String authid = ac.getAuthenticationID();<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        String authzid = ac.getAuthorizationID();<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        if (authid.equals(authzid)) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>          ac.setAuthorized(true);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>        } else {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>          ac.setAuthorized(false);<a name="line.169"></a>
-<span class="sourceLineNo">170</span>        }<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        if (ac.isAuthorized()) {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>          if (LOG.isDebugEnabled())<a name="line.172"></a>
-<span class="sourceLineNo">173</span>            LOG.debug("SASL server GSSAPI callback: setting "<a name="line.173"></a>
-<span class="sourceLineNo">174</span>                + "canonicalized client ID: " + authzid);<a name="line.174"></a>
-<span class="sourceLineNo">175</span>          ac.setAuthorizedID(authzid);<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>    }<a name="line.178"></a>
-<span class="sourceLineNo">179</span>  }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>}<a name="line.180"></a>
+<span class="sourceLineNo">150</span>    private char[] getPassword(TokenIdentifier tokenid) throws InvalidToken {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      return SaslUtil.encodePassword(secretManager.retrievePassword(tokenid));<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>    /** {@inheritDoc} */<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    @Override<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    public void handle(Callback[] callbacks) throws InvalidToken, UnsupportedCallbackException {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>      NameCallback nc = null;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      PasswordCallback pc = null;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      AuthorizeCallback ac = null;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      for (Callback callback : callbacks) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>        if (callback instanceof AuthorizeCallback) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>          ac = (AuthorizeCallback) callback;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>        } else if (callback instanceof NameCallback) {<a name="line.163"></a>
+<span class="sourceLineNo">164</span>          nc = (NameCallback) callback;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>        } else if (callback instanceof PasswordCallback) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>          pc = (PasswordCallback) callback;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>        } else if (callback instanceof RealmCallback) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>          continue; // realm is ignored<a name="line.168"></a>
+<span class="sourceLineNo">169</span>        } else {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>          throw new UnsupportedCallbackException(callback, "Unrecognized SASL DIGEST-MD5 Callback");<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>      if (pc != null) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        TokenIdentifier tokenIdentifier = getIdentifier(nc.getDefaultName(), secretManager);<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        char[] password = getPassword(tokenIdentifier);<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        UserGroupInformation user = tokenIdentifier.getUser(); // may throw exception<a name="line.176"></a>
+<span class="sourceLineNo">177</span>        attemptingUser = user;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>        if (LOG.isTraceEnabled()) {<a name="line.178"></a>
+<span class="sourceLineNo">179</span>          LOG.trace("SASL server DIGEST-MD5 callback: setting password " + "for client: " +<a name="line.179"></a>
+<span class="sourceLineNo">180</span>              tokenIdentifier.getUser());<a name="line.180"></a>
+<span class="sourceLineNo">181</span>        }<a name="line.181"></a>
+<span class="sourceLineNo">182</span>        pc.setPassword(password);<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      }<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      if (ac != null) {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>        String authid = ac.getAuthenticationID();<a name="line.185"></a>
+<span class="sourceLineNo">186</span>        String authzid = ac.getAuthorizationID();<a name="line.186"></a>
+<span class="sourceLineNo">187</span>        if (authid.equals(authzid)) {<a name="line.187"></a>
+<span class="sourceLineNo">188</span>          ac.setAuthorized(true);<a name="line.188"></a>
+<span class="sourceLineNo">189</span>        } else {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>          ac.setAuthorized(false);<a name="line.190"></a>
+<span class="sourceLineNo">191</span>        }<a name="line.191"></a>
+<span class="sourceLineNo">192</span>        if (ac.isAuthorized()) {<a name="line.192"></a>
+<span class="sourceLineNo">193</span>          if (LOG.isTraceEnabled()) {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>            String username = getIdentifier(authzid, secretManager).getUser().getUserName();<a name="line.194"></a>
+<span class="sourceLineNo">195</span>            LOG.trace(<a name="line.195"></a>
+<span class="sourceLineNo">196</span>              "SASL server DIGEST-MD5 callback: setting " + "canonicalized client ID: " + username);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>          }<a name="line.197"></a>
+<span class="sourceLineNo">198</span>          ac.setAuthorizedID(authzid);<a name="line.198"></a>
+<span class="sourceLineNo">199</span>        }<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      }<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    }<a name="line.201"></a>
+<span class="sourceLineNo">202</span>  }<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>  /** CallbackHandler for SASL GSSAPI Kerberos mechanism */<a name="line.204"></a>
+<span class="sourceLineNo">205</span>  private static class SaslGssCallbackHandler implements CallbackHandler {<a name="line.205"></a>
+<span class="sourceLineNo">206</span><a name="line.206"></a>
+<span class="sourceLineNo">207</span>    /** {@inheritDoc} */<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    @Override<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    public void handle(Callback[] callbacks) throws UnsupportedCallbackException {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      AuthorizeCallback ac = null;<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      for (Callback callback : callbacks) {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>        if (callback instanceof AuthorizeCallback) {<a name="line.212"></a>
+<span class="sourceLineNo">213</span>          ac = (AuthorizeCallback) callback;<a name="line.213"></a>
+<span class="sourceLineNo">214</span>        } else {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>          throw new UnsupportedCallbackException(callback, "Unrecognized SASL GSSAPI Callback");<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>      if (ac != null) {<a name="line.218"></a>
+<span class="sourceLineNo">219</span>        String authid = ac.getAuthenticationID();<a name="line.219"></a>
+<span class="sourceLineNo">220</span>        String authzid = ac.getAuthorizationID();<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        if (authid.equals(authzid)) {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>          ac.setAuthorized(true);<a name="line.222"></a>
+<span class="sourceLineNo">223</span>        } else {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>          ac.setAuthorized(false);<a name="line.224"></a>
+<span class="sourceLineNo">225</span>        }<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        if (ac.isAuthorized()) {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>          if (LOG.isDebugEnabled()) {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>            LOG.debug(<a name="line.228"></a>
+<span class="sourceLineNo">229</span>              "SASL server GSSAPI callback: setting " + "canonicalized client ID: " + authzid);<a name="line.229"></a>
+<span class="sourceLineNo">230</span>          }<a name="line.230"></a>
+<span class="sourceLineNo">231</span>          ac.setAuthorizedID(authzid);<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>  }<a name="line.235"></a>
+<span class="sourceLineNo">236</span>}<a name="line.236"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html b/devapidocs/src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html
index 9ee1f3f..282ab86 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html
@@ -32,106 +32,115 @@
 <span class="sourceLineNo">024</span>import javax.security.sasl.Sasl;<a name="line.24"></a>
 <span class="sourceLineNo">025</span>import javax.security.sasl.SaslClient;<a name="line.25"></a>
 <span class="sourceLineNo">026</span>import javax.security.sasl.SaslException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.commons.codec.binary.Base64;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.commons.logging.Log;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.commons.logging.LogFactory;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>@InterfaceAudience.Private<a name="line.33"></a>
-<span class="sourceLineNo">034</span>public class SaslUtil {<a name="line.34"></a>
-<span class="sourceLineNo">035</span>  private static final Log LOG = LogFactory.getLog(SaslUtil.class);<a name="line.35"></a>
-<span class="sourceLineNo">036</span>  public static final String SASL_DEFAULT_REALM = "default";<a name="line.36"></a>
-<span class="sourceLineNo">037</span>  public static final int SWITCH_TO_SIMPLE_AUTH = -88;<a name="line.37"></a>
-<span class="sourceLineNo">038</span><a name="line.38"></a>
-<span class="sourceLineNo">039</span>  public enum QualityOfProtection {<a name="line.39"></a>
-<span class="sourceLineNo">040</span>    AUTHENTICATION("auth"),<a name="line.40"></a>
-<span class="sourceLineNo">041</span>    INTEGRITY("auth-int"),<a name="line.41"></a>
-<span class="sourceLineNo">042</span>    PRIVACY("auth-conf");<a name="line.42"></a>
-<span class="sourceLineNo">043</span><a name="line.43"></a>
-<span class="sourceLineNo">044</span>    private final String saslQop;<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>    QualityOfProtection(String saslQop) {<a name="line.46"></a>
-<span class="sourceLineNo">047</span>      this.saslQop = saslQop;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    }<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>    public String getSaslQop() {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>      return saslQop;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    }<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>    public boolean matches(String stringQop) {<a name="line.54"></a>
-<span class="sourceLineNo">055</span>      if (saslQop.equals(stringQop)) {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>        LOG.warn("Use authentication/integrity/privacy as value for rpc protection "<a name="line.56"></a>
-<span class="sourceLineNo">057</span>            + "configurations instead of auth/auth-int/auth-conf.");<a name="line.57"></a>
-<span class="sourceLineNo">058</span>        return true;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>      }<a name="line.59"></a>
-<span class="sourceLineNo">060</span>      return name().equalsIgnoreCase(stringQop);<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><a name="line.63"></a>
-<span class="sourceLineNo">064</span>  /** Splitting fully qualified Kerberos name into parts */<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public static String[] splitKerberosName(String fullName) {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    return fullName.split("[/@]");<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  }<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  static String encodeIdentifier(byte[] identifier) {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    return new String(Base64.encodeBase64(identifier));<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>  static byte[] decodeIdentifier(String identifier) {<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    return Base64.decodeBase64(identifier.getBytes());<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  }<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  static char[] encodePassword(byte[] password) {<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    return new String(Base64.encodeBase64(password)).toCharArray();<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>  /**<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   * Returns {@link org.apache.hadoop.hbase.security.SaslUtil.QualityOfProtection}<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   * corresponding to the given {@code stringQop} value.<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * @throws IllegalArgumentException If stringQop doesn't match any QOP.<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   */<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  public static QualityOfProtection getQop(String stringQop) {<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    for (QualityOfProtection qop : QualityOfProtection.values()) {<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      if (qop.matches(stringQop)) {<a name="line.88"></a>
-<span class="sourceLineNo">089</span>        return qop;<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>    throw new IllegalArgumentException("Invalid qop: " +  stringQop<a name="line.92"></a>
-<span class="sourceLineNo">093</span>        + ". It must be one of 'authentication', 'integrity', 'privacy'.");<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  }<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  /**<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   * @param rpcProtection Value of 'hbase.rpc.protection' configuration.<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * @return Map with values for SASL properties.<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   */<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  static Map&lt;String, String&gt; initSaslProperties(String rpcProtection) {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    String saslQop;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    if (rpcProtection.isEmpty()) {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      saslQop = QualityOfProtection.AUTHENTICATION.getSaslQop();<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    } else {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      String[] qops = rpcProtection.split(",");<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      StringBuilder saslQopBuilder = new StringBuilder();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      for (int i = 0; i &lt; qops.length; ++i) {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>        QualityOfProtection qop = getQop(qops[i]);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>        saslQopBuilder.append(",").append(qop.getSaslQop());<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      }<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      saslQop = saslQopBuilder.substring(1);  // remove first ','<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    Map&lt;String, String&gt; saslProps = new TreeMap&lt;&gt;();<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    saslProps.put(Sasl.QOP, saslQop);<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    saslProps.put(Sasl.SERVER_AUTH, "true");<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    return saslProps;<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>  static void safeDispose(SaslClient saslClient) {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    try {<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      saslClient.dispose();<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    } catch (SaslException e) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      LOG.error("Error disposing of SASL client", e);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    }<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
-<span class="sourceLineNo">126</span>}<a name="line.126"></a>
+<span class="sourceLineNo">027</span>import javax.security.sasl.SaslServer;<a name="line.27"></a>
+<span class="sourceLineNo">028</span><a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.commons.codec.binary.Base64;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.commons.logging.Log;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.commons.logging.LogFactory;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>@InterfaceAudience.Private<a name="line.34"></a>
+<span class="sourceLineNo">035</span>public class SaslUtil {<a name="line.35"></a>
+<span class="sourceLineNo">036</span>  private static final Log LOG = LogFactory.getLog(SaslUtil.class);<a name="line.36"></a>
+<span class="sourceLineNo">037</span>  public static final String SASL_DEFAULT_REALM = "default";<a name="line.37"></a>
+<span class="sourceLineNo">038</span>  public static final int SWITCH_TO_SIMPLE_AUTH = -88;<a name="line.38"></a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span>  public enum QualityOfProtection {<a name="line.40"></a>
+<span class="sourceLineNo">041</span>    AUTHENTICATION("auth"),<a name="line.41"></a>
+<span class="sourceLineNo">042</span>    INTEGRITY("auth-int"),<a name="line.42"></a>
+<span class="sourceLineNo">043</span>    PRIVACY("auth-conf");<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span>    private final String saslQop;<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>    QualityOfProtection(String saslQop) {<a name="line.47"></a>
+<span class="sourceLineNo">048</span>      this.saslQop = saslQop;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    }<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>    public String getSaslQop() {<a name="line.51"></a>
+<span class="sourceLineNo">052</span>      return saslQop;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    }<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>    public boolean matches(String stringQop) {<a name="line.55"></a>
+<span class="sourceLineNo">056</span>      if (saslQop.equals(stringQop)) {<a name="line.56"></a>
+<span class="sourceLineNo">057</span>        LOG.warn("Use authentication/integrity/privacy as value for rpc protection "<a name="line.57"></a>
+<span class="sourceLineNo">058</span>            + "configurations instead of auth/auth-int/auth-conf.");<a name="line.58"></a>
+<span class="sourceLineNo">059</span>        return true;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>      }<a name="line.60"></a>
+<span class="sourceLineNo">061</span>      return name().equalsIgnoreCase(stringQop);<a name="line.61"></a>
+<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><a name="line.64"></a>
+<span class="sourceLineNo">065</span>  /** Splitting fully qualified Kerberos name into parts */<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public static String[] splitKerberosName(String fullName) {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    return fullName.split("[/@]");<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  }<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>  static String encodeIdentifier(byte[] identifier) {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    return new String(Base64.encodeBase64(identifier));<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>  static byte[] decodeIdentifier(String identifier) {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    return Base64.decodeBase64(identifier.getBytes());<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  }<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>  static char[] encodePassword(byte[] password) {<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    return new String(Base64.encodeBase64(password)).toCharArray();<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>  /**<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   * Returns {@link org.apache.hadoop.hbase.security.SaslUtil.QualityOfProtection}<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   * corresponding to the given {@code stringQop} value.<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   * @throws IllegalArgumentException If stringQop doesn't match any QOP.<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   */<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  public static QualityOfProtection getQop(String stringQop) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    for (QualityOfProtection qop : QualityOfProtection.values()) {<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      if (qop.matches(stringQop)) {<a name="line.89"></a>
+<span class="sourceLineNo">090</span>        return qop;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>      }<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    }<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    throw new IllegalArgumentException("Invalid qop: " +  stringQop<a name="line.93"></a>
+<span class="sourceLineNo">094</span>        + ". It must be one of 'authentication', 'integrity', 'privacy'.");<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>  /**<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   * @param rpcProtection Value of 'hbase.rpc.protection' configuration.<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   * @return Map with values for SASL properties.<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   */<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  public static Map&lt;String, String&gt; initSaslProperties(String rpcProtection) {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    String saslQop;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    if (rpcProtection.isEmpty()) {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      saslQop = QualityOfProtection.AUTHENTICATION.getSaslQop();<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    } else {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      String[] qops = rpcProtection.split(",");<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      StringBuilder saslQopBuilder = new StringBuilder();<a name="line.107"></a>
+<span class="sourceLineNo">108</span>      for (int i = 0; i &lt; qops.length; ++i) {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>        QualityOfProtection qop = getQop(qops[i]);<a name="line.109"></a>
+<span class="sourceLineNo">110</span>        saslQopBuilder.append(",").append(qop.getSaslQop());<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      }<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      saslQop = saslQopBuilder.substring(1);  // remove first ','<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    }<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    Map&lt;String, String&gt; saslProps = new TreeMap&lt;&gt;();<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    saslProps.put(Sasl.QOP, saslQop);<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    saslProps.put(Sasl.SERVER_AUTH, "true");<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    return saslProps;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  }<a name="line.118"></a>
+<span class="sourceLineNo">119</span><a name="line.119"></a>
+<span class="sourceLineNo">120</span>  static void safeDispose(SaslClient saslClient) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    try {<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      saslClient.dispose();<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    } catch (SaslException e) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      LOG.error("Error disposing of SASL client", e);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    }<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  }<a name="line.126"></a>
+<span class="sourceLineNo">127</span><a name="line.127"></a>
+<span class="sourceLineNo">128</span>  static void safeDispose(SaslServer saslServer) {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    try {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      saslServer.dispose();<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    } catch (SaslException e) {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      LOG.error("Error disposing of SASL server", e);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    }<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  }<a name="line.134"></a>
+<span class="sourceLineNo">135</span>}<a name="line.135"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/src-html/org/apache/hadoop/hbase/security/SaslUtil.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/security/SaslUtil.html b/devapidocs/src-html/org/apache/hadoop/hbase/security/SaslUtil.html
index 9ee1f3f..282ab86 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/security/SaslUtil.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/security/SaslUtil.html
@@ -32,106 +32,115 @@
 <span class="sourceLineNo">024</span>import javax.security.sasl.Sasl;<a name="line.24"></a>
 <span class="sourceLineNo">025</span>import javax.security.sasl.SaslClient;<a name="line.25"></a>
 <span class="sourceLineNo">026</span>import javax.security.sasl.SaslException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.commons.codec.binary.Base64;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.commons.logging.Log;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.commons.logging.LogFactory;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.31"></a>
-<span class="sourceLineNo">032</span><a name="line.32"></a>
-<span class="sourceLineNo">033</span>@InterfaceAudience.Private<a name="line.33"></a>
-<span class="sourceLineNo">034</span>public class SaslUtil {<a name="line.34"></a>
-<span class="sourceLineNo">035</span>  private static final Log LOG = LogFactory.getLog(SaslUtil.class);<a name="line.35"></a>
-<span class="sourceLineNo">036</span>  public static final String SASL_DEFAULT_REALM = "default";<a name="line.36"></a>
-<span class="sourceLineNo">037</span>  public static final int SWITCH_TO_SIMPLE_AUTH = -88;<a name="line.37"></a>
-<span class="sourceLineNo">038</span><a name="line.38"></a>
-<span class="sourceLineNo">039</span>  public enum QualityOfProtection {<a name="line.39"></a>
-<span class="sourceLineNo">040</span>    AUTHENTICATION("auth"),<a name="line.40"></a>
-<span class="sourceLineNo">041</span>    INTEGRITY("auth-int"),<a name="line.41"></a>
-<span class="sourceLineNo">042</span>    PRIVACY("auth-conf");<a name="line.42"></a>
-<span class="sourceLineNo">043</span><a name="line.43"></a>
-<span class="sourceLineNo">044</span>    private final String saslQop;<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>    QualityOfProtection(String saslQop) {<a name="line.46"></a>
-<span class="sourceLineNo">047</span>      this.saslQop = saslQop;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    }<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>    public String getSaslQop() {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>      return saslQop;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    }<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>    public boolean matches(String stringQop) {<a name="line.54"></a>
-<span class="sourceLineNo">055</span>      if (saslQop.equals(stringQop)) {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>        LOG.warn("Use authentication/integrity/privacy as value for rpc protection "<a name="line.56"></a>
-<span class="sourceLineNo">057</span>            + "configurations instead of auth/auth-int/auth-conf.");<a name="line.57"></a>
-<span class="sourceLineNo">058</span>        return true;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>      }<a name="line.59"></a>
-<span class="sourceLineNo">060</span>      return name().equalsIgnoreCase(stringQop);<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><a name="line.63"></a>
-<span class="sourceLineNo">064</span>  /** Splitting fully qualified Kerberos name into parts */<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public static String[] splitKerberosName(String fullName) {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    return fullName.split("[/@]");<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  }<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  static String encodeIdentifier(byte[] identifier) {<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    return new String(Base64.encodeBase64(identifier));<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>  static byte[] decodeIdentifier(String identifier) {<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    return Base64.decodeBase64(identifier.getBytes());<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  }<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  static char[] encodePassword(byte[] password) {<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    return new String(Base64.encodeBase64(password)).toCharArray();<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
-<span class="sourceLineNo">080</span><a name="line.80"></a>
-<span class="sourceLineNo">081</span>  /**<a name="line.81"></a>
-<span class="sourceLineNo">082</span>   * Returns {@link org.apache.hadoop.hbase.security.SaslUtil.QualityOfProtection}<a name="line.82"></a>
-<span class="sourceLineNo">083</span>   * corresponding to the given {@code stringQop} value.<a name="line.83"></a>
-<span class="sourceLineNo">084</span>   * @throws IllegalArgumentException If stringQop doesn't match any QOP.<a name="line.84"></a>
-<span class="sourceLineNo">085</span>   */<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  public static QualityOfProtection getQop(String stringQop) {<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    for (QualityOfProtection qop : QualityOfProtection.values()) {<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      if (qop.matches(stringQop)) {<a name="line.88"></a>
-<span class="sourceLineNo">089</span>        return qop;<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>    throw new IllegalArgumentException("Invalid qop: " +  stringQop<a name="line.92"></a>
-<span class="sourceLineNo">093</span>        + ". It must be one of 'authentication', 'integrity', 'privacy'.");<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  }<a name="line.94"></a>
-<span class="sourceLineNo">095</span><a name="line.95"></a>
-<span class="sourceLineNo">096</span>  /**<a name="line.96"></a>
-<span class="sourceLineNo">097</span>   * @param rpcProtection Value of 'hbase.rpc.protection' configuration.<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * @return Map with values for SASL properties.<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   */<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  static Map&lt;String, String&gt; initSaslProperties(String rpcProtection) {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    String saslQop;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    if (rpcProtection.isEmpty()) {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      saslQop = QualityOfProtection.AUTHENTICATION.getSaslQop();<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    } else {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      String[] qops = rpcProtection.split(",");<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      StringBuilder saslQopBuilder = new StringBuilder();<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      for (int i = 0; i &lt; qops.length; ++i) {<a name="line.107"></a>
-<span class="sourceLineNo">108</span>        QualityOfProtection qop = getQop(qops[i]);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>        saslQopBuilder.append(",").append(qop.getSaslQop());<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      }<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      saslQop = saslQopBuilder.substring(1);  // remove first ','<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    Map&lt;String, String&gt; saslProps = new TreeMap&lt;&gt;();<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    saslProps.put(Sasl.QOP, saslQop);<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    saslProps.put(Sasl.SERVER_AUTH, "true");<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    return saslProps;<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>  static void safeDispose(SaslClient saslClient) {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    try {<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      saslClient.dispose();<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    } catch (SaslException e) {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      LOG.error("Error disposing of SASL client", e);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    }<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  }<a name="line.125"></a>
-<span class="sourceLineNo">126</span>}<a name="line.126"></a>
+<span class="sourceLineNo">027</span>import javax.security.sasl.SaslServer;<a name="line.27"></a>
+<span class="sourceLineNo">028</span><a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.commons.codec.binary.Base64;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.commons.logging.Log;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.commons.logging.LogFactory;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>@InterfaceAudience.Private<a name="line.34"></a>
+<span class="sourceLineNo">035</span>public class SaslUtil {<a name="line.35"></a>
+<span class="sourceLineNo">036</span>  private static final Log LOG = LogFactory.getLog(SaslUtil.class);<a name="line.36"></a>
+<span class="sourceLineNo">037</span>  public static final String SASL_DEFAULT_REALM = "default";<a name="line.37"></a>
+<span class="sourceLineNo">038</span>  public static final int SWITCH_TO_SIMPLE_AUTH = -88;<a name="line.38"></a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span>  public enum QualityOfProtection {<a name="line.40"></a>
+<span class="sourceLineNo">041</span>    AUTHENTICATION("auth"),<a name="line.41"></a>
+<span class="sourceLineNo">042</span>    INTEGRITY("auth-int"),<a name="line.42"></a>
+<span class="sourceLineNo">043</span>    PRIVACY("auth-conf");<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span>    private final String saslQop;<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>    QualityOfProtection(String saslQop) {<a name="line.47"></a>
+<span class="sourceLineNo">048</span>      this.saslQop = saslQop;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    }<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>    public String getSaslQop() {<a name="line.51"></a>
+<span class="sourceLineNo">052</span>      return saslQop;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    }<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>    public boolean matches(String stringQop) {<a name="line.55"></a>
+<span class="sourceLineNo">056</span>      if (saslQop.equals(stringQop)) {<a name="line.56"></a>
+<span class="sourceLineNo">057</span>        LOG.warn("Use authentication/integrity/privacy as value for rpc protection "<a name="line.57"></a>
+<span class="sourceLineNo">058</span>            + "configurations instead of auth/auth-int/auth-conf.");<a name="line.58"></a>
+<span class="sourceLineNo">059</span>        return true;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>      }<a name="line.60"></a>
+<span class="sourceLineNo">061</span>      return name().equalsIgnoreCase(stringQop);<a name="line.61"></a>
+<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><a name="line.64"></a>
+<span class="sourceLineNo">065</span>  /** Splitting fully qualified Kerberos name into parts */<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public static String[] splitKerberosName(String fullName) {<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    return fullName.split("[/@]");<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  }<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>  static String encodeIdentifier(byte[] identifier) {<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    return new String(Base64.encodeBase64(identifier));<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>  static byte[] decodeIdentifier(String identifier) {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    return Base64.decodeBase64(identifier.getBytes());<a name="line.75"></a>
+<span class="sourceLineNo">076</span>  }<a name="line.76"></a>
+<span class="sourceLineNo">077</span><a name="line.77"></a>
+<span class="sourceLineNo">078</span>  static char[] encodePassword(byte[] password) {<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    return new String(Base64.encodeBase64(password)).toCharArray();<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>  /**<a name="line.82"></a>
+<span class="sourceLineNo">083</span>   * Returns {@link org.apache.hadoop.hbase.security.SaslUtil.QualityOfProtection}<a name="line.83"></a>
+<span class="sourceLineNo">084</span>   * corresponding to the given {@code stringQop} value.<a name="line.84"></a>
+<span class="sourceLineNo">085</span>   * @throws IllegalArgumentException If stringQop doesn't match any QOP.<a name="line.85"></a>
+<span class="sourceLineNo">086</span>   */<a name="line.86"></a>
+<span class="sourceLineNo">087</span>  public static QualityOfProtection getQop(String stringQop) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    for (QualityOfProtection qop : QualityOfProtection.values()) {<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      if (qop.matches(stringQop)) {<a name="line.89"></a>
+<span class="sourceLineNo">090</span>        return qop;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>      }<a name="line.91"></a>
+<span class="sourceLineNo">092</span>    }<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    throw new IllegalArgumentException("Invalid qop: " +  stringQop<a name="line.93"></a>
+<span class="sourceLineNo">094</span>        + ". It must be one of 'authentication', 'integrity', 'privacy'.");<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>  /**<a name="line.97"></a>
+<span class="sourceLineNo">098</span>   * @param rpcProtection Value of 'hbase.rpc.protection' configuration.<a name="line.98"></a>
+<span class="sourceLineNo">099</span>   * @return Map with values for SASL properties.<a name="line.99"></a>
+<span class="sourceLineNo">100</span>   */<a name="line.100"></a>
+<span class="sourceLineNo">101</span>  public static Map&lt;String, String&gt; initSaslProperties(String rpcProtection) {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    String saslQop;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    if (rpcProtection.isEmpty()) {<a name="line.103"></a>
+<span class="sourceLineNo">104</span>      saslQop = QualityOfProtection.AUTHENTICATION.getSaslQop();<a name="line.104"></a>
+<span class="sourceLineNo">105</span>    } else {<a name="line.105"></a>
+<span class="sourceLineNo">106</span>      String[] qops = rpcProtection.split(",");<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      StringBuilder saslQopBuilder = new StringBuilder();<a name="line.107"></a>
+<span class="sourceLineNo">108</span>      for (int i = 0; i &lt; qops.length; ++i) {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>        QualityOfProtection qop = getQop(qops[i]);<a name="line.109"></a>
+<span class="sourceLineNo">110</span>        saslQopBuilder.append(",").append(qop.getSaslQop());<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      }<a name="line.111"></a>
+<span class="sourceLineNo">112</span>      saslQop = saslQopBuilder.substring(1);  // remove first ','<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    }<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    Map&lt;String, String&gt; saslProps = new TreeMap&lt;&gt;();<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    saslProps.put(Sasl.QOP, saslQop);<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    saslProps.put(Sasl.SERVER_AUTH, "true");<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    return saslProps;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  }<a name="line.118"></a>
+<span class="sourceLineNo">119</span><a name="line.119"></a>
+<span class="sourceLineNo">120</span>  static void safeDispose(SaslClient saslClient) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>    try {<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      saslClient.dispose();<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    } catch (SaslException e) {<a name="line.123"></a>
+<span class="sourceLineNo">124</span>      LOG.error("Error disposing of SASL client", e);<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    }<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  }<a name="line.126"></a>
+<span class="sourceLineNo">127</span><a name="line.127"></a>
+<span class="sourceLineNo">128</span>  static void safeDispose(SaslServer saslServer) {<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    try {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      saslServer.dispose();<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    } catch (SaslException e) {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      LOG.error("Error disposing of SASL server", e);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    }<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  }<a name="line.134"></a>
+<span class="sourceLineNo">135</span>}<a name="line.135"></a>
 
 
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/checkstyle.rss
----------------------------------------------------------------------
diff --git a/checkstyle.rss b/checkstyle.rss
index 22b1b9b..07453ce 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -26,7 +26,7 @@ under the License.
     <copyright>&#169;2007 - 2017 The Apache Software Foundation</copyright>
     <item>
       <title>File: 2203,
-             Errors: 14460,
+             Errors: 14436,
              Warnings: 0,
              Infos: 0
       </title>
@@ -9701,7 +9701,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  42
+                  22
                 </td>
               </tr>
                           <tr>
@@ -23673,7 +23673,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  124
+                  122
                 </td>
               </tr>
                           <tr>
@@ -26935,7 +26935,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  2
+                  0
                 </td>
               </tr>
                           <tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index 561c6a7..70effb7 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/cygwin.html
----------------------------------------------------------------------
diff --git a/cygwin.html b/cygwin.html
index 063a86b..59b24b0 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index 426a940..2c2a69a 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index 3e18452..45cfc2d 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index a5d6366..8205910 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index 1eb172f..20d02eb 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/allclasses-frame.html b/devapidocs/allclasses-frame.html
index b714e0b..5e9bec9 100644
--- a/devapidocs/allclasses-frame.html
+++ b/devapidocs/allclasses-frame.html
@@ -984,7 +984,6 @@
 <li><a href="org/apache/hadoop/hbase/ipc/HBaseRPCErrorHandler.html" title="interface in org.apache.hadoop.hbase.ipc" target="classFrame"><span class="interfaceName">HBaseRPCErrorHandler</span></a></li>
 <li><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html" title="class in org.apache.hadoop.hbase.security" target="classFrame">HBaseSaslRpcClient</a></li>
 <li><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security" target="classFrame">HBaseSaslRpcServer</a></li>
-<li><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html" title="class in org.apache.hadoop.hbase.security" target="classFrame">HBaseSaslRpcServer.SaslDigestCallbackHandler</a></li>
 <li><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html" title="class in org.apache.hadoop.hbase.security" target="classFrame">HBaseSaslRpcServer.SaslGssCallbackHandler</a></li>
 <li><a href="org/apache/hadoop/hbase/snapshot/HBaseSnapshotException.html" title="class in org.apache.hadoop.hbase.snapshot" target="classFrame">HBaseSnapshotException</a></li>
 <li><a href="org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase" target="classFrame">HColumnDescriptor</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/devapidocs/allclasses-noframe.html b/devapidocs/allclasses-noframe.html
index 9e328d3..94b8c4b 100644
--- a/devapidocs/allclasses-noframe.html
+++ b/devapidocs/allclasses-noframe.html
@@ -984,7 +984,6 @@
 <li><a href="org/apache/hadoop/hbase/ipc/HBaseRPCErrorHandler.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="interfaceName">HBaseRPCErrorHandler</span></a></li>
 <li><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcClient</a></li>
 <li><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></li>
-<li><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer.SaslDigestCallbackHandler</a></li>
 <li><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer.SaslGssCallbackHandler</a></li>
 <li><a href="org/apache/hadoop/hbase/snapshot/HBaseSnapshotException.html" title="class in org.apache.hadoop.hbase.snapshot">HBaseSnapshotException</a></li>
 <li><a href="org/apache/hadoop/hbase/HColumnDescriptor.html" title="class in org.apache.hadoop.hbase">HColumnDescriptor</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index 2145329..cd4d461 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -1362,7 +1362,7 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/HConstants.html#DEFAULT_WAL_STORAGE_POLICY">DEFAULT_WAL_STORAGE_POLICY</a></code></td>
-<td class="colLast"><code>"NONE"</code></td>
+<td class="colLast"><code>"HOT"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.DEFAULT_ZK_SESSION_TIMEOUT">
@@ -3822,21 +3822,21 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#date">date</a></code></td>
-<td class="colLast"><code>"Fri May 26 14:39:21 UTC 2017"</code></td>
+<td class="colLast"><code>"Sat May 27 14:38:56 UTC 2017"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.revision">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#revision">revision</a></code></td>
-<td class="colLast"><code>"8b5c161cbf0cab4eb250827e20a12acee00b400d"</code></td>
+<td class="colLast"><code>"6846b03944d7e72301b825d4d118732c0ca65577"</code></td>
 </tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.srcChecksum">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/Version.html#srcChecksum">srcChecksum</a></code></td>
-<td class="colLast"><code>"6deb7ac851cfc98372fca780bd18dc0f"</code></td>
+<td class="colLast"><code>"7893df3688e2e64c00f65b9a517091e8"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.Version.url">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index eda77ab..92c2fe3 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -4204,9 +4204,7 @@
 <dd>
 <div class="block">Check if we should attain safe point.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#attemptingUser">attemptingUser</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/ServerRpcConnection.html" title="class in org.apache.hadoop.hbase.ipc">ServerRpcConnection</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#attemptingUserConsumer">attemptingUserConsumer</a></span> - Variable in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer.SaslDigestCallbackHandler</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#attemptingUser">attemptingUser</a></span> - Variable in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/RetryCounter.html#attempts">attempts</a></span> - Variable in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/RetryCounter.html" title="class in org.apache.hadoop.hbase.util">RetryCounter</a></dt>
 <dd>&nbsp;</dd>
@@ -12472,6 +12470,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/StoreFileWriter.html#closeDeleteFamilyBloomFilter--">closeDeleteFamilyBloomFilter()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/StoreFileWriter.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileWriter</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/RSRpcServices.html#closedScanners">closedScanners</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#closeErrorCount">closeErrorCount</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/FSHLog.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/FSHLog.html#closeErrorsTolerated">closeErrorsTolerated</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/FSHLog.html" title="class in org.apache.hadoop.hbase.regionserver.wal">FSHLog</a></dt>
@@ -24069,6 +24069,10 @@
 <dd>
 <div class="block">Release resources used by wrapped saslClient</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#dispose--">dispose()</a></span> - Method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></dt>
+<dd>
+<div class="block">Release resources used by wrapped saslServer</div>
+</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/BlockingRpcConnection.html#disposeSasl--">disposeSasl()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/BlockingRpcConnection.html" title="class in org.apache.hadoop.hbase.ipc">BlockingRpcConnection</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#disposeSasl--">disposeSasl()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/ServerRpcConnection.html" title="class in org.apache.hadoop.hbase.ipc">ServerRpcConnection</a></dt>
@@ -26692,6 +26696,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/AbstractHBaseSaslRpcClient.html#evaluateChallenge-byte:A-">evaluateChallenge(byte[])</a></span> - Method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/AbstractHBaseSaslRpcClient.html" title="class in org.apache.hadoop.hbase.security">AbstractHBaseSaslRpcClient</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#evaluateResponse-byte:A-">evaluateResponse(byte[])</a></span> - Method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/executor/ExecutorService.RunningEventStatus.html#event">event</a></span> - Variable in class org.apache.hadoop.hbase.executor.<a href="org/apache/hadoop/hbase/executor/ExecutorService.RunningEventStatus.html" title="class in org.apache.hadoop.hbase.executor">ExecutorService.RunningEventStatus</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/locking/LockProcedure.html#event">event</a></span> - Variable in class org.apache.hadoop.hbase.master.locking.<a href="org/apache/hadoop/hbase/master/locking/LockProcedure.html" title="class in org.apache.hadoop.hbase.master.locking">LockProcedure</a></dt>
@@ -32235,6 +32241,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/ConnectionImplementation.html#getAsyncProcess--">getAsyncProcess()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/ConnectionImplementation.html" title="class in org.apache.hadoop.hbase.client">ConnectionImplementation</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#getAttemptingUser--">getAttemptingUser()</a></span> - Method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/RetryCounter.html#getAttemptTimes--">getAttemptTimes()</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/RetryCounter.html" title="class in org.apache.hadoop.hbase.util">RetryCounter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Attributes.html#getAttribute-java.lang.String-">getAttribute(String)</a></span> - Method in interface org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Attributes.html" title="interface in org.apache.hadoop.hbase.client">Attributes</a></dt>
@@ -32281,6 +32289,8 @@
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/access/AccessController.html#getAuthManager--">getAuthManager()</a></span> - Method in class org.apache.hadoop.hbase.security.access.<a href="org/apache/hadoop/hbase/security/access/AccessController.html" title="class in org.apache.hadoop.hbase.security.access">AccessController</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#getAuthorizationID--">getAuthorizationID()</a></span> - Method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/Query.html#getAuthorizations--">getAuthorizations()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/Query.html" title="class in org.apache.hadoop.hbase.client">Query</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getAuthorizedUgi-java.lang.String-">getAuthorizedUgi(String)</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/ServerRpcConnection.html" title="class in org.apache.hadoop.hbase.ipc">ServerRpcConnection</a></dt>
@@ -40389,6 +40399,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.SaslNegotiateHandler.html#getNegotiatedQop--">getNegotiatedQop()</a></span> - Method in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.SaslNegotiateHandler.html" title="class in org.apache.hadoop.hbase.io.asyncfs">FanOutOneBlockAsyncDFSOutputSaslHelper.SaslNegotiateHandler</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#getNegotiatedQop--">getNegotiatedQop()</a></span> - Method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html#getNewAssignmentPlan--">getNewAssignmentPlan()</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="org/apache/hadoop/hbase/master/RegionPlacementMaintainer.html" title="class in org.apache.hadoop.hbase.master">RegionPlacementMaintainer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/codec/prefixtree/encode/tokenize/TokenizerNode.html#getNewByteArray--">getNewByteArray()</a></span> - Method in class org.apache.hadoop.hbase.codec.prefixtree.encode.tokenize.<a href="org/apache/hadoop/hbase/codec/prefixtree/encode/tokenize/TokenizerNode.html" title="class in org.apache.hadoop.hbase.codec.prefixtree.encode.tokenize">TokenizerNode</a></dt>
@@ -44720,8 +44732,6 @@
 <dd>
 <div class="block">Returns the number of samples kept by the estimator</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#getSaslProps--">getSaslProps()</a></span> - Static method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.SaslAdaptor.html#getSaslPropsResolver-org.apache.hadoop.hdfs.protocol.datatransfer.sasl.SaslDataTransferClient-">getSaslPropsResolver(SaslDataTransferClient)</a></span> - Method in interface org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.SaslAdaptor.html" title="interface in org.apache.hadoop.hbase.io.asyncfs">FanOutOneBlockAsyncDFSOutputSaslHelper.SaslAdaptor</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html#getSaslQOP--">getSaslQOP()</a></span> - Method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcClient.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcClient</a></dt>
@@ -51882,9 +51892,9 @@
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security"><span class="typeNameLink">HBaseSaslRpcServer</span></a> - Class in <a href="org/apache/hadoop/hbase/security/package-summary.html">org.apache.hadoop.hbase.security</a></dt>
 <dd>
-<div class="block">A utility class for dealing with SASL on RPC server</div>
+<div class="block">A utility class that encapsulates SASL logic for RPC server.</div>
 </dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#HBaseSaslRpcServer--">HBaseSaslRpcServer()</a></span> - Constructor for class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#HBaseSaslRpcServer-org.apache.hadoop.hbase.security.AuthMethod-java.util.Map-org.apache.hadoop.security.token.SecretManager-">HBaseSaslRpcServer(AuthMethod, Map&lt;String, String&gt;, SecretManager&lt;TokenIdentifier&gt;)</a></span> - Constructor for class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html" title="class in org.apache.hadoop.hbase.security"><span class="typeNameLink">HBaseSaslRpcServer.SaslDigestCallbackHandler</span></a> - Class in <a href="org/apache/hadoop/hbase/security/package-summary.html">org.apache.hadoop.hbase.security</a></dt>
 <dd>
@@ -55384,8 +55394,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBasePolicyProvider.html#init-org.apache.hadoop.conf.Configuration-org.apache.hadoop.security.authorize.ServiceAuthorizationManager-">init(Configuration, ServiceAuthorizationManager)</a></span> - Static method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBasePolicyProvider.html" title="class in org.apache.hadoop.hbase.security">HBasePolicyProvider</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#init-org.apache.hadoop.conf.Configuration-">init(Configuration)</a></span> - Static method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html#init-org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment-">init(RegionCoprocessorEnvironment)</a></span> - Method in class org.apache.hadoop.hbase.security.visibility.<a href="org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.html" title="class in org.apache.hadoop.hbase.security.visibility">DefaultVisibilityLabelServiceImpl</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html#init-org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment-">init(RegionCoprocessorEnvironment)</a></span> - Method in interface org.apache.hadoop.hbase.security.visibility.<a href="org/apache/hadoop/hbase/security/visibility/VisibilityLabelService.html" title="interface in org.apache.hadoop.hbase.security.visibility">VisibilityLabelService</a></dt>
@@ -57297,6 +57305,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/AbstractHBaseSaslRpcClient.html#isComplete--">isComplete()</a></span> - Method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/AbstractHBaseSaslRpcClient.html" title="class in org.apache.hadoop.hbase.security">AbstractHBaseSaslRpcClient</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#isComplete--">isComplete()</a></span> - Method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/hfile/PrefetchExecutor.html#isCompleted-org.apache.hadoop.fs.Path-">isCompleted(Path)</a></span> - Static method in class org.apache.hadoop.hbase.io.hfile.<a href="org/apache/hadoop/hbase/io/hfile/PrefetchExecutor.html" title="class in org.apache.hadoop.hbase.io.hfile">PrefetchExecutor</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/procedure/Procedure.html#isCompleted--">isCompleted()</a></span> - Method in class org.apache.hadoop.hbase.procedure.<a href="org/apache/hadoop/hbase/procedure/Procedure.html" title="class in org.apache.hadoop.hbase.procedure">Procedure</a></dt>
@@ -90959,6 +90969,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/SaslUtil.html#safeDispose-javax.security.sasl.SaslClient-">safeDispose(SaslClient)</a></span> - Static method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/SaslUtil.html" title="class in org.apache.hadoop.hbase.security">SaslUtil</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/SaslUtil.html#safeDispose-javax.security.sasl.SaslServer-">safeDispose(SaslServer)</a></span> - Static method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/SaslUtil.html" title="class in org.apache.hadoop.hbase.security">SaslUtil</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/util/MemorySizeUtil.html#safeGetHeapMemoryUsage--">safeGetHeapMemoryUsage()</a></span> - Static method in class org.apache.hadoop.hbase.io.util.<a href="org/apache/hadoop/hbase/io/util/MemorySizeUtil.html" title="class in org.apache.hadoop.hbase.io.util">MemorySizeUtil</a></dt>
 <dd>
 <div class="block">Return JVM memory statistics while properly handling runtime exceptions from the JVM.</div>
@@ -91092,7 +91104,7 @@ service.</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#saslContextEstablished">saslContextEstablished</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/ServerRpcConnection.html" title="class in org.apache.hadoop.hbase.ipc">ServerRpcConnection</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#SaslDigestCallbackHandler-org.apache.hadoop.security.token.SecretManager-java.util.function.Consumer-">SaslDigestCallbackHandler(SecretManager&lt;TokenIdentifier&gt;, Consumer&lt;UserGroupInformation&gt;)</a></span> - Constructor for class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer.SaslDigestCallbackHandler</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#SaslDigestCallbackHandler-org.apache.hadoop.security.token.SecretManager-">SaslDigestCallbackHandler(SecretManager&lt;TokenIdentifier&gt;)</a></span> - Constructor for class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer.SaslDigestCallbackHandler</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html#SaslGssCallbackHandler--">SaslGssCallbackHandler()</a></span> - Constructor for class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer.SaslGssCallbackHandler</a></dt>
 <dd>&nbsp;</dd>
@@ -91112,9 +91124,9 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.SaslNegotiateHandler.html#saslProps">saslProps</a></span> - Variable in class org.apache.hadoop.hbase.io.asyncfs.<a href="org/apache/hadoop/hbase/io/asyncfs/FanOutOneBlockAsyncDFSOutputSaslHelper.SaslNegotiateHandler.html" title="class in org.apache.hadoop.hbase.io.asyncfs">FanOutOneBlockAsyncDFSOutputSaslHelper.SaslNegotiateHandler</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/AbstractHBaseSaslRpcClient.html#saslProps">saslProps</a></span> - Variable in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/AbstractHBaseSaslRpcClient.html" title="class in org.apache.hadoop.hbase.security">AbstractHBaseSaslRpcClient</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/RpcServer.html#saslProps">saslProps</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/RpcServer.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#saslProps">saslProps</a></span> - Static variable in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></dt>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/AbstractHBaseSaslRpcClient.html#saslProps">saslProps</a></span> - Variable in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/AbstractHBaseSaslRpcClient.html" title="class in org.apache.hadoop.hbase.security">AbstractHBaseSaslRpcClient</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#saslQop">saslQop</a></span> - Variable in enum org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a></dt>
 <dd>&nbsp;</dd>
@@ -91126,6 +91138,8 @@ service.</div>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#saslServer">saslServer</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/ServerRpcConnection.html" title="class in org.apache.hadoop.hbase.ipc">ServerRpcConnection</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#saslServer">saslServer</a></span> - Variable in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="org/apache/hadoop/hbase/security/SaslStatus.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">SaslStatus</span></a> - Enum in <a href="org/apache/hadoop/hbase/security/package-summary.html">org.apache.hadoop.hbase.security</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/SaslStatus.html#SaslStatus-int-">SaslStatus(int)</a></span> - Constructor for enum org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/SaslStatus.html" title="enum in org.apache.hadoop.hbase.security">SaslStatus</a></dt>
@@ -108906,6 +108920,8 @@ service.</div>
 <dd>
 <div class="block">Decrypts input data.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#unwrap-byte:A-int-int-">unwrap(byte[], int, int)</a></span> - Method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/thrift/ThriftMetrics.html#unwrap-java.lang.Throwable-">unwrap(Throwable)</a></span> - Static method in class org.apache.hadoop.hbase.thrift.<a href="org/apache/hadoop/hbase/thrift/ThriftMetrics.html" title="class in org.apache.hadoop.hbase.thrift">ThriftMetrics</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/HBaseAdmin.ProcedureFuture.html#unwrapException-java.io.IOException-">unwrapException(IOException)</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/HBaseAdmin.ProcedureFuture.html" title="class in org.apache.hadoop.hbase.client">HBaseAdmin.ProcedureFuture</a></dt>
@@ -113124,12 +113140,8 @@ the order they are declared.</div>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HConstants.html#WAL_STORAGE_POLICY">WAL_STORAGE_POLICY</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HConstants.html" title="class in org.apache.hadoop.hbase">HConstants</a></dt>
 <dd>
 <div class="block">Configuration name of WAL storage policy
- Valid values are:
-  NONE: no preference in destination of block replicas
-  ONE_SSD: place only one block replica in SSD and the remaining in default storage
-  and ALL_SSD: place all block replicas on SSD
-
- See http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html</div>
+ Valid values are: HOT, COLD, WARM, ALL_SSD, ONE_SSD, LAZY_PERSIST
+ See http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html</div>
 </dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.html#WAL_TRAILER_WARN_SIZE">WAL_TRAILER_WARN_SIZE</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.wal.<a href="org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.html" title="class in org.apache.hadoop.hbase.regionserver.wal">ProtobufLogReader</a></dt>
 <dd>
@@ -113918,6 +113930,8 @@ the order they are declared.</div>
 <dd>
 <div class="block">Encrypts input data.</div>
 </dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#wrap-byte:A-int-int-">wrap(byte[], int, int)</a></span> - Method in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/util/ByteStringer.html#wrap-byte:A-">wrap(byte[])</a></span> - Static method in class org.apache.hadoop.hbase.util.<a href="org/apache/hadoop/hbase/util/ByteStringer.html" title="class in org.apache.hadoop.hbase.util">ByteStringer</a></dt>
 <dd>
 <div class="block">Wraps a byte array in a <code>ByteString</code> without copying it.</div>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/apidocs/src-html/org/apache/hadoop/hbase/HConstants.html
----------------------------------------------------------------------
diff --git a/apidocs/src-html/org/apache/hadoop/hbase/HConstants.html b/apidocs/src-html/org/apache/hadoop/hbase/HConstants.html
index ac13492..ce4327f 100644
--- a/apidocs/src-html/org/apache/hadoop/hbase/HConstants.html
+++ b/apidocs/src-html/org/apache/hadoop/hbase/HConstants.html
@@ -1101,284 +1101,280 @@
 <span class="sourceLineNo">1093</span>    "hbase.regionserver.wal.enablecompression";<a name="line.1093"></a>
 <span class="sourceLineNo">1094</span><a name="line.1094"></a>
 <span class="sourceLineNo">1095</span>  /** Configuration name of WAL storage policy<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>   * Valid values are:<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span>   *  NONE: no preference in destination of block replicas<a name="line.1097"></a>
-<span class="sourceLineNo">1098</span>   *  ONE_SSD: place only one block replica in SSD and the remaining in default storage<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   *  and ALL_SSD: place all block replicas on SSD<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   *<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>   * See http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html*/<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>  public static final String WAL_STORAGE_POLICY = "hbase.wal.storage.policy";<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>  public static final String DEFAULT_WAL_STORAGE_POLICY = "NONE";<a name="line.1103"></a>
+<span class="sourceLineNo">1096</span>   * Valid values are: HOT, COLD, WARM, ALL_SSD, ONE_SSD, LAZY_PERSIST<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span>   * See http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html*/<a name="line.1097"></a>
+<span class="sourceLineNo">1098</span>  public static final String WAL_STORAGE_POLICY = "hbase.wal.storage.policy";<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span>  public static final String DEFAULT_WAL_STORAGE_POLICY = "HOT";<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span><a name="line.1100"></a>
+<span class="sourceLineNo">1101</span>  /** Region in Transition metrics threshold time */<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span>  public static final String METRICS_RIT_STUCK_WARNING_THRESHOLD =<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span>      "hbase.metrics.rit.stuck.warning.threshold";<a name="line.1103"></a>
 <span class="sourceLineNo">1104</span><a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>  /** Region in Transition metrics threshold time */<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>  public static final String METRICS_RIT_STUCK_WARNING_THRESHOLD =<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>      "hbase.metrics.rit.stuck.warning.threshold";<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span><a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>  public static final String LOAD_BALANCER_SLOP_KEY = "hbase.regions.slop";<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span><a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>  /** delimiter used between portions of a region name */<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>  public static final int DELIMITER = ',';<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span><a name="line.1113"></a>
-<span class="sourceLineNo">1114</span>  /**<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>   * QOS attributes: these attributes are used to demarcate RPC call processing<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>   * by different set of handlers. For example, HIGH_QOS tagged methods are<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>   * handled by high priority handlers.<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>   */<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>  // normal_QOS &lt; replication_QOS &lt; replay_QOS &lt; QOS_threshold &lt; admin_QOS &lt; high_QOS<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span>  public static final int NORMAL_QOS = 0;<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  public static final int REPLICATION_QOS = 5;<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>  public static final int REPLAY_QOS = 6;<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>  public static final int QOS_THRESHOLD = 10;<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>  public static final int ADMIN_QOS = 100;<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>  public static final int HIGH_QOS = 200;<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>  public static final int SYSTEMTABLE_QOS = HIGH_QOS;<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span><a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>  /** Directory under /hbase where archived hfiles are stored */<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>  public static final String HFILE_ARCHIVE_DIRECTORY = "archive";<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span><a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>  /**<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>   * Name of the directory to store all snapshots. See SnapshotDescriptionUtils for<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>   * remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span>   * uni-directional.<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>   */<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>  public static final String SNAPSHOT_DIR_NAME = ".hbase-snapshot";<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span><a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  /* Name of old snapshot directory. See HBASE-8352 for details on why it needs to be renamed */<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span>  public static final String OLD_SNAPSHOT_DIR_NAME = ".snapshot";<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span><a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>  /** Temporary directory used for table creation and deletion */<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>  public static final String HBASE_TEMP_DIRECTORY = ".tmp";<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>  /**<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>   * The period (in milliseconds) between computing region server point in time metrics<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>   */<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>  public static final String REGIONSERVER_METRICS_PERIOD = "hbase.regionserver.metrics.period";<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>  public static final long DEFAULT_REGIONSERVER_METRICS_PERIOD = 5000;<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span>  /** Directories that are not HBase table directories */<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span>  public static final List&lt;String&gt; HBASE_NON_TABLE_DIRS =<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span>    Collections.unmodifiableList(Arrays.asList(new String[] {<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>      HBCK_SIDELINEDIR_NAME, HBASE_TEMP_DIRECTORY, MIGRATION_NAME<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>    }));<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span><a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>  /** Directories that are not HBase user table directories */<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>  public static final List&lt;String&gt; HBASE_NON_USER_TABLE_DIRS =<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>    Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>      new String[] { TableName.META_TABLE_NAME.getNameAsString() },<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>      HBASE_NON_TABLE_DIRS.toArray())));<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span><a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>  /** Health script related settings. */<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>  public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>  public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>  public static final String HEALTH_CHORE_WAKE_FREQ =<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>      "hbase.node.health.script.frequency";<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>  public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>  /**<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>   * The maximum number of health check failures a server can encounter consecutively.<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>   */<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span>  public static final String HEALTH_FAILURE_THRESHOLD =<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>      "hbase.node.health.failure.threshold";<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>  public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span><a name="line.1172"></a>
-<span class="sourceLineNo">1173</span><a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>  /**<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>   * Setting to activate, or not, the publication of the status by the master. Default<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>   *  notification is by a multicast message.<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span>   */<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>  public static final String STATUS_PUBLISHED = "hbase.status.published";<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>  public static final boolean STATUS_PUBLISHED_DEFAULT = false;<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span><a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>  /**<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>   * IP to use for the multicast status messages between the master and the clients.<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>   * The default address is chosen as one among others within the ones suitable for multicast<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>   * messages.<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span>   */<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span>  public static final String STATUS_MULTICAST_ADDRESS = "hbase.status.multicast.address.ip";<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span>  public static final String DEFAULT_STATUS_MULTICAST_ADDRESS = "226.1.1.3";<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span><a name="line.1188"></a>
-<span class="sourceLineNo">1189</span>  /**<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span>   * The address to use for binding the local socket for receiving multicast. Defaults to<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span>   * 0.0.0.0.<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-9961"&gt;HBASE-9961&lt;/a&gt;<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>   */<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>  public static final String STATUS_MULTICAST_BIND_ADDRESS =<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span>      "hbase.status.multicast.bind.address.ip";<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span>  public static final String DEFAULT_STATUS_MULTICAST_BIND_ADDRESS = "0.0.0.0";<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span><a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>  /**<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>   * The port to use for the multicast messages.<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span>   */<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span>  public static final String STATUS_MULTICAST_PORT = "hbase.status.multicast.address.port";<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>  public static final int DEFAULT_STATUS_MULTICAST_PORT = 16100;<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span><a name="line.1203"></a>
-<span class="sourceLineNo">1204</span>  public static final long NO_NONCE = 0;<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span><a name="line.1205"></a>
-<span class="sourceLineNo">1206</span>  /** Default cipher for encryption */<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span>  public static final String CIPHER_AES = "AES";<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span><a name="line.1208"></a>
-<span class="sourceLineNo">1209</span>  /** Configuration key for the crypto algorithm provider, a class name */<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span>  public static final String CRYPTO_CIPHERPROVIDER_CONF_KEY = "hbase.crypto.cipherprovider";<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span><a name="line.1211"></a>
-<span class="sourceLineNo">1212</span>  /** Configuration key for the crypto key provider, a class name */<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span>  public static final String CRYPTO_KEYPROVIDER_CONF_KEY = "hbase.crypto.keyprovider";<a name="line.1213"></a>
+<span class="sourceLineNo">1105</span>  public static final String LOAD_BALANCER_SLOP_KEY = "hbase.regions.slop";<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span><a name="line.1106"></a>
+<span class="sourceLineNo">1107</span>  /** delimiter used between portions of a region name */<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span>  public static final int DELIMITER = ',';<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span><a name="line.1109"></a>
+<span class="sourceLineNo">1110</span>  /**<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span>   * QOS attributes: these attributes are used to demarcate RPC call processing<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span>   * by different set of handlers. For example, HIGH_QOS tagged methods are<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span>   * handled by high priority handlers.<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>   */<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span>  // normal_QOS &lt; replication_QOS &lt; replay_QOS &lt; QOS_threshold &lt; admin_QOS &lt; high_QOS<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>  public static final int NORMAL_QOS = 0;<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span>  public static final int REPLICATION_QOS = 5;<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span>  public static final int REPLAY_QOS = 6;<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span>  public static final int QOS_THRESHOLD = 10;<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span>  public static final int ADMIN_QOS = 100;<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>  public static final int HIGH_QOS = 200;<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span>  public static final int SYSTEMTABLE_QOS = HIGH_QOS;<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span><a name="line.1123"></a>
+<span class="sourceLineNo">1124</span>  /** Directory under /hbase where archived hfiles are stored */<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span>  public static final String HFILE_ARCHIVE_DIRECTORY = "archive";<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span><a name="line.1126"></a>
+<span class="sourceLineNo">1127</span>  /**<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span>   * Name of the directory to store all snapshots. See SnapshotDescriptionUtils for<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span>   * remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span>   * uni-directional.<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>   */<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span>  public static final String SNAPSHOT_DIR_NAME = ".hbase-snapshot";<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span><a name="line.1133"></a>
+<span class="sourceLineNo">1134</span>  /* Name of old snapshot directory. See HBASE-8352 for details on why it needs to be renamed */<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span>  public static final String OLD_SNAPSHOT_DIR_NAME = ".snapshot";<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span><a name="line.1136"></a>
+<span class="sourceLineNo">1137</span>  /** Temporary directory used for table creation and deletion */<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span>  public static final String HBASE_TEMP_DIRECTORY = ".tmp";<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span>  /**<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span>   * The period (in milliseconds) between computing region server point in time metrics<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span>   */<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span>  public static final String REGIONSERVER_METRICS_PERIOD = "hbase.regionserver.metrics.period";<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span>  public static final long DEFAULT_REGIONSERVER_METRICS_PERIOD = 5000;<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span>  /** Directories that are not HBase table directories */<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span>  public static final List&lt;String&gt; HBASE_NON_TABLE_DIRS =<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span>    Collections.unmodifiableList(Arrays.asList(new String[] {<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>      HBCK_SIDELINEDIR_NAME, HBASE_TEMP_DIRECTORY, MIGRATION_NAME<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span>    }));<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span><a name="line.1149"></a>
+<span class="sourceLineNo">1150</span>  /** Directories that are not HBase user table directories */<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span>  public static final List&lt;String&gt; HBASE_NON_USER_TABLE_DIRS =<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>    Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span>      new String[] { TableName.META_TABLE_NAME.getNameAsString() },<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span>      HBASE_NON_TABLE_DIRS.toArray())));<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span><a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>  /** Health script related settings. */<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span>  public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>  public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span>  public static final String HEALTH_CHORE_WAKE_FREQ =<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span>      "hbase.node.health.script.frequency";<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span>  public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span>  /**<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span>   * The maximum number of health check failures a server can encounter consecutively.<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span>   */<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>  public static final String HEALTH_FAILURE_THRESHOLD =<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span>      "hbase.node.health.failure.threshold";<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span>  public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span><a name="line.1168"></a>
+<span class="sourceLineNo">1169</span><a name="line.1169"></a>
+<span class="sourceLineNo">1170</span>  /**<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span>   * Setting to activate, or not, the publication of the status by the master. Default<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span>   *  notification is by a multicast message.<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span>   */<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span>  public static final String STATUS_PUBLISHED = "hbase.status.published";<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>  public static final boolean STATUS_PUBLISHED_DEFAULT = false;<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span><a name="line.1176"></a>
+<span class="sourceLineNo">1177</span>  /**<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span>   * IP to use for the multicast status messages between the master and the clients.<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span>   * The default address is chosen as one among others within the ones suitable for multicast<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span>   * messages.<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span>   */<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span>  public static final String STATUS_MULTICAST_ADDRESS = "hbase.status.multicast.address.ip";<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span>  public static final String DEFAULT_STATUS_MULTICAST_ADDRESS = "226.1.1.3";<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span><a name="line.1184"></a>
+<span class="sourceLineNo">1185</span>  /**<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span>   * The address to use for binding the local socket for receiving multicast. Defaults to<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span>   * 0.0.0.0.<a name="line.1187"></a>
+<span class="sourceLineNo">1188</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-9961"&gt;HBASE-9961&lt;/a&gt;<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span>   */<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span>  public static final String STATUS_MULTICAST_BIND_ADDRESS =<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span>      "hbase.status.multicast.bind.address.ip";<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span>  public static final String DEFAULT_STATUS_MULTICAST_BIND_ADDRESS = "0.0.0.0";<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span><a name="line.1193"></a>
+<span class="sourceLineNo">1194</span>  /**<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span>   * The port to use for the multicast messages.<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span>   */<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span>  public static final String STATUS_MULTICAST_PORT = "hbase.status.multicast.address.port";<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span>  public static final int DEFAULT_STATUS_MULTICAST_PORT = 16100;<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span><a name="line.1199"></a>
+<span class="sourceLineNo">1200</span>  public static final long NO_NONCE = 0;<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span>  /** Default cipher for encryption */<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span>  public static final String CIPHER_AES = "AES";<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span><a name="line.1204"></a>
+<span class="sourceLineNo">1205</span>  /** Configuration key for the crypto algorithm provider, a class name */<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span>  public static final String CRYPTO_CIPHERPROVIDER_CONF_KEY = "hbase.crypto.cipherprovider";<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span><a name="line.1207"></a>
+<span class="sourceLineNo">1208</span>  /** Configuration key for the crypto key provider, a class name */<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span>  public static final String CRYPTO_KEYPROVIDER_CONF_KEY = "hbase.crypto.keyprovider";<a name="line.1209"></a>
+<span class="sourceLineNo">1210</span><a name="line.1210"></a>
+<span class="sourceLineNo">1211</span>  /** Configuration key for the crypto key provider parameters */<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span>  public static final String CRYPTO_KEYPROVIDER_PARAMETERS_KEY =<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span>      "hbase.crypto.keyprovider.parameters";<a name="line.1213"></a>
 <span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span>  /** Configuration key for the crypto key provider parameters */<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span>  public static final String CRYPTO_KEYPROVIDER_PARAMETERS_KEY =<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span>      "hbase.crypto.keyprovider.parameters";<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span><a name="line.1218"></a>
-<span class="sourceLineNo">1219</span>  /** Configuration key for the name of the master key for the cluster, a string */<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span>  public static final String CRYPTO_MASTERKEY_NAME_CONF_KEY = "hbase.crypto.master.key.name";<a name="line.1220"></a>
+<span class="sourceLineNo">1215</span>  /** Configuration key for the name of the master key for the cluster, a string */<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span>  public static final String CRYPTO_MASTERKEY_NAME_CONF_KEY = "hbase.crypto.master.key.name";<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span><a name="line.1217"></a>
+<span class="sourceLineNo">1218</span>  /** Configuration key for the name of the alternate master key for the cluster, a string */<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span>  public static final String CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY =<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span>    "hbase.crypto.master.alternate.key.name";<a name="line.1220"></a>
 <span class="sourceLineNo">1221</span><a name="line.1221"></a>
-<span class="sourceLineNo">1222</span>  /** Configuration key for the name of the alternate master key for the cluster, a string */<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span>  public static final String CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY =<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span>    "hbase.crypto.master.alternate.key.name";<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span><a name="line.1225"></a>
-<span class="sourceLineNo">1226</span>  /** Configuration key for the algorithm to use when encrypting the WAL, a string */<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span>  public static final String CRYPTO_WAL_ALGORITHM_CONF_KEY = "hbase.crypto.wal.algorithm";<a name="line.1227"></a>
-<span class="sourceLineNo">1228</span><a name="line.1228"></a>
-<span class="sourceLineNo">1229</span>  /** Configuration key for the name of the master WAL encryption key for the cluster, a string */<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span>  public static final String CRYPTO_WAL_KEY_NAME_CONF_KEY = "hbase.crypto.wal.key.name";<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span><a name="line.1231"></a>
-<span class="sourceLineNo">1232</span>  /** Configuration key for the algorithm used for creating jks key, a string */<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span>  public static final String CRYPTO_KEY_ALGORITHM_CONF_KEY = "hbase.crypto.key.algorithm";<a name="line.1233"></a>
+<span class="sourceLineNo">1222</span>  /** Configuration key for the algorithm to use when encrypting the WAL, a string */<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span>  public static final String CRYPTO_WAL_ALGORITHM_CONF_KEY = "hbase.crypto.wal.algorithm";<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span><a name="line.1224"></a>
+<span class="sourceLineNo">1225</span>  /** Configuration key for the name of the master WAL encryption key for the cluster, a string */<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span>  public static final String CRYPTO_WAL_KEY_NAME_CONF_KEY = "hbase.crypto.wal.key.name";<a name="line.1226"></a>
+<span class="sourceLineNo">1227</span><a name="line.1227"></a>
+<span class="sourceLineNo">1228</span>  /** Configuration key for the algorithm used for creating jks key, a string */<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span>  public static final String CRYPTO_KEY_ALGORITHM_CONF_KEY = "hbase.crypto.key.algorithm";<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span><a name="line.1230"></a>
+<span class="sourceLineNo">1231</span>  /** Configuration key for the name of the alternate cipher algorithm for the cluster, a string */<a name="line.1231"></a>
+<span class="sourceLineNo">1232</span>  public static final String CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY =<a name="line.1232"></a>
+<span class="sourceLineNo">1233</span>      "hbase.crypto.alternate.key.algorithm";<a name="line.1233"></a>
 <span class="sourceLineNo">1234</span><a name="line.1234"></a>
-<span class="sourceLineNo">1235</span>  /** Configuration key for the name of the alternate cipher algorithm for the cluster, a string */<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span>  public static final String CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY =<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span>      "hbase.crypto.alternate.key.algorithm";<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span><a name="line.1238"></a>
-<span class="sourceLineNo">1239</span>  /** Configuration key for enabling WAL encryption, a boolean */<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span>  public static final String ENABLE_WAL_ENCRYPTION = "hbase.regionserver.wal.encryption";<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span><a name="line.1241"></a>
-<span class="sourceLineNo">1242</span>  /** Configuration key for setting RPC codec class name */<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span>  public static final String RPC_CODEC_CONF_KEY = "hbase.client.rpc.codec";<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span><a name="line.1244"></a>
-<span class="sourceLineNo">1245</span>  /** Configuration key for setting replication codec class name */<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span>  public static final String REPLICATION_CODEC_CONF_KEY = "hbase.replication.rpc.codec";<a name="line.1246"></a>
+<span class="sourceLineNo">1235</span>  /** Configuration key for enabling WAL encryption, a boolean */<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span>  public static final String ENABLE_WAL_ENCRYPTION = "hbase.regionserver.wal.encryption";<a name="line.1236"></a>
+<span class="sourceLineNo">1237</span><a name="line.1237"></a>
+<span class="sourceLineNo">1238</span>  /** Configuration key for setting RPC codec class name */<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span>  public static final String RPC_CODEC_CONF_KEY = "hbase.client.rpc.codec";<a name="line.1239"></a>
+<span class="sourceLineNo">1240</span><a name="line.1240"></a>
+<span class="sourceLineNo">1241</span>  /** Configuration key for setting replication codec class name */<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span>  public static final String REPLICATION_CODEC_CONF_KEY = "hbase.replication.rpc.codec";<a name="line.1242"></a>
+<span class="sourceLineNo">1243</span><a name="line.1243"></a>
+<span class="sourceLineNo">1244</span>  /** Maximum number of threads used by the replication source for shipping edits to the sinks */<a name="line.1244"></a>
+<span class="sourceLineNo">1245</span>  public static final String REPLICATION_SOURCE_MAXTHREADS_KEY =<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span>      "hbase.replication.source.maxthreads";<a name="line.1246"></a>
 <span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span>  /** Maximum number of threads used by the replication source for shipping edits to the sinks */<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span>  public static final String REPLICATION_SOURCE_MAXTHREADS_KEY =<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span>      "hbase.replication.source.maxthreads";<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span><a name="line.1251"></a>
-<span class="sourceLineNo">1252</span>  public static final int REPLICATION_SOURCE_MAXTHREADS_DEFAULT = 10;<a name="line.1252"></a>
+<span class="sourceLineNo">1248</span>  public static final int REPLICATION_SOURCE_MAXTHREADS_DEFAULT = 10;<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span><a name="line.1249"></a>
+<span class="sourceLineNo">1250</span>  /** Config for pluggable consensus provider */<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span>  public static final String HBASE_COORDINATED_STATE_MANAGER_CLASS =<a name="line.1251"></a>
+<span class="sourceLineNo">1252</span>    "hbase.coordinated.state.manager.class";<a name="line.1252"></a>
 <span class="sourceLineNo">1253</span><a name="line.1253"></a>
-<span class="sourceLineNo">1254</span>  /** Config for pluggable consensus provider */<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span>  public static final String HBASE_COORDINATED_STATE_MANAGER_CLASS =<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span>    "hbase.coordinated.state.manager.class";<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span><a name="line.1257"></a>
-<span class="sourceLineNo">1258</span>  /** Configuration key for SplitLog manager timeout */<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span>  public static final String HBASE_SPLITLOG_MANAGER_TIMEOUT = "hbase.splitlog.manager.timeout";<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span><a name="line.1260"></a>
-<span class="sourceLineNo">1261</span>  /**<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span>   * Configuration keys for Bucket cache<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span>   */<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span>  // TODO moving these bucket cache implementation specific configs to this level is violation of<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span>  // encapsulation. But as these has to be referred from hbase-common and bucket cache<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span>  // sits in hbase-server, there were no other go! Can we move the cache implementation to<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span>  // hbase-common?<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span><a name="line.1268"></a>
-<span class="sourceLineNo">1269</span>  /**<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span>   * Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span>   * to the file that will host the file-based cache.  See BucketCache#getIOEngineFromName() for<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span>   * list of supported ioengine options.<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span>   * &lt;p&gt;Set this option and a non-zero {@link #BUCKET_CACHE_SIZE_KEY} to enable bucket cache.<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span>   */<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span>  public static final String BUCKET_CACHE_IOENGINE_KEY = "hbase.bucketcache.ioengine";<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span><a name="line.1276"></a>
-<span class="sourceLineNo">1277</span>  /**<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span>   * When using bucket cache, this is a float that EITHER represents a percentage of total heap<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span>   * memory size to give to the cache (if &amp;lt; 1.0) OR, it is the capacity in<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span>   * megabytes of the cache.<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span>   */<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span>  public static final String BUCKET_CACHE_SIZE_KEY = "hbase.bucketcache.size";<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span><a name="line.1283"></a>
-<span class="sourceLineNo">1284</span>  /**<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span>   * HConstants for fast fail on the client side follow<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span>   */<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span>  /**<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span>   * Config for enabling/disabling the fast fail mode.<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span>   */<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span>  public static final String HBASE_CLIENT_FAST_FAIL_MODE_ENABLED =<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span>      "hbase.client.fast.fail.mode.enabled";<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span><a name="line.1292"></a>
-<span class="sourceLineNo">1293</span>  public static final boolean HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT =<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span>      false;<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span><a name="line.1295"></a>
-<span class="sourceLineNo">1296</span>  public static final String HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS =<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span>      "hbase.client.fastfail.threshold";<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span><a name="line.1298"></a>
-<span class="sourceLineNo">1299</span>  public static final long HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT =<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span>      60000;<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span><a name="line.1301"></a>
-<span class="sourceLineNo">1302</span>  public static final String HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS =<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>      "hbase.client.fast.fail.cleanup.duration";<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span><a name="line.1304"></a>
-<span class="sourceLineNo">1305</span>  public static final long HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT =<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span>      600000;<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span><a name="line.1307"></a>
-<span class="sourceLineNo">1308</span>  public static final String HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL =<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span>      "hbase.client.fast.fail.interceptor.impl";<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span><a name="line.1310"></a>
-<span class="sourceLineNo">1311</span>  /** Config key for if the server should send backpressure and if the client should listen to<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span>   * that backpressure from the server */<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span>  public static final String ENABLE_CLIENT_BACKPRESSURE = "hbase.client.backpressure.enabled";<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span>  public static final boolean DEFAULT_ENABLE_CLIENT_BACKPRESSURE = false;<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span><a name="line.1315"></a>
-<span class="sourceLineNo">1316</span>  public static final String HEAP_OCCUPANCY_LOW_WATERMARK_KEY =<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span>      "hbase.heap.occupancy.low_water_mark";<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span>  public static final float DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK = 0.95f;<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span>  public static final String HEAP_OCCUPANCY_HIGH_WATERMARK_KEY =<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span>      "hbase.heap.occupancy.high_water_mark";<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span>  public static final float DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK = 0.98f;<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span><a name="line.1322"></a>
-<span class="sourceLineNo">1323</span>  /**<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span>   * The max number of threads used for splitting storefiles in parallel during<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span>   * the region split process.<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span>   */<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span>  public static final String REGION_SPLIT_THREADS_MAX =<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span>    "hbase.regionserver.region.split.threads.max";<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span><a name="line.1329"></a>
-<span class="sourceLineNo">1330</span>  /** Canary config keys */<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>  public static final String HBASE_CANARY_WRITE_DATA_TTL_KEY = "hbase.canary.write.data.ttl";<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span><a name="line.1332"></a>
-<span class="sourceLineNo">1333</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY =<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span>      "hbase.canary.write.perserver.regions.lowerLimit";<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span><a name="line.1335"></a>
-<span class="sourceLineNo">1336</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY =<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span>      "hbase.canary.write.perserver.regions.upperLimit";<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span><a name="line.1338"></a>
-<span class="sourceLineNo">1339</span>  public static final String HBASE_CANARY_WRITE_VALUE_SIZE_KEY = "hbase.canary.write.value.size";<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span><a name="line.1340"></a>
-<span class="sourceLineNo">1341</span>  public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>      "hbase.canary.write.table.check.period";<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span>  <a name="line.1343"></a>
-<span class="sourceLineNo">1344</span>  public static final String HBASE_CANARY_READ_RAW_SCAN_KEY = "hbase.canary.read.raw.enabled";<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span><a name="line.1345"></a>
-<span class="sourceLineNo">1346</span>  /**<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span>   * Configuration keys for programmatic JAAS configuration for secured ZK interaction<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>   */<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span>  public static final String ZK_CLIENT_KEYTAB_FILE = "hbase.zookeeper.client.keytab.file";<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>  public static final String ZK_CLIENT_KERBEROS_PRINCIPAL =<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span>      "hbase.zookeeper.client.kerberos.principal";<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span>  public static final String ZK_SERVER_KEYTAB_FILE = "hbase.zookeeper.server.keytab.file";<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span>  public static final String ZK_SERVER_KERBEROS_PRINCIPAL =<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span>      "hbase.zookeeper.server.kerberos.principal";<a name="line.1354"></a>
-<span class="sourceLineNo">1355</span><a name="line.1355"></a>
-<span class="sourceLineNo">1356</span>  /** Config key for hbase temporary directory in hdfs */<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span>  public static final String TEMPORARY_FS_DIRECTORY_KEY = "hbase.fs.tmp.dir";<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span>  public static final String DEFAULT_TEMPORARY_HDFS_DIRECTORY = "/user/"<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span>      + System.getProperty("user.name") + "/hbase-staging";<a name="line.1359"></a>
+<span class="sourceLineNo">1254</span>  /** Configuration key for SplitLog manager timeout */<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span>  public static final String HBASE_SPLITLOG_MANAGER_TIMEOUT = "hbase.splitlog.manager.timeout";<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span><a name="line.1256"></a>
+<span class="sourceLineNo">1257</span>  /**<a name="line.1257"></a>
+<span class="sourceLineNo">1258</span>   * Configuration keys for Bucket cache<a name="line.1258"></a>
+<span class="sourceLineNo">1259</span>   */<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span>  // TODO moving these bucket cache implementation specific configs to this level is violation of<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span>  // encapsulation. But as these has to be referred from hbase-common and bucket cache<a name="line.1261"></a>
+<span class="sourceLineNo">1262</span>  // sits in hbase-server, there were no other go! Can we move the cache implementation to<a name="line.1262"></a>
+<span class="sourceLineNo">1263</span>  // hbase-common?<a name="line.1263"></a>
+<span class="sourceLineNo">1264</span><a name="line.1264"></a>
+<span class="sourceLineNo">1265</span>  /**<a name="line.1265"></a>
+<span class="sourceLineNo">1266</span>   * Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path<a name="line.1266"></a>
+<span class="sourceLineNo">1267</span>   * to the file that will host the file-based cache.  See BucketCache#getIOEngineFromName() for<a name="line.1267"></a>
+<span class="sourceLineNo">1268</span>   * list of supported ioengine options.<a name="line.1268"></a>
+<span class="sourceLineNo">1269</span>   * &lt;p&gt;Set this option and a non-zero {@link #BUCKET_CACHE_SIZE_KEY} to enable bucket cache.<a name="line.1269"></a>
+<span class="sourceLineNo">1270</span>   */<a name="line.1270"></a>
+<span class="sourceLineNo">1271</span>  public static final String BUCKET_CACHE_IOENGINE_KEY = "hbase.bucketcache.ioengine";<a name="line.1271"></a>
+<span class="sourceLineNo">1272</span><a name="line.1272"></a>
+<span class="sourceLineNo">1273</span>  /**<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span>   * When using bucket cache, this is a float that EITHER represents a percentage of total heap<a name="line.1274"></a>
+<span class="sourceLineNo">1275</span>   * memory size to give to the cache (if &amp;lt; 1.0) OR, it is the capacity in<a name="line.1275"></a>
+<span class="sourceLineNo">1276</span>   * megabytes of the cache.<a name="line.1276"></a>
+<span class="sourceLineNo">1277</span>   */<a name="line.1277"></a>
+<span class="sourceLineNo">1278</span>  public static final String BUCKET_CACHE_SIZE_KEY = "hbase.bucketcache.size";<a name="line.1278"></a>
+<span class="sourceLineNo">1279</span><a name="line.1279"></a>
+<span class="sourceLineNo">1280</span>  /**<a name="line.1280"></a>
+<span class="sourceLineNo">1281</span>   * HConstants for fast fail on the client side follow<a name="line.1281"></a>
+<span class="sourceLineNo">1282</span>   */<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span>  /**<a name="line.1283"></a>
+<span class="sourceLineNo">1284</span>   * Config for enabling/disabling the fast fail mode.<a name="line.1284"></a>
+<span class="sourceLineNo">1285</span>   */<a name="line.1285"></a>
+<span class="sourceLineNo">1286</span>  public static final String HBASE_CLIENT_FAST_FAIL_MODE_ENABLED =<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span>      "hbase.client.fast.fail.mode.enabled";<a name="line.1287"></a>
+<span class="sourceLineNo">1288</span><a name="line.1288"></a>
+<span class="sourceLineNo">1289</span>  public static final boolean HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT =<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span>      false;<a name="line.1290"></a>
+<span class="sourceLineNo">1291</span><a name="line.1291"></a>
+<span class="sourceLineNo">1292</span>  public static final String HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS =<a name="line.1292"></a>
+<span class="sourceLineNo">1293</span>      "hbase.client.fastfail.threshold";<a name="line.1293"></a>
+<span class="sourceLineNo">1294</span><a name="line.1294"></a>
+<span class="sourceLineNo">1295</span>  public static final long HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT =<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span>      60000;<a name="line.1296"></a>
+<span class="sourceLineNo">1297</span><a name="line.1297"></a>
+<span class="sourceLineNo">1298</span>  public static final String HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS =<a name="line.1298"></a>
+<span class="sourceLineNo">1299</span>      "hbase.client.fast.fail.cleanup.duration";<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span><a name="line.1300"></a>
+<span class="sourceLineNo">1301</span>  public static final long HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT =<a name="line.1301"></a>
+<span class="sourceLineNo">1302</span>      600000;<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span><a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>  public static final String HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL =<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span>      "hbase.client.fast.fail.interceptor.impl";<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span><a name="line.1306"></a>
+<span class="sourceLineNo">1307</span>  /** Config key for if the server should send backpressure and if the client should listen to<a name="line.1307"></a>
+<span class="sourceLineNo">1308</span>   * that backpressure from the server */<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span>  public static final String ENABLE_CLIENT_BACKPRESSURE = "hbase.client.backpressure.enabled";<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span>  public static final boolean DEFAULT_ENABLE_CLIENT_BACKPRESSURE = false;<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span><a name="line.1311"></a>
+<span class="sourceLineNo">1312</span>  public static final String HEAP_OCCUPANCY_LOW_WATERMARK_KEY =<a name="line.1312"></a>
+<span class="sourceLineNo">1313</span>      "hbase.heap.occupancy.low_water_mark";<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span>  public static final float DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK = 0.95f;<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span>  public static final String HEAP_OCCUPANCY_HIGH_WATERMARK_KEY =<a name="line.1315"></a>
+<span class="sourceLineNo">1316</span>      "hbase.heap.occupancy.high_water_mark";<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span>  public static final float DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK = 0.98f;<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span><a name="line.1318"></a>
+<span class="sourceLineNo">1319</span>  /**<a name="line.1319"></a>
+<span class="sourceLineNo">1320</span>   * The max number of threads used for splitting storefiles in parallel during<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span>   * the region split process.<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span>   */<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span>  public static final String REGION_SPLIT_THREADS_MAX =<a name="line.1323"></a>
+<span class="sourceLineNo">1324</span>    "hbase.regionserver.region.split.threads.max";<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span><a name="line.1325"></a>
+<span class="sourceLineNo">1326</span>  /** Canary config keys */<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span>  public static final String HBASE_CANARY_WRITE_DATA_TTL_KEY = "hbase.canary.write.data.ttl";<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span><a name="line.1328"></a>
+<span class="sourceLineNo">1329</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY =<a name="line.1329"></a>
+<span class="sourceLineNo">1330</span>      "hbase.canary.write.perserver.regions.lowerLimit";<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span><a name="line.1331"></a>
+<span class="sourceLineNo">1332</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY =<a name="line.1332"></a>
+<span class="sourceLineNo">1333</span>      "hbase.canary.write.perserver.regions.upperLimit";<a name="line.1333"></a>
+<span class="sourceLineNo">1334</span><a name="line.1334"></a>
+<span class="sourceLineNo">1335</span>  public static final String HBASE_CANARY_WRITE_VALUE_SIZE_KEY = "hbase.canary.write.value.size";<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span><a name="line.1336"></a>
+<span class="sourceLineNo">1337</span>  public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span>      "hbase.canary.write.table.check.period";<a name="line.1338"></a>
+<span class="sourceLineNo">1339</span>  <a name="line.1339"></a>
+<span class="sourceLineNo">1340</span>  public static final String HBASE_CANARY_READ_RAW_SCAN_KEY = "hbase.canary.read.raw.enabled";<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span><a name="line.1341"></a>
+<span class="sourceLineNo">1342</span>  /**<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span>   * Configuration keys for programmatic JAAS configuration for secured ZK interaction<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span>   */<a name="line.1344"></a>
+<span class="sourceLineNo">1345</span>  public static final String ZK_CLIENT_KEYTAB_FILE = "hbase.zookeeper.client.keytab.file";<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span>  public static final String ZK_CLIENT_KERBEROS_PRINCIPAL =<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span>      "hbase.zookeeper.client.kerberos.principal";<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span>  public static final String ZK_SERVER_KEYTAB_FILE = "hbase.zookeeper.server.keytab.file";<a name="line.1348"></a>
+<span class="sourceLineNo">1349</span>  public static final String ZK_SERVER_KERBEROS_PRINCIPAL =<a name="line.1349"></a>
+<span class="sourceLineNo">1350</span>      "hbase.zookeeper.server.kerberos.principal";<a name="line.1350"></a>
+<span class="sourceLineNo">1351</span><a name="line.1351"></a>
+<span class="sourceLineNo">1352</span>  /** Config key for hbase temporary directory in hdfs */<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span>  public static final String TEMPORARY_FS_DIRECTORY_KEY = "hbase.fs.tmp.dir";<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span>  public static final String DEFAULT_TEMPORARY_HDFS_DIRECTORY = "/user/"<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span>      + System.getProperty("user.name") + "/hbase-staging";<a name="line.1355"></a>
+<span class="sourceLineNo">1356</span><a name="line.1356"></a>
+<span class="sourceLineNo">1357</span>  public static final String SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT =<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span>      "hbase.snapshot.restore.take.failsafe.snapshot";<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span>  public static final boolean DEFAULT_SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT = false;<a name="line.1359"></a>
 <span class="sourceLineNo">1360</span><a name="line.1360"></a>
-<span class="sourceLineNo">1361</span>  public static final String SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT =<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span>      "hbase.snapshot.restore.take.failsafe.snapshot";<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>  public static final boolean DEFAULT_SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT = false;<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span><a name="line.1364"></a>
-<span class="sourceLineNo">1365</span>  public static final String SNAPSHOT_RESTORE_FAILSAFE_NAME =<a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>      "hbase.snapshot.restore.failsafe.name";<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span>  public static final String DEFAULT_SNAPSHOT_RESTORE_FAILSAFE_NAME =<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>      "hbase-failsafe-{snapshot.name}-{restore.timestamp}";<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span><a name="line.1369"></a>
-<span class="sourceLineNo">1370</span>  private HConstants() {<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span>    // Can't be instantiated with this ctor.<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span>  }<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>}<a name="line.1373"></a>
+<span class="sourceLineNo">1361</span>  public static final String SNAPSHOT_RESTORE_FAILSAFE_NAME =<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span>      "hbase.snapshot.restore.failsafe.name";<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span>  public static final String DEFAULT_SNAPSHOT_RESTORE_FAILSAFE_NAME =<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span>      "hbase-failsafe-{snapshot.name}-{restore.timestamp}";<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span><a name="line.1365"></a>
+<span class="sourceLineNo">1366</span>  private HConstants() {<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span>    // Can't be instantiated with this ctor.<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span>  }<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span>}<a name="line.1369"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index 42e93c5..aad6c0e 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.html
index be47cd3..5bf8c01 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.html
@@ -38,763 +38,770 @@
 <span class="sourceLineNo">030</span>import java.nio.channels.ReadableByteChannel;<a name="line.30"></a>
 <span class="sourceLineNo">031</span>import java.nio.channels.WritableByteChannel;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import java.util.ArrayList;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.HashMap;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.List;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.Map;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.concurrent.atomic.LongAdder;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.commons.logging.Log;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.commons.logging.LogFactory;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.conf.Configuration;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.CallQueueTooBigException;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HConstants;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.Server;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.exceptions.RequestTooBigException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.io.ByteBufferPool;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.nio.MultiByteBuff;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.nio.SingleByteBuff;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.security.User;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.security.token.AuthenticationTokenSecretManager;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.MethodDescriptor;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.security.authorize.AuthorizationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.security.authorize.PolicyProvider;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.security.authorize.ServiceAuthorizationManager;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.security.token.SecretManager;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.codehaus.jackson.map.ObjectMapper;<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>/**<a name="line.79"></a>
-<span class="sourceLineNo">080</span> * An RPC server that hosts protobuf described Services.<a name="line.80"></a>
-<span class="sourceLineNo">081</span> *<a name="line.81"></a>
-<span class="sourceLineNo">082</span> */<a name="line.82"></a>
-<span class="sourceLineNo">083</span>@InterfaceAudience.LimitedPrivate({HBaseInterfaceAudience.COPROC, HBaseInterfaceAudience.PHOENIX})<a name="line.83"></a>
-<span class="sourceLineNo">084</span>@InterfaceStability.Evolving<a name="line.84"></a>
-<span class="sourceLineNo">085</span>public abstract class RpcServer implements RpcServerInterface,<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    ConfigurationObserver {<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  // LOG is being used in CallRunner and the log level is being changed in tests<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  public static final Log LOG = LogFactory.getLog(RpcServer.class);<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  protected static final CallQueueTooBigException CALL_QUEUE_TOO_BIG_EXCEPTION<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      = new CallQueueTooBigException();<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>  private final boolean authorize;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  protected boolean isSecurityEnabled;<a name="line.93"></a>
+<span class="sourceLineNo">033</span>import java.util.Collections;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.HashMap;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.List;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.Locale;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.Map;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.concurrent.atomic.LongAdder;<a name="line.38"></a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.commons.logging.Log;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.commons.logging.LogFactory;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.conf.Configuration;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.CallQueueTooBigException;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HConstants;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.Server;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.exceptions.RequestTooBigException;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.io.ByteBufferPool;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.nio.MultiByteBuff;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.nio.SingleByteBuff;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.security.SaslUtil;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.security.SaslUtil.QualityOfProtection;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.security.User;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.security.token.AuthenticationTokenSecretManager;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.MethodDescriptor;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.security.authorize.AuthorizationException;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.security.authorize.PolicyProvider;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.security.authorize.ServiceAuthorizationManager;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.security.token.SecretManager;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.codehaus.jackson.map.ObjectMapper;<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>/**<a name="line.82"></a>
+<span class="sourceLineNo">083</span> * An RPC server that hosts protobuf described Services.<a name="line.83"></a>
+<span class="sourceLineNo">084</span> *<a name="line.84"></a>
+<span class="sourceLineNo">085</span> */<a name="line.85"></a>
+<span class="sourceLineNo">086</span>@InterfaceAudience.LimitedPrivate({HBaseInterfaceAudience.COPROC, HBaseInterfaceAudience.PHOENIX})<a name="line.86"></a>
+<span class="sourceLineNo">087</span>@InterfaceStability.Evolving<a name="line.87"></a>
+<span class="sourceLineNo">088</span>public abstract class RpcServer implements RpcServerInterface,<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    ConfigurationObserver {<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  // LOG is being used in CallRunner and the log level is being changed in tests<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  public static final Log LOG = LogFactory.getLog(RpcServer.class);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  protected static final CallQueueTooBigException CALL_QUEUE_TOO_BIG_EXCEPTION<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      = new CallQueueTooBigException();<a name="line.93"></a>
 <span class="sourceLineNo">094</span><a name="line.94"></a>
-<span class="sourceLineNo">095</span>  public static final byte CURRENT_VERSION = 0;<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>  /**<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * Whether we allow a fallback to SIMPLE auth for insecure clients when security is enabled.<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   */<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  public static final String FALLBACK_TO_INSECURE_CLIENT_AUTH =<a name="line.100"></a>
-<span class="sourceLineNo">101</span>          "hbase.ipc.server.fallback-to-simple-auth-allowed";<a name="line.101"></a>
-<span class="sourceLineNo">102</span><a name="line.102"></a>
-<span class="sourceLineNo">103</span>  /**<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   * How many calls/handler are allowed in the queue.<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   */<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  protected static final int DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER = 10;<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  protected final CellBlockBuilder cellBlockBuilder;<a name="line.108"></a>
-<span class="sourceLineNo">109</span><a name="line.109"></a>
-<span class="sourceLineNo">110</span>  protected static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  protected static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  protected static final Log AUDITLOG = LogFactory.getLog("SecurityLogger."<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      + Server.class.getName());<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  protected ServiceAuthorizationManager authManager;<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   * after the call returns.<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   */<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  protected static final ThreadLocal&lt;RpcCall&gt; CurCall = new ThreadLocal&lt;&gt;();<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  protected static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC = new ThreadLocal&lt;&gt;();<a name="line.123"></a>
-<span class="sourceLineNo">124</span><a name="line.124"></a>
-<span class="sourceLineNo">125</span>  protected final InetSocketAddress bindAddress;<a name="line.125"></a>
-<span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span>  protected MetricsHBaseServer metrics;<a name="line.127"></a>
+<span class="sourceLineNo">095</span>  private final boolean authorize;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  protected boolean isSecurityEnabled;<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  public static final byte CURRENT_VERSION = 0;<a name="line.98"></a>
+<span class="sourceLineNo">099</span><a name="line.99"></a>
+<span class="sourceLineNo">100</span>  /**<a name="line.100"></a>
+<span class="sourceLineNo">101</span>   * Whether we allow a fallback to SIMPLE auth for insecure clients when security is enabled.<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   */<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  public static final String FALLBACK_TO_INSECURE_CLIENT_AUTH =<a name="line.103"></a>
+<span class="sourceLineNo">104</span>          "hbase.ipc.server.fallback-to-simple-auth-allowed";<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  /**<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * How many calls/handler are allowed in the queue.<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   */<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  protected static final int DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER = 10;<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>  protected final CellBlockBuilder cellBlockBuilder;<a name="line.111"></a>
+<span class="sourceLineNo">112</span><a name="line.112"></a>
+<span class="sourceLineNo">113</span>  protected static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  protected static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  protected static final Log AUDITLOG = LogFactory.getLog("SecurityLogger."<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      + Server.class.getName());<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  protected final Map&lt;String, String&gt; saslProps;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  protected ServiceAuthorizationManager authManager;<a name="line.119"></a>
+<span class="sourceLineNo">120</span><a name="line.120"></a>
+<span class="sourceLineNo">121</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   * after the call returns.<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   */<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  protected static final ThreadLocal&lt;RpcCall&gt; CurCall = new ThreadLocal&lt;&gt;();<a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125"></a>
+<span class="sourceLineNo">126</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  protected static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC = new ThreadLocal&lt;&gt;();<a name="line.127"></a>
 <span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>  protected final Configuration conf;<a name="line.129"></a>
+<span class="sourceLineNo">129</span>  protected final InetSocketAddress bindAddress;<a name="line.129"></a>
 <span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  /**<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * Maximum size in bytes of the currently queued and running Calls. If a new Call puts us over<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * this size, then we will reject the call (after parsing it though). It will go back to the<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * client and client will retry. Set this size with "hbase.ipc.server.max.callqueue.size". The<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * call queue size gets incremented after we parse a call and before we add it to the queue of<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * calls for the scheduler to use. It get decremented after we have 'run' the Call. The current<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * size is kept in {@link #callQueueSizeInBytes}.<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * @see #callQueueSizeInBytes<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * @see #DEFAULT_MAX_CALLQUEUE_SIZE<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  protected final long maxQueueSizeInBytes;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  protected static final int DEFAULT_MAX_CALLQUEUE_SIZE = 1024 * 1024 * 1024;<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>   * This is a running count of the size in bytes of all outstanding calls whether currently<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   * executing or queued waiting to be run.<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   */<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  protected final LongAdder callQueueSizeInBytes = new LongAdder();<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>  protected final boolean tcpNoDelay; // if T then disable Nagle's Algorithm<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.151"></a>
-<span class="sourceLineNo">152</span><a name="line.152"></a>
-<span class="sourceLineNo">153</span>  /**<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  volatile boolean running = true;<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>  /**<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * for business by the call to {@link #start()}.<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   */<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  volatile boolean started = false;<a name="line.164"></a>
-<span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.168"></a>
+<span class="sourceLineNo">131</span>  protected MetricsHBaseServer metrics;<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span>  protected final Configuration conf;<a name="line.133"></a>
+<span class="sourceLineNo">134</span><a name="line.134"></a>
+<span class="sourceLineNo">135</span>  /**<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * Maximum size in bytes of the currently queued and running Calls. If a new Call puts us over<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * this size, then we will reject the call (after parsing it though). It will go back to the<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   * client and client will retry. Set this size with "hbase.ipc.server.max.callqueue.size". The<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   * call queue size gets incremented after we parse a call and before we add it to the queue of<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   * calls for the scheduler to use. It get decremented after we have 'run' the Call. The current<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   * size is kept in {@link #callQueueSizeInBytes}.<a name="line.141"></a>
+<span class="sourceLineNo">142</span>   * @see #callQueueSizeInBytes<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   * @see #DEFAULT_MAX_CALLQUEUE_SIZE<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   */<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  protected final long maxQueueSizeInBytes;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>  protected static final int DEFAULT_MAX_CALLQUEUE_SIZE = 1024 * 1024 * 1024;<a name="line.146"></a>
+<span class="sourceLineNo">147</span><a name="line.147"></a>
+<span class="sourceLineNo">148</span>  /**<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   * This is a running count of the size in bytes of all outstanding calls whether currently<a name="line.149"></a>
+<span class="sourceLineNo">150</span>   * executing or queued waiting to be run.<a name="line.150"></a>
+<span class="sourceLineNo">151</span>   */<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  protected final LongAdder callQueueSizeInBytes = new LongAdder();<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>  protected final boolean tcpNoDelay; // if T then disable Nagle's Algorithm<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<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>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   */<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  volatile boolean running = true;<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>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   * for business by the call to {@link #start()}.<a name="line.166"></a>
+<span class="sourceLineNo">167</span>   */<a name="line.167"></a>
+<span class="sourceLineNo">168</span>  volatile boolean started = false;<a name="line.168"></a>
 <span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span>  protected static final String MAX_REQUEST_SIZE = "hbase.ipc.max.request.size";<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  protected static final RequestTooBigException REQUEST_TOO_BIG_EXCEPTION =<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      new RequestTooBigException();<a name="line.172"></a>
+<span class="sourceLineNo">170</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.172"></a>
 <span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>  protected static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  protected static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<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>   * Minimum allowable timeout (in milliseconds) in rpc request's header. This<a name="line.178"></a>
-<span class="sourceLineNo">179</span>   * configuration exists to prevent the rpc service regarding this request as timeout immediately.<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   */<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  protected static final String MIN_CLIENT_REQUEST_TIMEOUT = "hbase.ipc.min.client.request.timeout";<a name="line.181"></a>
-<span class="sourceLineNo">182</span>  protected static final int DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT = 20;<a name="line.182"></a>
-<span class="sourceLineNo">183</span><a name="line.183"></a>
-<span class="sourceLineNo">184</span>  /** Default value for above params */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  protected static final int DEFAULT_MAX_REQUEST_SIZE = DEFAULT_MAX_CALLQUEUE_SIZE / 4; // 256M<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  protected static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  protected static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.187"></a>
-<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span>  protected static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  protected final int maxRequestSize;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  protected final int warnResponseTime;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  protected final int warnResponseSize;<a name="line.193"></a>
+<span class="sourceLineNo">174</span>  protected static final String MAX_REQUEST_SIZE = "hbase.ipc.max.request.size";<a name="line.174"></a>
+<span class="sourceLineNo">175</span>  protected static final RequestTooBigException REQUEST_TOO_BIG_EXCEPTION =<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      new RequestTooBigException();<a name="line.176"></a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span>  protected static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  protected static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>  /**<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * Minimum allowable timeout (in milliseconds) in rpc request's header. This<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * configuration exists to prevent the rpc service regarding this request as timeout immediately.<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  protected static final String MIN_CLIENT_REQUEST_TIMEOUT = "hbase.ipc.min.client.request.timeout";<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  protected static final int DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT = 20;<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>  /** Default value for above params */<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  protected static final int DEFAULT_MAX_REQUEST_SIZE = DEFAULT_MAX_CALLQUEUE_SIZE / 4; // 256M<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  protected static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  protected static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.191"></a>
+<span class="sourceLineNo">192</span><a name="line.192"></a>
+<span class="sourceLineNo">193</span>  protected static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.193"></a>
 <span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span>  protected final int minClientRequestTimeout;<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  protected final Server server;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  protected final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  protected final RpcScheduler scheduler;<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>  protected UserProvider userProvider;<a name="line.202"></a>
+<span class="sourceLineNo">195</span>  protected final int maxRequestSize;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  protected final int warnResponseTime;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>  protected final int warnResponseSize;<a name="line.197"></a>
+<span class="sourceLineNo">198</span><a name="line.198"></a>
+<span class="sourceLineNo">199</span>  protected final int minClientRequestTimeout;<a name="line.199"></a>
+<span class="sourceLineNo">200</span><a name="line.200"></a>
+<span class="sourceLineNo">201</span>  protected final Server server;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>  protected final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.202"></a>
 <span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  protected final ByteBufferPool reservoir;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  // The requests and response will use buffers from ByteBufferPool, when the size of the<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  // request/response is at least this size.<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  // We make this to be 1/6th of the pool buffer size.<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  protected final int minSizeForReservoirUse;<a name="line.208"></a>
-<span class="sourceLineNo">209</span><a name="line.209"></a>
-<span class="sourceLineNo">210</span>  protected volatile boolean allowFallbackToSimpleAuth;<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>   * Used to get details for scan with a scanner_id&lt;br/&gt;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * TODO try to figure out a better way and remove reference from regionserver package later.<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   */<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  private RSRpcServices rsRpcServices;<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  @FunctionalInterface<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  protected static interface CallCleanup {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    void run();<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  }<a name="line.221"></a>
-<span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span>  /**<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   * Datastructure for passing a {@link BlockingService} and its associated class of<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * protobuf service interface.  For example, a server that fielded what is defined<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   * in the client protobuf service would pass in an implementation of the client blocking service<a name="line.226"></a>
-<span class="sourceLineNo">227</span>   * and then its ClientService.BlockingInterface.class.  Used checking connection setup.<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   */<a name="line.228"></a>
-<span class="sourceLineNo">229</span>  public static class BlockingServiceAndInterface {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    private final BlockingService service;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    private final Class&lt;?&gt; serviceInterface;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    public BlockingServiceAndInterface(final BlockingService service,<a name="line.232"></a>
-<span class="sourceLineNo">233</span>        final Class&lt;?&gt; serviceInterface) {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      this.service = service;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      this.serviceInterface = serviceInterface;<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    }<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    public Class&lt;?&gt; getServiceInterface() {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      return this.serviceInterface;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    }<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    public BlockingService getBlockingService() {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      return this.service;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    }<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  }<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  /**<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   * Constructs a server listening on the named port and address.<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * @param server hosting instance of {@link Server}. We will do authentications if an<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   * instance else pass null for no authentication check.<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * @param name Used keying this rpc servers' metrics and for naming the Listener thread.<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * @param services A list of services.<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * @param bindAddress Where to listen<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * @param conf<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   * @param scheduler<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   */<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  public RpcServer(final Server server, final String name,<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      final List&lt;BlockingServiceAndInterface&gt; services,<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      final InetSocketAddress bindAddress, Configuration conf,<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      RpcScheduler scheduler)<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      throws IOException {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    if (conf.getBoolean("hbase.ipc.server.reservoir.enabled", true)) {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      int poolBufSize = conf.getInt(ByteBufferPool.BUFFER_SIZE_KEY,<a name="line.261"></a>
-<span class="sourceLineNo">262</span>          ByteBufferPool.DEFAULT_BUFFER_SIZE);<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      // The max number of buffers to be pooled in the ByteBufferPool. The default value been<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      // selected based on the #handlers configured. When it is read request, 2 MB is the max size<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      // at which we will send back one RPC request. Means max we need 2 MB for creating the<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      // response cell block. (Well it might be much lesser than this because in 2 MB size calc, we<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      // include the heap size overhead of each cells also.) Considering 2 MB, we will need<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      // (2 * 1024 * 1024) / poolBufSize buffers to make the response cell block. Pool buffer size<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      // is by default 64 KB.<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      // In case of read request, at the end of the handler process, we will make the response<a name="line.270"></a>
-<span class="sourceLineNo">271</span>      // cellblock and add the Call to connection's response Q and a single Responder thread takes<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      // connections and responses from that one by one and do the socket write. So there is chances<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      // that by the time a handler originated response is actually done writing to socket and so<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      // released the BBs it used, the handler might have processed one more read req. On an avg 2x<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      // we consider and consider that also for the max buffers to pool<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      int bufsForTwoMB = (2 * 1024 * 1024) / poolBufSize;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      int maxPoolSize = conf.getInt(ByteBufferPool.MAX_POOL_SIZE_KEY,<a name="line.277"></a>
-<span class="sourceLineNo">278</span>          conf.getInt(HConstants.REGION_SERVER_HANDLER_COUNT,<a name="line.278"></a>
-<span class="sourceLineNo">279</span>              HConstants.DEFAULT_REGION_SERVER_HANDLER_COUNT) * bufsForTwoMB * 2);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      this.reservoir = new ByteBufferPool(poolBufSize, maxPoolSize);<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      this.minSizeForReservoirUse = getMinSizeForReservoirUse(this.reservoir);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    } else {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      reservoir = null;<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      this.minSizeForReservoirUse = Integer.MAX_VALUE;// reservoir itself not in place.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    }<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    this.server = server;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    this.services = services;<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    this.bindAddress = bindAddress;<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    this.conf = conf;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    // See declaration above for documentation on what this size is.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    this.maxQueueSizeInBytes =<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      this.conf.getLong("hbase.ipc.server.max.callqueue.size", DEFAULT_MAX_CALLQUEUE_SIZE);<a name="line.292"></a>
-<span class="sourceLineNo">293</span><a name="line.293"></a>
-<span class="sourceLineNo">294</span>    this.warnResponseTime = conf.getInt(WARN_RESPONSE_TIME, DEFAULT_WARN_RESPONSE_TIME);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    this.warnResponseSize = conf.getInt(WARN_RESPONSE_SIZE, DEFAULT_WARN_RESPONSE_SIZE);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    this.minClientRequestTimeout = conf.getInt(MIN_CLIENT_REQUEST_TIMEOUT,<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    this.maxRequestSize = conf.getInt(MAX_REQUEST_SIZE, DEFAULT_MAX_REQUEST_SIZE);<a name="line.298"></a>
-<span class="sourceLineNo">299</span><a name="line.299"></a>
-<span class="sourceLineNo">300</span>    this.metrics = new MetricsHBaseServer(name, new MetricsHBaseServerWrapperImpl(this));<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    this.tcpNoDelay = conf.getBoolean("hbase.ipc.server.tcpnodelay", true);<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    this.tcpKeepAlive = conf.getBoolean("hbase.ipc.server.tcpkeepalive", true);<a name="line.302"></a>
+<span class="sourceLineNo">204</span>  protected final RpcScheduler scheduler;<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected UserProvider userProvider;<a name="line.206"></a>
+<span class="sourceLineNo">207</span><a name="line.207"></a>
+<span class="sourceLineNo">208</span>  protected final ByteBufferPool reservoir;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  // The requests and response will use buffers from ByteBufferPool, when the size of the<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  // request/response is at least this size.<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  // We make this to be 1/6th of the pool buffer size.<a name="line.211"></a>
+<span class="sourceLineNo">212</span>  protected final int minSizeForReservoirUse;<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>  protected volatile boolean allowFallbackToSimpleAuth;<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span>  /**<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * Used to get details for scan with a scanner_id&lt;br/&gt;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   * TODO try to figure out a better way and remove reference from regionserver package later.<a name="line.218"></a>
+<span class="sourceLineNo">219</span>   */<a name="line.219"></a>
+<span class="sourceLineNo">220</span>  private RSRpcServices rsRpcServices;<a name="line.220"></a>
+<span class="sourceLineNo">221</span><a name="line.221"></a>
+<span class="sourceLineNo">222</span>  @FunctionalInterface<a name="line.222"></a>
+<span class="sourceLineNo">223</span>  protected static interface CallCleanup {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    void run();<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  }<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  /**<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   * Datastructure for passing a {@link BlockingService} and its associated class of<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * protobuf service interface.  For example, a server that fielded what is defined<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * in the client protobuf service would pass in an implementation of the client blocking service<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   * and then its ClientService.BlockingInterface.class.  Used checking connection setup.<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  public static class BlockingServiceAndInterface {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    private final BlockingService service;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    private final Class&lt;?&gt; serviceInterface;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    public BlockingServiceAndInterface(final BlockingService service,<a name="line.236"></a>
+<span class="sourceLineNo">237</span>        final Class&lt;?&gt; serviceInterface) {<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      this.service = service;<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      this.serviceInterface = serviceInterface;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    }<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    public Class&lt;?&gt; getServiceInterface() {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>      return this.serviceInterface;<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    }<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    public BlockingService getBlockingService() {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      return this.service;<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><a name="line.248"></a>
+<span class="sourceLineNo">249</span>  /**<a name="line.249"></a>
+<span class="sourceLineNo">250</span>   * Constructs a server listening on the named port and address.<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * @param server hosting instance of {@link Server}. We will do authentications if an<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   * instance else pass null for no authentication check.<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   * @param name Used keying this rpc servers' metrics and for naming the Listener thread.<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   * @param services A list of services.<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   * @param bindAddress Where to listen<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   * @param conf<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   * @param scheduler<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   */<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  public RpcServer(final Server server, final String name,<a name="line.259"></a>
+<span class="sourceLineNo">260</span>      final List&lt;BlockingServiceAndInterface&gt; services,<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      final InetSocketAddress bindAddress, Configuration conf,<a name="line.261"></a>
+<span class="sourceLineNo">262</span>      RpcScheduler scheduler)<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      throws IOException {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    if (conf.getBoolean("hbase.ipc.server.reservoir.enabled", true)) {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>      int poolBufSize = conf.getInt(ByteBufferPool.BUFFER_SIZE_KEY,<a name="line.265"></a>
+<span class="sourceLineNo">266</span>          ByteBufferPool.DEFAULT_BUFFER_SIZE);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      // The max number of buffers to be pooled in the ByteBufferPool. The default value been<a name="line.267"></a>
+<span class="sourceLineNo">268</span>      // selected based on the #handlers configured. When it is read request, 2 MB is the max size<a name="line.268"></a>
+<span class="sourceLineNo">269</span>      // at which we will send back one RPC request. Means max we need 2 MB for creating the<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      // response cell block. (Well it might be much lesser than this because in 2 MB size calc, we<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      // include the heap size overhead of each cells also.) Considering 2 MB, we will need<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      // (2 * 1024 * 1024) / poolBufSize buffers to make the response cell block. Pool buffer size<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      // is by default 64 KB.<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      // In case of read request, at the end of the handler process, we will make the response<a name="line.274"></a>
+<span class="sourceLineNo">275</span>      // cellblock and add the Call to connection's response Q and a single Responder thread takes<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      // connections and responses from that one by one and do the socket write. So there is chances<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      // that by the time a handler originated response is actually done writing to socket and so<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      // released the BBs it used, the handler might have processed one more read req. On an avg 2x<a name="line.278"></a>
+<span class="sourceLineNo">279</span>      // we consider and consider that also for the max buffers to pool<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      int bufsForTwoMB = (2 * 1024 * 1024) / poolBufSize;<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      int maxPoolSize = conf.getInt(ByteBufferPool.MAX_POOL_SIZE_KEY,<a name="line.281"></a>
+<span class="sourceLineNo">282</span>          conf.getInt(HConstants.REGION_SERVER_HANDLER_COUNT,<a name="line.282"></a>
+<span class="sourceLineNo">283</span>              HConstants.DEFAULT_REGION_SERVER_HANDLER_COUNT) * bufsForTwoMB * 2);<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      this.reservoir = new ByteBufferPool(poolBufSize, maxPoolSize);<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      this.minSizeForReservoirUse = getMinSizeForReservoirUse(this.reservoir);<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    } else {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      reservoir = null;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      this.minSizeForReservoirUse = Integer.MAX_VALUE;// reservoir itself not in place.<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    }<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    this.server = server;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    this.services = services;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    this.bindAddress = bindAddress;<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    this.conf = conf;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    // See declaration above for documentation on what this size is.<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    this.maxQueueSizeInBytes =<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      this.conf.getLong("hbase.ipc.server.max.callqueue.size", DEFAULT_MAX_CALLQUEUE_SIZE);<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span>    this.warnResponseTime = conf.getInt(WARN_RESPONSE_TIME, DEFAULT_WARN_RESPONSE_TIME);<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    this.warnResponseSize = conf.getInt(WARN_RESPONSE_SIZE, DEFAULT_WARN_RESPONSE_SIZE);<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    this.minClientRequestTimeout = conf.getInt(MIN_CLIENT_REQUEST_TIMEOUT,<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT);<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    this.maxRequestSize = conf.getInt(MAX_REQUEST_SIZE, DEFAULT_MAX_REQUEST_SIZE);<a name="line.302"></a>
 <span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>    this.cellBlockBuilder = new CellBlockBuilder(conf);<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>    this.authorize = conf.getBoolean(HADOOP_SECURITY_AUTHORIZATION, false);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    this.userProvider = UserProvider.instantiate(conf);<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    this.isSecurityEnabled = userProvider.isHBaseSecurityEnabled();<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    if (isSecurityEnabled) {<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      HBaseSaslRpcServer.init(conf);<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>    this.scheduler = scheduler;<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>  @VisibleForTesting<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  static int getMinSizeForReservoirUse(ByteBufferPool pool) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    return pool.getBufferSize() / 6;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  @Override<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  public void onConfigurationChange(Configuration newConf) {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    initReconfigurable(newConf);<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    if (scheduler instanceof ConfigurationObserver) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      ((ConfigurationObserver) scheduler).onConfigurationChange(newConf);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    }<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  protected void initReconfigurable(Configuration confToLoad) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    this.allowFallbackToSimpleAuth = confToLoad.getBoolean(FALLBACK_TO_INSECURE_CLIENT_AUTH, false);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    if (isSecurityEnabled &amp;&amp; allowFallbackToSimpleAuth) {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      LOG.warn("********* WARNING! *********");<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      LOG.warn("This server is configured to allow connections from INSECURE clients");<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      LOG.warn("(" + FALLBACK_TO_INSECURE_CLIENT_AUTH + " = true).");<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      LOG.warn("While this option is enabled, client identities cannot be secured, and user");<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      LOG.warn("impersonation is possible!");<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      LOG.warn("For secure operation, please disable SIMPLE authentication as soon as possible,");<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      LOG.warn("by setting " + FALLBACK_TO_INSECURE_CLIENT_AUTH + " = false in hbase-site.xml");<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      LOG.warn("****************************");<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><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  Configuration getConf() {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    return conf;<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 boolean isStarted() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    return this.started;<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 synchronized void refreshAuthManager(PolicyProvider pp) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    // Ignore warnings that this should be accessed in a static way instead of via an instance;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>    // it'll break if you go via static route.<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    this.authManager.refresh(this.conf, pp);<a name="line.356"></a>
+<span class="sourceLineNo">304</span>    this.metrics = new MetricsHBaseServer(name, new MetricsHBaseServerWrapperImpl(this));<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    this.tcpNoDelay = conf.getBoolean("hbase.ipc.server.tcpnodelay", true);<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    this.tcpKeepAlive = conf.getBoolean("hbase.ipc.server.tcpkeepalive", true);<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>    this.cellBlockBuilder = new CellBlockBuilder(conf);<a name="line.308"></a>
+<span class="sourceLineNo">309</span><a name="line.309"></a>
+<span class="sourceLineNo">310</span>    this.authorize = conf.getBoolean(HADOOP_SECURITY_AUTHORIZATION, false);<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    this.userProvider = UserProvider.instantiate(conf);<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    this.isSecurityEnabled = userProvider.isHBaseSecurityEnabled();<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    if (isSecurityEnabled) {<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      saslProps = SaslUtil.initSaslProperties(conf.get("hbase.rpc.protection",<a name="line.314"></a>
+<span class="sourceLineNo">315</span>        QualityOfProtection.AUTHENTICATION.name().toLowerCase(Locale.ROOT)));<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    } else {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      saslProps = Collections.emptyMap();<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    }<a name="line.318"></a>
+<span class="sourceLineNo">319</span><a name="line.319"></a>
+<span class="sourceLineNo">320</span>    this.scheduler = scheduler;<a name="line.320"></a>
+<span class="sourceLineNo">321</span>  }<a name="line.321"></a>
+<span class="sourceLineNo">322</span><a name="line.322"></a>
+<span class="sourceLineNo">323</span>  @VisibleForTesting<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  static int getMinSizeForReservoirUse(ByteBufferPool pool) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    return pool.getBufferSize() / 6;<a name="line.325"></a>
+<span class="sourceLineNo">326</span>  }<a name="line.326"></a>
+<span class="sourceLineNo">327</span><a name="line.327"></a>
+<span class="sourceLineNo">328</span>  @Override<a name="line.328"></a>
+<span class="sourceLineNo">329</span>  public void onConfigurationChange(Configuration newConf) {<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    initReconfigurable(newConf);<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    if (scheduler instanceof ConfigurationObserver) {<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      ((ConfigurationObserver) scheduler).onConfigurationChange(newConf);<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    }<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  }<a name="line.334"></a>
+<span class="sourceLineNo">335</span><a name="line.335"></a>
+<span class="sourceLineNo">336</span>  protected void initReconfigurable(Configuration confToLoad) {<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    this.allowFallbackToSimpleAuth = confToLoad.getBoolean(FALLBACK_TO_INSECURE_CLIENT_AUTH, false);<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    if (isSecurityEnabled &amp;&amp; allowFallbackToSimpleAuth) {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>      LOG.warn("********* WARNING! *********");<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      LOG.warn("This server is configured to allow connections from INSECURE clients");<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      LOG.warn("(" + FALLBACK_TO_INSECURE_CLIENT_AUTH + " = true).");<a name="line.341"></a>
+<span class="sourceLineNo">342</span>      LOG.warn("While this option is enabled, client identities cannot be secured, and user");<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      LOG.warn("impersonation is possible!");<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      LOG.warn("For secure operation, please disable SIMPLE authentication as soon as possible,");<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      LOG.warn("by setting " + FALLBACK_TO_INSECURE_CLIENT_AUTH + " = false in hbase-site.xml");<a name="line.345"></a>
+<span class="sourceLineNo">346</span>      LOG.warn("****************************");<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><a name="line.349"></a>
+<span class="sourceLineNo">350</span>  Configuration getConf() {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    return conf;<a name="line.351"></a>
+<span class="sourceLineNo">352</span>  }<a name="line.352"></a>
+<span class="sourceLineNo">353</span><a name="line.353"></a>
+<span class="sourceLineNo">354</span>  @Override<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  public boolean isStarted() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    return this.started;<a name="line.356"></a>
 <span class="sourceLineNo">357</span>  }<a name="line.357"></a>
 <span class="sourceLineNo">358</span><a name="line.358"></a>
-<span class="sourceLineNo">359</span>  protected AuthenticationTokenSecretManager createSecretManager() {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    if (!isSecurityEnabled) return null;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    if (server == null) return null;<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    Configuration conf = server.getConfiguration();<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    long keyUpdateInterval =<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        conf.getLong("hbase.auth.key.update.interval", 24*60*60*1000);<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    long maxAge =<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        conf.getLong("hbase.auth.token.max.lifetime", 7*24*60*60*1000);<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    return new AuthenticationTokenSecretManager(conf, server.getZooKeeper(),<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        server.getServerName().toString(), keyUpdateInterval, maxAge);<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>  public SecretManager&lt;? extends TokenIdentifier&gt; getSecretManager() {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    return this.secretManager;<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @SuppressWarnings("unchecked")<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public void setSecretManager(SecretManager&lt;? extends TokenIdentifier&gt; secretManager) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    this.secretManager = (SecretManager&lt;TokenIdentifier&gt;) secretManager;<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>  /**<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * This is a server side method, which is invoked over RPC. On success<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   * the return response has protobuf response payload. On failure, the<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   * exception name and the stack trace are returned in the protobuf response.<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   */<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  @Override<a name="line.385"></a>
-<span class="sourceLineNo">386</span>  public Pair&lt;Message, CellScanner&gt; call(RpcCall call,<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      MonitoredRPCHandler status) throws IOException {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    try {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      MethodDescriptor md = call.getMethod();<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      Message param = call.getParam();<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      status.setRPC(md.getName(), new Object[]{param},<a name="line.391"></a>
-<span class="sourceLineNo">392</span>        call.getReceiveTime());<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      // TODO: Review after we add in encoded data blocks.<a name="line.393"></a>
-<span class="sourceLineNo">394</span>      status.setRPCPacket(param);<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      status.resume("Servicing call");<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      //get an instance of the method arg type<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      HBaseRpcController controller = new HBaseRpcControllerImpl(call.getCellScanner());<a name="line.397"></a>
-<span class="sourceLineNo">398</span>      controller.setCallTimeout(call.getTimeout());<a name="line.398"></a>
-<span class="sourceLineNo">399</span>      Message result = call.getService().callBlockingMethod(md, controller, param);<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      long receiveTime = call.getReceiveTime();<a name="line.400"></a>
-<span class="sourceLineNo">401</span>      long startTime = call.getStartTime();<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      long endTime = System.currentTimeMillis();<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      int processingTime = (int) (endTime - startTime);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      int qTime = (int) (startTime - receiveTime);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      int totalTime = (int) (endTime - receiveTime);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      if (LOG.isTraceEnabled()) {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        LOG.trace(CurCall.get().toString() +<a name="line.407"></a>
-<span class="sourceLineNo">408</span>            ", response " + TextFormat.shortDebugString(result) +<a name="line.408"></a>
-<span class="sourceLineNo">409</span>            " queueTime: " + qTime +<a name="line.409"></a>
-<span class="sourceLineNo">410</span>            " processingTime: " + processingTime +<a name="line.410"></a>
-<span class="sourceLineNo">411</span>            " totalTime: " + totalTime);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      // Use the raw request call size for now.<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      long requestSize = call.getSize();<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      long responseSize = result.getSerializedSize();<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      if (call.isClientCellBlockSupported()) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        // Include the payload size in HBaseRpcController<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        responseSize += call.getResponseCellSize();<a name="line.418"></a>
+<span class="sourceLineNo">359</span>  @Override<a name="line.359"></a>
+<span class="sourceLineNo">360</span>  public synchronized void refreshAuthManager(PolicyProvider pp) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    // Ignore warnings that this should be accessed in a static way instead of via an instance;<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    // it'll break if you go via static route.<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    this.authManager.refresh(this.conf, pp);<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span>  protected AuthenticationTokenSecretManager createSecretManager() {<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    if (!isSecurityEnabled) return null;<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    if (server == null) return null;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    Configuration conf = server.getConfiguration();<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    long keyUpdateInterval =<a name="line.370"></a>
+<span class="sourceLineNo">371</span>        conf.getLong("hbase.auth.key.update.interval", 24*60*60*1000);<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    long maxAge =<a name="line.372"></a>
+<span class="sourceLineNo">373</span>        conf.getLong("hbase.auth.token.max.lifetime", 7*24*60*60*1000);<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    return new AuthenticationTokenSecretManager(conf, server.getZooKeeper(),<a name="line.374"></a>
+<span class="sourceLineNo">375</span>        server.getServerName().toString(), keyUpdateInterval, maxAge);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>  }<a name="line.376"></a>
+<span class="sourceLineNo">377</span><a name="line.377"></a>
+<span class="sourceLineNo">378</span>  public SecretManager&lt;? extends TokenIdentifier&gt; getSecretManager() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    return this.secretManager;<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>  @SuppressWarnings("unchecked")<a name="line.382"></a>
+<span class="sourceLineNo">383</span>  public void setSecretManager(SecretManager&lt;? extends TokenIdentifier&gt; secretManager) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    this.secretManager = (SecretManager&lt;TokenIdentifier&gt;) secretManager;<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>  /**<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   * This is a server side method, which is invoked over RPC. On success<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   * the return response has protobuf response payload. On failure, the<a name="line.389"></a>
+<span class="sourceLineNo">390</span>   * exception name and the stack trace are returned in the protobuf response.<a name="line.390"></a>
+<span class="sourceLineNo">391</span>   */<a name="line.391"></a>
+<span class="sourceLineNo">392</span>  @Override<a name="line.392"></a>
+<span class="sourceLineNo">393</span>  public Pair&lt;Message, CellScanner&gt; call(RpcCall call,<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      MonitoredRPCHandler status) throws IOException {<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    try {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      MethodDescriptor md = call.getMethod();<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      Message param = call.getParam();<a name="line.397"></a>
+<span class="sourceLineNo">398</span>      status.setRPC(md.getName(), new Object[]{param},<a name="line.398"></a>
+<span class="sourceLineNo">399</span>        call.getReceiveTime());<a name="line.399"></a>
+<span class="sourceLineNo">400</span>      // TODO: Review after we add in encoded data blocks.<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      status.setRPCPacket(param);<a name="line.401"></a>
+<span class="sourceLineNo">402</span>      status.resume("Servicing call");<a name="line.402"></a>
+<span class="sourceLineNo">403</span>      //get an instance of the method arg type<a name="line.403"></a>
+<span class="sourceLineNo">404</span>      HBaseRpcController controller = new HBaseRpcControllerImpl(call.getCellScanner());<a name="line.404"></a>
+<span class="sourceLineNo">405</span>      controller.setCallTimeout(call.getTimeout());<a name="line.405"></a>
+<span class="sourceLineNo">406</span>      Message result = call.getService().callBlockingMethod(md, controller, param);<a name="line.406"></a>
+<span class="sourceLineNo">407</span>      long receiveTime = call.getReceiveTime();<a name="line.407"></a>
+<span class="sourceLineNo">408</span>      long startTime = call.getStartTime();<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      long endTime = System.currentTimeMillis();<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      int processingTime = (int) (endTime - startTime);<a name="line.410"></a>
+<span class="sourceLineNo">411</span>      int qTime = (int) (startTime - receiveTime);<a name="line.411"></a>
+<span class="sourceLineNo">412</span>      int totalTime = (int) (endTime - receiveTime);<a name="line.412"></a>
+<span class="sourceLineNo">413</span>      if (LOG.isTraceEnabled()) {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>        LOG.trace(CurCall.get().toString() +<a name="line.414"></a>
+<span class="sourceLineNo">415</span>            ", response " + TextFormat.shortDebugString(result) +<a name="line.415"></a>
+<span class="sourceLineNo">416</span>            " queueTime: " + qTime +<a name="line.416"></a>
+<span class="sourceLineNo">417</span>            " processingTime: " + processingTime +<a name="line.417"></a>
+<span class="sourceLineNo">418</span>            " totalTime: " + totalTime);<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>      metrics.dequeuedCall(qTime);<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      metrics.processedCall(processingTime);<a name="line.422"></a>
-<span class="sourceLineNo">423</span>      metrics.totalCall(totalTime);<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      metrics.receivedRequest(requestSize);<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      metrics.sentResponse(responseSize);<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      // log any RPC responses that are slower than the configured warn<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      // response time or larger than configured warning size<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      boolean tooSlow = (processingTime &gt; warnResponseTime &amp;&amp; warnResponseTime &gt; -1);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      boolean tooLarge = (responseSize &gt; warnResponseSize &amp;&amp; warnResponseSize &gt; -1);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>      if (tooSlow || tooLarge) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        // when tagging, we let TooLarge trump TooSmall to keep output simple<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        // note that large responses will often also be slow.<a name="line.432"></a>
-<span class="sourceLineNo">433</span>        logResponse(param,<a name="line.433"></a>
-<span class="sourceLineNo">434</span>            md.getName(), md.getName() + "(" + param.getClass().getName() + ")",<a name="line.434"></a>
-<span class="sourceLineNo">435</span>            (tooLarge ? "TooLarge" : "TooSlow"),<a name="line.435"></a>
-<span class="sourceLineNo">436</span>            status.getClient(), startTime, processingTime, qTime,<a name="line.436"></a>
-<span class="sourceLineNo">437</span>            responseSize);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      }<a name="line.438"></a>
-<span class="sourceLineNo">439</span>      return new Pair&lt;&gt;(result, controller.cellScanner());<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    } catch (Throwable e) {<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      // The above callBlockingMethod will always return a SE.  Strip the SE wrapper before<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      // putting it on the wire.  Its needed to adhere to the pb Service Interface but we don't<a name="line.442"></a>
-<span class="sourceLineNo">443</span>      // need to pass it over the wire.<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      if (e instanceof ServiceException) {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>        if (e.getCause() == null) {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>          LOG.debug("Caught a ServiceException with null cause", e);<a name="line.446"></a>
-<span class="sourceLineNo">447</span>        } else {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>          e = e.getCause();<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>      // increment the number of requests that were exceptions.<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      metrics.exception(e);<a name="line.453"></a>
-<span class="sourceLineNo">454</span><a name="line.454"></a>
-<span class="sourceLineNo">455</span>      if (e instanceof LinkageError) throw new DoNotRetryIOException(e);<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      if (e instanceof IOException) throw (IOException)e;<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      LOG.error("Unexpected throwable object ", e);<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      throw new IOException(e.getMessage(), e);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    }<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  }<a name="line.460"></a>
+<span class="sourceLineNo">420</span>      // Use the raw request call size for now.<a name="line.420"></a>
+<span class="sourceLineNo">421</span>      long requestSize = call.getSize();<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      long responseSize = result.getSerializedSize();<a name="line.422"></a>
+<span class="sourceLineNo">423</span>      if (call.isClientCellBlockSupported()) {<a name="line.423"></a>
+<span class="sourceLineNo">424</span>        // Include the payload size in HBaseRpcController<a name="line.424"></a>
+<span class="sourceLineNo">425</span>        responseSize += call.getResponseCellSize();<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>      metrics.dequeuedCall(qTime);<a name="line.428"></a>
+<span class="sourceLineNo">429</span>      metrics.processedCall(processingTime);<a name="line.429"></a>
+<span class="sourceLineNo">430</span>      metrics.totalCall(totalTime);<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      metrics.receivedRequest(requestSize);<a name="line.431"></a>
+<span class="sourceLineNo">432</span>      metrics.sentResponse(responseSize);<a name="line.432"></a>
+<span class="sourceLineNo">433</span>      // log any RPC responses that are slower than the configured warn<a name="line.433"></a>
+<span class="sourceLineNo">434</span>      // response time or larger than configured warning size<a name="line.434"></a>
+<span class="sourceLineNo">435</span>      boolean tooSlow = (processingTime &gt; warnResponseTime &amp;&amp; warnResponseTime &gt; -1);<a name="line.435"></a>
+<span class="sourceLineNo">436</span>      boolean tooLarge = (responseSize &gt; warnResponseSize &amp;&amp; warnResponseSize &gt; -1);<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      if (tooSlow || tooLarge) {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>        // when tagging, we let TooLarge trump TooSmall to keep output simple<a name="line.438"></a>
+<span class="sourceLineNo">439</span>        // note that large responses will often also be slow.<a name="line.439"></a>
+<span class="sourceLineNo">440</span>        logResponse(param,<a name="line.440"></a>
+<span class="sourceLineNo">441</span>            md.getName(), md.getName() + "(" + param.getClass().getName() + ")",<a name="line.441"></a>
+<span class="sourceLineNo">442</span>            (tooLarge ? "TooLarge" : "TooSlow"),<a name="line.442"></a>
+<span class="sourceLineNo">443</span>            status.getClient(), startTime, processingTime, qTime,<a name="line.443"></a>
+<span class="sourceLineNo">444</span>            responseSize);<a name="line.444"></a>
+<span class="sourceLineNo">445</span>      }<a name="line.445"></a>
+<span class="sourceLineNo">446</span>      return new Pair&lt;&gt;(result, controller.cellScanner());<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    } catch (Throwable e) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      // The above callBlockingMethod will always return a SE.  Strip the SE wrapper before<a name="line.448

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.html b/testdevapidocs/org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.html
index 05db8dd..1fb25f1 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.html
@@ -179,7 +179,7 @@ extends org.apache.hadoop.hbase.ipc.SimpleRpcServer</pre>
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.ipc.RpcServer</h3>
-<code>allowFallbackToSimpleAuth, AUDITLOG, AUTH_FAILED_FOR, AUTH_SUCCESSFUL_FOR, authManager, authTokenSecretMgr, bindAddress, CALL_QUEUE_TOO_BIG_EXCEPTION, callQueueSizeInBytes, cellBlockBuilder, conf, CurCall, CURRENT_VERSION, DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER, DEFAULT_MAX_CALLQUEUE_SIZE, DEFAULT_MAX_REQUEST_SIZE, DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT, DEFAULT_WARN_RESPONSE_SIZE, DEFAULT_WARN_RESPONSE_TIME, errorHandler, FALLBACK_TO_INSECURE_CLIENT_AUTH, isSecurityEnabled, LOG, MAPPER, MAX_REQUEST_SIZE, maxQueueSizeInBytes, maxRequestSize, metrics, MIN_CLIENT_REQUEST_TIMEOUT, minClientRequestTimeout, minSizeForReservoirUse, MONITORED_RPC, NIO_BUFFER_LIMIT, REQUEST_TOO_BIG_EXCEPTION, reservoir, running, scheduler, secretManager, server, services, started, tcpKeepAlive, tcpNoDelay, userProvider, WARN_RESPONSE_SIZE, WARN_RESPONSE_TIME, warnResponseSize, warnResponseTime</code></li>
+<code>allowFallbackToSimpleAuth, AUDITLOG, AUTH_FAILED_FOR, AUTH_SUCCESSFUL_FOR, authManager, authTokenSecretMgr, bindAddress, CALL_QUEUE_TOO_BIG_EXCEPTION, callQueueSizeInBytes, cellBlockBuilder, conf, CurCall, CURRENT_VERSION, DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER, DEFAULT_MAX_CALLQUEUE_SIZE, DEFAULT_MAX_REQUEST_SIZE, DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT, DEFAULT_WARN_RESPONSE_SIZE, DEFAULT_WARN_RESPONSE_TIME, errorHandler, FALLBACK_TO_INSECURE_CLIENT_AUTH, isSecurityEnabled, LOG, MAPPER, MAX_REQUEST_SIZE, maxQueueSizeInBytes, maxRequestSize, metrics, MIN_CLIENT_REQUEST_TIMEOUT, minClientRequestTimeout, minSizeForReservoirUse, MONITORED_RPC, NIO_BUFFER_LIMIT, REQUEST_TOO_BIG_EXCEPTION, reservoir, running, saslProps, scheduler, secretManager, server, services, started, tcpKeepAlive, tcpNoDelay, userProvider, WARN_RESPONSE_SIZE, WARN_RESPONSE_TIME, warnResponseSize, warnResponseTime</code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 7e488be..51fcfb8 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -542,14 +542,14 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/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/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/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/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">PerformanceEvaluation.Counter</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ClusterManager.ServiceType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ClusterManager.ServiceType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/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/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/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/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/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/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/ResourceChecker.Phase.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">ResourceChecker.Phase</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 ee59b2d..9c4f4b0 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -205,8 +205,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.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/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/TestStateMachineProcedure.TestSMProcedureState.html" title="enum in org.apache.hadoop.hbase.procedure2"><span class="typeNameLink">TestStateMachineProcedure.TestSMProcedureState</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 9dfc713..409478b 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -610,9 +610,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.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/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/DataBlockEncodingTool.Manipulation.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">DataBlockEncodingTool.Manipulation</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestCacheOnWriteInSchema.CacheOnWriteType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestCacheOnWriteInSchema.CacheOnWriteType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/TestRegionServerReadRequestMetrics.Metric.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestRegionServerReadRequestMetrics.Metric</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 6760bdb..58da86f 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
@@ -249,9 +249,9 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.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/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.Verify.Counts.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestBigLinkedList.Verify.Counts</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/IntegrationTestWithCellVisibilityLoadAndVerify.Counters.html" title="enum in org.apache.hadoop.hbase.test"><span class="typeNameLink">IntegrationTestWithCellVisibilityLoadAndVerify.Counters</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.test.<a href="../../../../../org/apache/hadoop/hbase/test/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>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/overview-tree.html b/testdevapidocs/overview-tree.html
index 340ed60..80270dd 100644
--- a/testdevapidocs/overview-tree.html
+++ b/testdevapidocs/overview-tree.html
@@ -3087,6 +3087,7 @@
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestScannerWithCorruptHFile.CorruptHFileCoprocessor.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestScannerWithCorruptHFile.CorruptHFileCoprocessor</span></a> (implements org.apache.hadoop.hbase.coprocessor.RegionObserver)</li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="org/apache/hadoop/hbase/regionserver/querymatcher/TestScanWildcardColumnTracker.html" title="class in org.apache.hadoop.hbase.regionserver.querymatcher"><span class="typeNameLink">TestScanWildcardColumnTracker</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestScanWithBloomError.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestScanWithBloomError</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestScanWithoutFetchingData</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.rest.<a href="org/apache/hadoop/hbase/rest/TestSchemaResource.html" title="class in org.apache.hadoop.hbase.rest"><span class="typeNameLink">TestSchemaResource</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestSCVFWithMiniCluster.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">TestSCVFWithMiniCluster</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/TestSecureIPC.html" title="class in org.apache.hadoop.hbase.security"><span class="typeNameLink">TestSecureIPC</span></a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html
index 80c1039..737be27 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html
@@ -25,91 +25,92 @@
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
 <span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.client;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import static org.junit.Assert.*;<a name="line.20"></a>
-<span class="sourceLineNo">021</span><a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
-<span class="sourceLineNo">023</span><a name="line.23"></a>
-<span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.TableName;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanRequest;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.testclassification.RegionServerTests;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.junit.AfterClass;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.junit.BeforeClass;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.junit.Test;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.junit.experimental.categories.Category;<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>/**<a name="line.40"></a>
-<span class="sourceLineNo">041</span> * Testcase to make sure that we always set scanner id in ScanResponse. See HBASE-18000.<a name="line.41"></a>
-<span class="sourceLineNo">042</span> */<a name="line.42"></a>
-<span class="sourceLineNo">043</span>@Category({ RegionServerTests.class, MediumTests.class })<a name="line.43"></a>
-<span class="sourceLineNo">044</span>public class TestAlwaysSetScannerId {<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>  private static final HBaseTestingUtility UTIL = new HBaseTestingUtility();<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>  private static final TableName TABLE_NAME = TableName.valueOf("test");<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>  private static final byte[] CF = Bytes.toBytes("cf");<a name="line.50"></a>
-<span class="sourceLineNo">051</span><a name="line.51"></a>
-<span class="sourceLineNo">052</span>  private static final byte[] CQ = Bytes.toBytes("cq");<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>  private static final int COUNT = 10;<a name="line.54"></a>
-<span class="sourceLineNo">055</span><a name="line.55"></a>
-<span class="sourceLineNo">056</span>  private static HRegionInfo HRI;<a name="line.56"></a>
-<span class="sourceLineNo">057</span><a name="line.57"></a>
-<span class="sourceLineNo">058</span>  private static ClientProtos.ClientService.BlockingInterface STUB;<a name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>  @BeforeClass<a name="line.60"></a>
-<span class="sourceLineNo">061</span>  public static void setUp() throws Exception {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    UTIL.startMiniCluster(1);<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    try (Table table = UTIL.createTable(TABLE_NAME, CF)) {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>      for (int i = 0; i &lt; COUNT; i++) {<a name="line.64"></a>
-<span class="sourceLineNo">065</span>        table.put(new Put(Bytes.toBytes(i)).addColumn(CF, CQ, Bytes.toBytes(i)));<a name="line.65"></a>
-<span class="sourceLineNo">066</span>      }<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    }<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    HRI = UTIL.getAdmin().getTableRegions(TABLE_NAME).get(0);<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    STUB = ((ConnectionImplementation) UTIL.getConnection())<a name="line.69"></a>
-<span class="sourceLineNo">070</span>        .getClient(UTIL.getHBaseCluster().getRegionServer(0).getServerName());<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>  @AfterClass<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  public static void tearDown() throws Exception {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    UTIL.shutdownMiniCluster();<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  }<a name="line.76"></a>
-<span class="sourceLineNo">077</span><a name="line.77"></a>
-<span class="sourceLineNo">078</span>  @Test<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  public void test() throws ServiceException, IOException {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    Scan scan = new Scan();<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    ScanRequest req = RequestConverter.buildScanRequest(HRI.getRegionName(), scan, 1, false);<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    ScanResponse resp = STUB.scan(null, req);<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    assertTrue(resp.hasScannerId());<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    long scannerId = resp.getScannerId();<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    int nextCallSeq = 0;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    // test next<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    for (int i = 0; i &lt; 5; i++) {<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      req = RequestConverter.buildScanRequest(scannerId, 1, false, nextCallSeq++, false, false, -1);<a name="line.88"></a>
-<span class="sourceLineNo">089</span>      resp = STUB.scan(null, req);<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      assertTrue(resp.hasScannerId());<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      assertEquals(scannerId, resp.getScannerId());<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    }<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    // test renew<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    req = RequestConverter.buildScanRequest(scannerId, 0, false, nextCallSeq++, false, true, -1);<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    resp = STUB.scan(null, req);<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    assertTrue(resp.hasScannerId());<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    assertEquals(scannerId, resp.getScannerId());<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    // test close<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    req = RequestConverter.buildScanRequest(scannerId, 0, true, false);<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    resp = STUB.scan(null, req);<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    assertTrue(resp.hasScannerId());<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    assertEquals(scannerId, resp.getScannerId());<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  }<a name="line.103"></a>
-<span class="sourceLineNo">104</span>}<a name="line.104"></a>
+<span class="sourceLineNo">020</span>import static org.junit.Assert.assertEquals;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import static org.junit.Assert.assertTrue;<a name="line.21"></a>
+<span class="sourceLineNo">022</span><a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.TableName;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanRequest;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.testclassification.RegionServerTests;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.junit.AfterClass;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.junit.BeforeClass;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.junit.Test;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.junit.experimental.categories.Category;<a name="line.39"></a>
+<span class="sourceLineNo">040</span><a name="line.40"></a>
+<span class="sourceLineNo">041</span>/**<a name="line.41"></a>
+<span class="sourceLineNo">042</span> * Testcase to make sure that we always set scanner id in ScanResponse. See HBASE-18000.<a name="line.42"></a>
+<span class="sourceLineNo">043</span> */<a name="line.43"></a>
+<span class="sourceLineNo">044</span>@Category({ RegionServerTests.class, MediumTests.class })<a name="line.44"></a>
+<span class="sourceLineNo">045</span>public class TestAlwaysSetScannerId {<a name="line.45"></a>
+<span class="sourceLineNo">046</span><a name="line.46"></a>
+<span class="sourceLineNo">047</span>  private static final HBaseTestingUtility UTIL = new HBaseTestingUtility();<a name="line.47"></a>
+<span class="sourceLineNo">048</span><a name="line.48"></a>
+<span class="sourceLineNo">049</span>  private static final TableName TABLE_NAME = TableName.valueOf("test");<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>  private static final byte[] CF = Bytes.toBytes("cf");<a name="line.51"></a>
+<span class="sourceLineNo">052</span><a name="line.52"></a>
+<span class="sourceLineNo">053</span>  private static final byte[] CQ = Bytes.toBytes("cq");<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>  private static final int COUNT = 10;<a name="line.55"></a>
+<span class="sourceLineNo">056</span><a name="line.56"></a>
+<span class="sourceLineNo">057</span>  private static HRegionInfo HRI;<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>  private static ClientProtos.ClientService.BlockingInterface STUB;<a name="line.59"></a>
+<span class="sourceLineNo">060</span><a name="line.60"></a>
+<span class="sourceLineNo">061</span>  @BeforeClass<a name="line.61"></a>
+<span class="sourceLineNo">062</span>  public static void setUp() throws Exception {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    UTIL.startMiniCluster(1);<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    try (Table table = UTIL.createTable(TABLE_NAME, CF)) {<a name="line.64"></a>
+<span class="sourceLineNo">065</span>      for (int i = 0; i &lt; COUNT; i++) {<a name="line.65"></a>
+<span class="sourceLineNo">066</span>        table.put(new Put(Bytes.toBytes(i)).addColumn(CF, CQ, Bytes.toBytes(i)));<a name="line.66"></a>
+<span class="sourceLineNo">067</span>      }<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    }<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    HRI = UTIL.getAdmin().getTableRegions(TABLE_NAME).get(0);<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    STUB = ((ConnectionImplementation) UTIL.getConnection())<a name="line.70"></a>
+<span class="sourceLineNo">071</span>        .getClient(UTIL.getHBaseCluster().getRegionServer(0).getServerName());<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>  @AfterClass<a name="line.74"></a>
+<span class="sourceLineNo">075</span>  public static void tearDown() throws Exception {<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    UTIL.shutdownMiniCluster();<a name="line.76"></a>
+<span class="sourceLineNo">077</span>  }<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span>  @Test<a name="line.79"></a>
+<span class="sourceLineNo">080</span>  public void test() throws ServiceException, IOException {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    Scan scan = new Scan();<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    ScanRequest req = RequestConverter.buildScanRequest(HRI.getRegionName(), scan, 1, false);<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    ScanResponse resp = STUB.scan(null, req);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    assertTrue(resp.hasScannerId());<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    long scannerId = resp.getScannerId();<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    int nextCallSeq = 0;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    // test next<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    for (int i = 0; i &lt; COUNT / 2; i++) {<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      req = RequestConverter.buildScanRequest(scannerId, 1, false, nextCallSeq++, false, false, -1);<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      resp = STUB.scan(null, req);<a name="line.90"></a>
+<span class="sourceLineNo">091</span>      assertTrue(resp.hasScannerId());<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      assertEquals(scannerId, resp.getScannerId());<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    }<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    // test renew<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    req = RequestConverter.buildScanRequest(scannerId, 0, false, nextCallSeq++, false, true, -1);<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    resp = STUB.scan(null, req);<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    assertTrue(resp.hasScannerId());<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    assertEquals(scannerId, resp.getScannerId());<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    // test close<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    req = RequestConverter.buildScanRequest(scannerId, 0, true, false);<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    resp = STUB.scan(null, req);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    assertTrue(resp.hasScannerId());<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    assertEquals(scannerId, resp.getScannerId());<a name="line.103"></a>
+<span class="sourceLineNo">104</span>  }<a name="line.104"></a>
+<span class="sourceLineNo">105</span>}<a name="line.105"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncAdminBase.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncAdminBase.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncAdminBase.html
index 62a3863..a386aa8 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncAdminBase.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncAdminBase.html
@@ -53,26 +53,25 @@
 <span class="sourceLineNo">045</span><a name="line.45"></a>
 <span class="sourceLineNo">046</span>  @BeforeClass<a name="line.46"></a>
 <span class="sourceLineNo">047</span>  public static void setUpBeforeClass() throws Exception {<a name="line.47"></a>
-<span class="sourceLineNo">048</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_CLIENT_PAUSE, 10);<a name="line.48"></a>
-<span class="sourceLineNo">049</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 3);<a name="line.49"></a>
-<span class="sourceLineNo">050</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_RPC_TIMEOUT_KEY, 1000);<a name="line.50"></a>
-<span class="sourceLineNo">051</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT, 3000);<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    TEST_UTIL.getConfiguration().setInt(START_LOG_ERRORS_AFTER_COUNT_KEY, 0);<a name="line.52"></a>
-<span class="sourceLineNo">053</span>    TEST_UTIL.startMiniCluster(2);<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    ASYNC_CONN = ConnectionFactory.createAsyncConnection(TEST_UTIL.getConfiguration()).get();<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  }<a name="line.55"></a>
-<span class="sourceLineNo">056</span><a name="line.56"></a>
-<span class="sourceLineNo">057</span>  @AfterClass<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  public static void tearDownAfterClass() throws Exception {<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    IOUtils.closeQuietly(ASYNC_CONN);<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    TEST_UTIL.shutdownMiniCluster();<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>  @Before<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  public void setUp() throws Exception {<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    this.admin = ASYNC_CONN.getAdmin();<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  }<a name="line.66"></a>
-<span class="sourceLineNo">067</span>}<a name="line.67"></a>
+<span class="sourceLineNo">048</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_RPC_TIMEOUT_KEY, 60000);<a name="line.48"></a>
+<span class="sourceLineNo">049</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT, 120000);<a name="line.49"></a>
+<span class="sourceLineNo">050</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 2);<a name="line.50"></a>
+<span class="sourceLineNo">051</span>    TEST_UTIL.getConfiguration().setInt(START_LOG_ERRORS_AFTER_COUNT_KEY, 0);<a name="line.51"></a>
+<span class="sourceLineNo">052</span>    TEST_UTIL.startMiniCluster(2);<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    ASYNC_CONN = ConnectionFactory.createAsyncConnection(TEST_UTIL.getConfiguration()).get();<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  }<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>  @AfterClass<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  public static void tearDownAfterClass() throws Exception {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    IOUtils.closeQuietly(ASYNC_CONN);<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    TEST_UTIL.shutdownMiniCluster();<a name="line.59"></a>
+<span class="sourceLineNo">060</span>  }<a name="line.60"></a>
+<span class="sourceLineNo">061</span><a name="line.61"></a>
+<span class="sourceLineNo">062</span>  @Before<a name="line.62"></a>
+<span class="sourceLineNo">063</span>  public void setUp() throws Exception {<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    this.admin = ASYNC_CONN.getAdmin();<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  }<a name="line.65"></a>
+<span class="sourceLineNo">066</span>}<a name="line.66"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html
index 9de0003..9db504c 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html
@@ -35,166 +35,170 @@
 <span class="sourceLineNo">027</span>import java.util.concurrent.Callable;<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.HTableDescriptor;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.hadoop.hbase.MiniHBaseCluster;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.NamespaceExistException;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.NamespaceNotFoundException;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.TableName;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.Waiter;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.ZKNamespaceManager;<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.testclassification.ClientTests;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.junit.BeforeClass;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.junit.Test;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.junit.experimental.categories.Category;<a name="line.43"></a>
-<span class="sourceLineNo">044</span><a name="line.44"></a>
-<span class="sourceLineNo">045</span>/**<a name="line.45"></a>
-<span class="sourceLineNo">046</span> * Class to test asynchronous namespace admin operations.<a name="line.46"></a>
-<span class="sourceLineNo">047</span> */<a name="line.47"></a>
-<span class="sourceLineNo">048</span>@Category({ MediumTests.class, ClientTests.class })<a name="line.48"></a>
-<span class="sourceLineNo">049</span>public class TestAsyncNamespaceAdminApi extends TestAsyncAdminBase {<a name="line.49"></a>
-<span class="sourceLineNo">050</span><a name="line.50"></a>
-<span class="sourceLineNo">051</span>  private String prefix = "TestNamespace";<a name="line.51"></a>
-<span class="sourceLineNo">052</span>  private static HMaster master;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>  private static ZKNamespaceManager zkNamespaceManager;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>  @BeforeClass<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  public static void setUpBeforeClass() throws Exception {<a name="line.56"></a>
-<span class="sourceLineNo">057</span>    TEST_UTIL.getConfiguration().setInt(START_LOG_ERRORS_AFTER_COUNT_KEY, 0);<a name="line.57"></a>
-<span class="sourceLineNo">058</span>    TEST_UTIL.startMiniCluster(1);<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    ASYNC_CONN = ConnectionFactory.createAsyncConnection(TEST_UTIL.getConfiguration()).get();<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    master = ((MiniHBaseCluster) TEST_UTIL.getHBaseCluster()).getMaster();<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    zkNamespaceManager = new ZKNamespaceManager(master.getZooKeeper());<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    zkNamespaceManager.start();<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    LOG.info("Done initializing cluster");<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  }<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>  @Test(timeout = 60000)<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  public void testCreateAndDelete() throws Exception {<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    String testName = "testCreateAndDelete";<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    String nsName = prefix + "_" + testName;<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>    // create namespace and verify<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    admin.createNamespace(NamespaceDescriptor.create(nsName).build()).join();<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    assertEquals(3, admin.listNamespaceDescriptors().get().length);<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    TEST_UTIL.waitFor(60000, new Waiter.Predicate&lt;Exception&gt;() {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      @Override<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      public boolean evaluate() throws Exception {<a name="line.76"></a>
-<span class="sourceLineNo">077</span>        return zkNamespaceManager.list().size() == 3;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    });<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    assertNotNull(zkNamespaceManager.get(nsName));<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    // delete namespace and verify<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    admin.deleteNamespace(nsName).join();<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    assertEquals(2, admin.listNamespaceDescriptors().get().length);<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    assertEquals(2, zkNamespaceManager.list().size());<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    assertNull(zkNamespaceManager.get(nsName));<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  }<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  @Test(timeout = 60000)<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  public void testDeleteReservedNS() throws Exception {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    boolean exceptionCaught = false;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    try {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      admin.deleteNamespace(NamespaceDescriptor.DEFAULT_NAMESPACE_NAME_STR).join();<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    } catch (Exception exp) {<a name="line.93"></a>
-<span class="sourceLineNo">094</span>      LOG.warn(exp);<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      exceptionCaught = true;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    } finally {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>      assertTrue(exceptionCaught);<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>    try {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>      admin.deleteNamespace(NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR).join();<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    } catch (Exception exp) {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      LOG.warn(exp);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      exceptionCaught = true;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    } finally {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      assertTrue(exceptionCaught);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    }<a name="line.107"></a>
-<span class="sourceLineNo">108</span>  }<a name="line.108"></a>
-<span class="sourceLineNo">109</span><a name="line.109"></a>
-<span class="sourceLineNo">110</span>  @Test(timeout = 60000)<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  public void testNamespaceOperations() throws Exception {<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    admin.createNamespace(NamespaceDescriptor.create(prefix + "ns1").build()).join();<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    admin.createNamespace(NamespaceDescriptor.create(prefix + "ns2").build()).join();<a name="line.113"></a>
-<span class="sourceLineNo">114</span><a name="line.114"></a>
-<span class="sourceLineNo">115</span>    // create namespace that already exists<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    runWithExpectedException(new Callable&lt;Void&gt;() {<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      @Override<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      public Void call() throws Exception {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>        admin.createNamespace(NamespaceDescriptor.create(prefix + "ns1").build()).join();<a name="line.119"></a>
-<span class="sourceLineNo">120</span>        return null;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    }, NamespaceExistException.class);<a name="line.122"></a>
-<span class="sourceLineNo">123</span><a name="line.123"></a>
-<span class="sourceLineNo">124</span>    // create a table in non-existing namespace<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    runWithExpectedException(new Callable&lt;Void&gt;() {<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      @Override<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      public Void call() throws Exception {<a name="line.127"></a>
-<span class="sourceLineNo">128</span>        HTableDescriptor htd = new HTableDescriptor(TableName.valueOf("non_existing_namespace",<a name="line.128"></a>
-<span class="sourceLineNo">129</span>          "table1"));<a name="line.129"></a>
-<span class="sourceLineNo">130</span>        htd.addFamily(new HColumnDescriptor("family1"));<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        admin.createTable(htd).join();<a name="line.131"></a>
-<span class="sourceLineNo">132</span>        return null;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    }, NamespaceNotFoundException.class);<a name="line.134"></a>
-<span class="sourceLineNo">135</span><a name="line.135"></a>
-<span class="sourceLineNo">136</span>    // get descriptor for existing namespace<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    NamespaceDescriptor ns1 = admin.getNamespaceDescriptor(prefix + "ns1").get();<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    assertEquals(prefix + "ns1", ns1.getName());<a name="line.138"></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.HTableDescriptor;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import org.apache.hadoop.hbase.MiniHBaseCluster;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import org.apache.hadoop.hbase.NamespaceDescriptor;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.NamespaceExistException;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.NamespaceNotFoundException;<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.Waiter;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.ZKNamespaceManager;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.master.HMaster;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.testclassification.ClientTests;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.junit.BeforeClass;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.junit.Test;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.junit.experimental.categories.Category;<a name="line.44"></a>
+<span class="sourceLineNo">045</span><a name="line.45"></a>
+<span class="sourceLineNo">046</span>/**<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * Class to test asynchronous namespace admin operations.<a name="line.47"></a>
+<span class="sourceLineNo">048</span> */<a name="line.48"></a>
+<span class="sourceLineNo">049</span>@Category({ LargeTests.class, ClientTests.class })<a name="line.49"></a>
+<span class="sourceLineNo">050</span>public class TestAsyncNamespaceAdminApi extends TestAsyncAdminBase {<a name="line.50"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>  private String prefix = "TestNamespace";<a name="line.52"></a>
+<span class="sourceLineNo">053</span>  private static HMaster master;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>  private static ZKNamespaceManager zkNamespaceManager;<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>  @BeforeClass<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  public static void setUpBeforeClass() throws Exception {<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_RPC_TIMEOUT_KEY, 60000);<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT, 120000);<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 2);<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    TEST_UTIL.getConfiguration().setInt(START_LOG_ERRORS_AFTER_COUNT_KEY, 0);<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    TEST_UTIL.startMiniCluster(1);<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    ASYNC_CONN = ConnectionFactory.createAsyncConnection(TEST_UTIL.getConfiguration()).get();<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    master = ((MiniHBaseCluster) TEST_UTIL.getHBaseCluster()).getMaster();<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    zkNamespaceManager = new ZKNamespaceManager(master.getZooKeeper());<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    zkNamespaceManager.start();<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    LOG.info("Done initializing cluster");<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  }<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>  @Test(timeout = 60000)<a name="line.70"></a>
+<span class="sourceLineNo">071</span>  public void testCreateAndDelete() throws Exception {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    String testName = "testCreateAndDelete";<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    String nsName = prefix + "_" + testName;<a name="line.73"></a>
+<span class="sourceLineNo">074</span><a name="line.74"></a>
+<span class="sourceLineNo">075</span>    // create namespace and verify<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    admin.createNamespace(NamespaceDescriptor.create(nsName).build()).join();<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    assertEquals(3, admin.listNamespaceDescriptors().get().length);<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    TEST_UTIL.waitFor(60000, new Waiter.Predicate&lt;Exception&gt;() {<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      @Override<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      public boolean evaluate() throws Exception {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>        return zkNamespaceManager.list().size() == 3;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>      }<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    });<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    assertNotNull(zkNamespaceManager.get(nsName));<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    // delete namespace and verify<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    admin.deleteNamespace(nsName).join();<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    assertEquals(2, admin.listNamespaceDescriptors().get().length);<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    assertEquals(2, zkNamespaceManager.list().size());<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    assertNull(zkNamespaceManager.get(nsName));<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(timeout = 60000)<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  public void testDeleteReservedNS() throws Exception {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    boolean exceptionCaught = false;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    try {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      admin.deleteNamespace(NamespaceDescriptor.DEFAULT_NAMESPACE_NAME_STR).join();<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    } catch (Exception exp) {<a name="line.97"></a>
+<span class="sourceLineNo">098</span>      LOG.warn(exp);<a name="line.98"></a>
+<span class="sourceLineNo">099</span>      exceptionCaught = true;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    } finally {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>      assertTrue(exceptionCaught);<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    }<a name="line.102"></a>
+<span class="sourceLineNo">103</span><a name="line.103"></a>
+<span class="sourceLineNo">104</span>    try {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      admin.deleteNamespace(NamespaceDescriptor.SYSTEM_NAMESPACE_NAME_STR).join();<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    } catch (Exception exp) {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      LOG.warn(exp);<a name="line.107"></a>
+<span class="sourceLineNo">108</span>      exceptionCaught = true;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    } finally {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      assertTrue(exceptionCaught);<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    }<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  }<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  @Test(timeout = 60000)<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  public void testNamespaceOperations() throws Exception {<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    admin.createNamespace(NamespaceDescriptor.create(prefix + "ns1").build()).join();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    admin.createNamespace(NamespaceDescriptor.create(prefix + "ns2").build()).join();<a name="line.117"></a>
+<span class="sourceLineNo">118</span><a name="line.118"></a>
+<span class="sourceLineNo">119</span>    // create namespace that already exists<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    runWithExpectedException(new Callable&lt;Void&gt;() {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      @Override<a name="line.121"></a>
+<span class="sourceLineNo">122</span>      public Void call() throws Exception {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>        admin.createNamespace(NamespaceDescriptor.create(prefix + "ns1").build()).join();<a name="line.123"></a>
+<span class="sourceLineNo">124</span>        return null;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>      }<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    }, NamespaceExistException.class);<a name="line.126"></a>
+<span class="sourceLineNo">127</span><a name="line.127"></a>
+<span class="sourceLineNo">128</span>    // create a table in non-existing namespace<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    runWithExpectedException(new Callable&lt;Void&gt;() {<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      @Override<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      public Void call() throws Exception {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>        HTableDescriptor htd = new HTableDescriptor(TableName.valueOf("non_existing_namespace",<a name="line.132"></a>
+<span class="sourceLineNo">133</span>          "table1"));<a name="line.133"></a>
+<span class="sourceLineNo">134</span>        htd.addFamily(new HColumnDescriptor("family1"));<a name="line.134"></a>
+<span class="sourceLineNo">135</span>        admin.createTable(htd).join();<a name="line.135"></a>
+<span class="sourceLineNo">136</span>        return null;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      }<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    }, NamespaceNotFoundException.class);<a name="line.138"></a>
 <span class="sourceLineNo">139</span><a name="line.139"></a>
-<span class="sourceLineNo">140</span>    // get descriptor for non-existing namespace<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    runWithExpectedException(new Callable&lt;NamespaceDescriptor&gt;() {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      @Override<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      public NamespaceDescriptor call() throws Exception {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>        return admin.getNamespaceDescriptor("non_existing_namespace").get();<a name="line.144"></a>
-<span class="sourceLineNo">145</span>      }<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    }, NamespaceNotFoundException.class);<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>    // delete descriptor for existing namespace<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    admin.deleteNamespace(prefix + "ns2").join();<a name="line.149"></a>
-<span class="sourceLineNo">150</span><a name="line.150"></a>
-<span class="sourceLineNo">151</span>    // delete descriptor for non-existing namespace<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    runWithExpectedException(new Callable&lt;Void&gt;() {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>      @Override<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      public Void call() throws Exception {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>        admin.deleteNamespace("non_existing_namespace").join();<a name="line.155"></a>
-<span class="sourceLineNo">156</span>        return null;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>      }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    }, NamespaceNotFoundException.class);<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>    // modify namespace descriptor for existing namespace<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    ns1 = admin.getNamespaceDescriptor(prefix + "ns1").get();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    ns1.setConfiguration("foo", "bar");<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    admin.modifyNamespace(ns1).join();<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    ns1 = admin.getNamespaceDescriptor(prefix + "ns1").get();<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    assertEquals("bar", ns1.getConfigurationValue("foo"));<a name="line.165"></a>
-<span class="sourceLineNo">166</span><a name="line.166"></a>
-<span class="sourceLineNo">167</span>    // modify namespace descriptor for non-existing namespace<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    runWithExpectedException(new Callable&lt;Void&gt;() {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>      @Override<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      public Void call() throws Exception {<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        admin.modifyNamespace(NamespaceDescriptor.create("non_existing_namespace").build()).join();<a name="line.171"></a>
-<span class="sourceLineNo">172</span>        return null;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      }<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    }, NamespaceNotFoundException.class);<a name="line.174"></a>
-<span class="sourceLineNo">175</span><a name="line.175"></a>
-<span class="sourceLineNo">176</span>    admin.deleteNamespace(prefix + "ns1").join();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>  }<a name="line.177"></a>
-<span class="sourceLineNo">178</span><a name="line.178"></a>
-<span class="sourceLineNo">179</span>  private static &lt;V, E&gt; void runWithExpectedException(Callable&lt;V&gt; callable, Class&lt;E&gt; exceptionClass) {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    try {<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      callable.call();<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    } catch (Exception ex) {<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      LOG.info("Get exception is " + ex);<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      assertEquals(exceptionClass, ex.getCause().getClass());<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      return;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    }<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    fail("Should have thrown exception " + exceptionClass);<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">140</span>    // get descriptor for existing namespace<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    NamespaceDescriptor ns1 = admin.getNamespaceDescriptor(prefix + "ns1").get();<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    assertEquals(prefix + "ns1", ns1.getName());<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>    // get descriptor for non-existing namespace<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    runWithExpectedException(new Callable&lt;NamespaceDescriptor&gt;() {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      @Override<a name="line.146"></a>
+<span class="sourceLineNo">147</span>      public NamespaceDescriptor call() throws Exception {<a name="line.147"></a>
+<span class="sourceLineNo">148</span>        return admin.getNamespaceDescriptor("non_existing_namespace").get();<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      }<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    }, NamespaceNotFoundException.class);<a name="line.150"></a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span>    // delete descriptor for existing namespace<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    admin.deleteNamespace(prefix + "ns2").join();<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>    // delete descriptor for non-existing namespace<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    runWithExpectedException(new Callable&lt;Void&gt;() {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>      @Override<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      public Void call() throws Exception {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>        admin.deleteNamespace("non_existing_namespace").join();<a name="line.159"></a>
+<span class="sourceLineNo">160</span>        return null;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>      }<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    }, NamespaceNotFoundException.class);<a name="line.162"></a>
+<span class="sourceLineNo">163</span><a name="line.163"></a>
+<span class="sourceLineNo">164</span>    // modify namespace descriptor for existing namespace<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    ns1 = admin.getNamespaceDescriptor(prefix + "ns1").get();<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    ns1.setConfiguration("foo", "bar");<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    admin.modifyNamespace(ns1).join();<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    ns1 = admin.getNamespaceDescriptor(prefix + "ns1").get();<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    assertEquals("bar", ns1.getConfigurationValue("foo"));<a name="line.169"></a>
+<span class="sourceLineNo">170</span><a name="line.170"></a>
+<span class="sourceLineNo">171</span>    // modify namespace descriptor for non-existing namespace<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    runWithExpectedException(new Callable&lt;Void&gt;() {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      @Override<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      public Void call() throws Exception {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        admin.modifyNamespace(NamespaceDescriptor.create("non_existing_namespace").build()).join();<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        return null;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>      }<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    }, NamespaceNotFoundException.class);<a name="line.178"></a>
+<span class="sourceLineNo">179</span><a name="line.179"></a>
+<span class="sourceLineNo">180</span>    admin.deleteNamespace(prefix + "ns1").join();<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>  private static &lt;V, E&gt; void runWithExpectedException(Callable&lt;V&gt; callable, Class&lt;E&gt; exceptionClass) {<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    try {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>      callable.call();<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    } catch (Exception ex) {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>      LOG.info("Get exception is " + ex);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>      assertEquals(exceptionClass, ex.getCause().getClass());<a name="line.188"></a>
+<span class="sourceLineNo">189</span>      return;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    }<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    fail("Should have thrown exception " + exceptionClass);<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  }<a name="line.192"></a>
+<span class="sourceLineNo">193</span>}<a name="line.193"></a>
 
 
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/HConstants.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/HConstants.html b/devapidocs/org/apache/hadoop/hbase/HConstants.html
index a99b408..8ebebeb 100644
--- a/devapidocs/org/apache/hadoop/hbase/HConstants.html
+++ b/devapidocs/org/apache/hadoop/hbase/HConstants.html
@@ -1889,12 +1889,8 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <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/HConstants.html#WAL_STORAGE_POLICY">WAL_STORAGE_POLICY</a></span></code>
 <div class="block">Configuration name of WAL storage policy
- Valid values are:
-  NONE: no preference in destination of block replicas
-  ONE_SSD: place only one block replica in SSD and the remaining in default storage
-  and ALL_SSD: place all block replicas on SSD
-
- See http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html</div>
+ Valid values are: HOT, COLD, WARM, ALL_SSD, ONE_SSD, LAZY_PERSIST
+ See http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -5426,14 +5422,10 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>WAL_STORAGE_POLICY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1102">WAL_STORAGE_POLICY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1098">WAL_STORAGE_POLICY</a></pre>
 <div class="block">Configuration name of WAL storage policy
- Valid values are:
-  NONE: no preference in destination of block replicas
-  ONE_SSD: place only one block replica in SSD and the remaining in default storage
-  and ALL_SSD: place all block replicas on SSD
-
- See http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html</div>
+ Valid values are: HOT, COLD, WARM, ALL_SSD, ONE_SSD, LAZY_PERSIST
+ See http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.WAL_STORAGE_POLICY">Constant Field Values</a></dd>
@@ -5446,7 +5438,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_WAL_STORAGE_POLICY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1103">DEFAULT_WAL_STORAGE_POLICY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1099">DEFAULT_WAL_STORAGE_POLICY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_WAL_STORAGE_POLICY">Constant Field Values</a></dd>
@@ -5459,7 +5451,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>METRICS_RIT_STUCK_WARNING_THRESHOLD</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1106">METRICS_RIT_STUCK_WARNING_THRESHOLD</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1102">METRICS_RIT_STUCK_WARNING_THRESHOLD</a></pre>
 <div class="block">Region in Transition metrics threshold time</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5473,7 +5465,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>LOAD_BALANCER_SLOP_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1109">LOAD_BALANCER_SLOP_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1105">LOAD_BALANCER_SLOP_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.LOAD_BALANCER_SLOP_KEY">Constant Field Values</a></dd>
@@ -5486,7 +5478,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DELIMITER</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1112">DELIMITER</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1108">DELIMITER</a></pre>
 <div class="block">delimiter used between portions of a region name</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5500,7 +5492,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>NORMAL_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1120">NORMAL_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1116">NORMAL_QOS</a></pre>
 <div class="block">QOS attributes: these attributes are used to demarcate RPC call processing
  by different set of handlers. For example, HIGH_QOS tagged methods are
  handled by high priority handlers.</div>
@@ -5516,7 +5508,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1121">REPLICATION_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1117">REPLICATION_QOS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_QOS">Constant Field Values</a></dd>
@@ -5529,7 +5521,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLAY_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1122">REPLAY_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1118">REPLAY_QOS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLAY_QOS">Constant Field Values</a></dd>
@@ -5542,7 +5534,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>QOS_THRESHOLD</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1123">QOS_THRESHOLD</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1119">QOS_THRESHOLD</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.QOS_THRESHOLD">Constant Field Values</a></dd>
@@ -5555,7 +5547,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>ADMIN_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1124">ADMIN_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1120">ADMIN_QOS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.ADMIN_QOS">Constant Field Values</a></dd>
@@ -5568,7 +5560,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HIGH_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1125">HIGH_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1121">HIGH_QOS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HIGH_QOS">Constant Field Values</a></dd>
@@ -5581,7 +5573,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>SYSTEMTABLE_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1126">SYSTEMTABLE_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1122">SYSTEMTABLE_QOS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.SYSTEMTABLE_QOS">Constant Field Values</a></dd>
@@ -5594,7 +5586,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HFILE_ARCHIVE_DIRECTORY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1129">HFILE_ARCHIVE_DIRECTORY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1125">HFILE_ARCHIVE_DIRECTORY</a></pre>
 <div class="block">Directory under /hbase where archived hfiles are stored</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5608,7 +5600,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>SNAPSHOT_DIR_NAME</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1136">SNAPSHOT_DIR_NAME</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1132">SNAPSHOT_DIR_NAME</a></pre>
 <div class="block">Name of the directory to store all snapshots. See SnapshotDescriptionUtils for
  remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and
  uni-directional.</div>
@@ -5624,7 +5616,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>OLD_SNAPSHOT_DIR_NAME</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1139">OLD_SNAPSHOT_DIR_NAME</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1135">OLD_SNAPSHOT_DIR_NAME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.OLD_SNAPSHOT_DIR_NAME">Constant Field Values</a></dd>
@@ -5637,7 +5629,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_TEMP_DIRECTORY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1142">HBASE_TEMP_DIRECTORY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1138">HBASE_TEMP_DIRECTORY</a></pre>
 <div class="block">Temporary directory used for table creation and deletion</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5651,7 +5643,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REGIONSERVER_METRICS_PERIOD</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1146">REGIONSERVER_METRICS_PERIOD</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1142">REGIONSERVER_METRICS_PERIOD</a></pre>
 <div class="block">The period (in milliseconds) between computing region server point in time metrics</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5665,7 +5657,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_REGIONSERVER_METRICS_PERIOD</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1147">DEFAULT_REGIONSERVER_METRICS_PERIOD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1143">DEFAULT_REGIONSERVER_METRICS_PERIOD</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_REGIONSERVER_METRICS_PERIOD">Constant Field Values</a></dd>
@@ -5678,7 +5670,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_NON_TABLE_DIRS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1149">HBASE_NON_TABLE_DIRS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1145">HBASE_NON_TABLE_DIRS</a></pre>
 <div class="block">Directories that are not HBase table directories</div>
 </li>
 </ul>
@@ -5688,7 +5680,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_NON_USER_TABLE_DIRS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1155">HBASE_NON_USER_TABLE_DIRS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1151">HBASE_NON_USER_TABLE_DIRS</a></pre>
 <div class="block">Directories that are not HBase user table directories</div>
 </li>
 </ul>
@@ -5698,7 +5690,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HEALTH_SCRIPT_LOC</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1161">HEALTH_SCRIPT_LOC</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1157">HEALTH_SCRIPT_LOC</a></pre>
 <div class="block">Health script related settings.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5712,7 +5704,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HEALTH_SCRIPT_TIMEOUT</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1162">HEALTH_SCRIPT_TIMEOUT</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1158">HEALTH_SCRIPT_TIMEOUT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HEALTH_SCRIPT_TIMEOUT">Constant Field Values</a></dd>
@@ -5725,7 +5717,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HEALTH_CHORE_WAKE_FREQ</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1163">HEALTH_CHORE_WAKE_FREQ</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1159">HEALTH_CHORE_WAKE_FREQ</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HEALTH_CHORE_WAKE_FREQ">Constant Field Values</a></dd>
@@ -5738,7 +5730,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HEALTH_SCRIPT_TIMEOUT</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1165">DEFAULT_HEALTH_SCRIPT_TIMEOUT</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1161">DEFAULT_HEALTH_SCRIPT_TIMEOUT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_HEALTH_SCRIPT_TIMEOUT">Constant Field Values</a></dd>
@@ -5751,7 +5743,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HEALTH_FAILURE_THRESHOLD</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1169">HEALTH_FAILURE_THRESHOLD</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1165">HEALTH_FAILURE_THRESHOLD</a></pre>
 <div class="block">The maximum number of health check failures a server can encounter consecutively.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5765,7 +5757,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HEALTH_FAILURE_THRESHOLD</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1171">DEFAULT_HEALTH_FAILURE_THRESHOLD</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1167">DEFAULT_HEALTH_FAILURE_THRESHOLD</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_HEALTH_FAILURE_THRESHOLD">Constant Field Values</a></dd>
@@ -5778,7 +5770,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>STATUS_PUBLISHED</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1178">STATUS_PUBLISHED</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1174">STATUS_PUBLISHED</a></pre>
 <div class="block">Setting to activate, or not, the publication of the status by the master. Default
   notification is by a multicast message.</div>
 <dl>
@@ -5793,7 +5785,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>STATUS_PUBLISHED_DEFAULT</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1179">STATUS_PUBLISHED_DEFAULT</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1175">STATUS_PUBLISHED_DEFAULT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.STATUS_PUBLISHED_DEFAULT">Constant Field Values</a></dd>
@@ -5806,7 +5798,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>STATUS_MULTICAST_ADDRESS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1186">STATUS_MULTICAST_ADDRESS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1182">STATUS_MULTICAST_ADDRESS</a></pre>
 <div class="block">IP to use for the multicast status messages between the master and the clients.
  The default address is chosen as one among others within the ones suitable for multicast
  messages.</div>
@@ -5822,7 +5814,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_STATUS_MULTICAST_ADDRESS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1187">DEFAULT_STATUS_MULTICAST_ADDRESS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1183">DEFAULT_STATUS_MULTICAST_ADDRESS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_STATUS_MULTICAST_ADDRESS">Constant Field Values</a></dd>
@@ -5835,7 +5827,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>STATUS_MULTICAST_BIND_ADDRESS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1194">STATUS_MULTICAST_BIND_ADDRESS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1190">STATUS_MULTICAST_BIND_ADDRESS</a></pre>
 <div class="block">The address to use for binding the local socket for receiving multicast. Defaults to
  0.0.0.0.</div>
 <dl>
@@ -5851,7 +5843,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_STATUS_MULTICAST_BIND_ADDRESS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1196">DEFAULT_STATUS_MULTICAST_BIND_ADDRESS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1192">DEFAULT_STATUS_MULTICAST_BIND_ADDRESS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_STATUS_MULTICAST_BIND_ADDRESS">Constant Field Values</a></dd>
@@ -5864,7 +5856,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>STATUS_MULTICAST_PORT</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1201">STATUS_MULTICAST_PORT</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1197">STATUS_MULTICAST_PORT</a></pre>
 <div class="block">The port to use for the multicast messages.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5878,7 +5870,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_STATUS_MULTICAST_PORT</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1202">DEFAULT_STATUS_MULTICAST_PORT</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1198">DEFAULT_STATUS_MULTICAST_PORT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_STATUS_MULTICAST_PORT">Constant Field Values</a></dd>
@@ -5891,7 +5883,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>NO_NONCE</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1204">NO_NONCE</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1200">NO_NONCE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.NO_NONCE">Constant Field Values</a></dd>
@@ -5904,7 +5896,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CIPHER_AES</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1207">CIPHER_AES</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1203">CIPHER_AES</a></pre>
 <div class="block">Default cipher for encryption</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5918,7 +5910,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_CIPHERPROVIDER_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1210">CRYPTO_CIPHERPROVIDER_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1206">CRYPTO_CIPHERPROVIDER_CONF_KEY</a></pre>
 <div class="block">Configuration key for the crypto algorithm provider, a class name</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5932,7 +5924,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_KEYPROVIDER_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1213">CRYPTO_KEYPROVIDER_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1209">CRYPTO_KEYPROVIDER_CONF_KEY</a></pre>
 <div class="block">Configuration key for the crypto key provider, a class name</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5946,7 +5938,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_KEYPROVIDER_PARAMETERS_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1216">CRYPTO_KEYPROVIDER_PARAMETERS_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1212">CRYPTO_KEYPROVIDER_PARAMETERS_KEY</a></pre>
 <div class="block">Configuration key for the crypto key provider parameters</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5960,7 +5952,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_MASTERKEY_NAME_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1220">CRYPTO_MASTERKEY_NAME_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1216">CRYPTO_MASTERKEY_NAME_CONF_KEY</a></pre>
 <div class="block">Configuration key for the name of the master key for the cluster, a string</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5974,7 +5966,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1223">CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1219">CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY</a></pre>
 <div class="block">Configuration key for the name of the alternate master key for the cluster, a string</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5988,7 +5980,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_WAL_ALGORITHM_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1227">CRYPTO_WAL_ALGORITHM_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1223">CRYPTO_WAL_ALGORITHM_CONF_KEY</a></pre>
 <div class="block">Configuration key for the algorithm to use when encrypting the WAL, a string</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6002,7 +5994,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_WAL_KEY_NAME_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1230">CRYPTO_WAL_KEY_NAME_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1226">CRYPTO_WAL_KEY_NAME_CONF_KEY</a></pre>
 <div class="block">Configuration key for the name of the master WAL encryption key for the cluster, a string</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6016,7 +6008,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_KEY_ALGORITHM_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1233">CRYPTO_KEY_ALGORITHM_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1229">CRYPTO_KEY_ALGORITHM_CONF_KEY</a></pre>
 <div class="block">Configuration key for the algorithm used for creating jks key, a string</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6030,7 +6022,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1236">CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1232">CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY</a></pre>
 <div class="block">Configuration key for the name of the alternate cipher algorithm for the cluster, a string</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6044,7 +6036,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>ENABLE_WAL_ENCRYPTION</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1240">ENABLE_WAL_ENCRYPTION</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1236">ENABLE_WAL_ENCRYPTION</a></pre>
 <div class="block">Configuration key for enabling WAL encryption, a boolean</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6058,7 +6050,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>RPC_CODEC_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1243">RPC_CODEC_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1239">RPC_CODEC_CONF_KEY</a></pre>
 <div class="block">Configuration key for setting RPC codec class name</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6072,7 +6064,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_CODEC_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1246">REPLICATION_CODEC_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1242">REPLICATION_CODEC_CONF_KEY</a></pre>
 <div class="block">Configuration key for setting replication codec class name</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6086,7 +6078,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_SOURCE_MAXTHREADS_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1249">REPLICATION_SOURCE_MAXTHREADS_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1245">REPLICATION_SOURCE_MAXTHREADS_KEY</a></pre>
 <div class="block">Maximum number of threads used by the replication source for shipping edits to the sinks</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6100,7 +6092,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_SOURCE_MAXTHREADS_DEFAULT</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1252">REPLICATION_SOURCE_MAXTHREADS_DEFAULT</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1248">REPLICATION_SOURCE_MAXTHREADS_DEFAULT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_SOURCE_MAXTHREADS_DEFAULT">Constant Field Values</a></dd>
@@ -6113,7 +6105,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_COORDINATED_STATE_MANAGER_CLASS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1255">HBASE_COORDINATED_STATE_MANAGER_CLASS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1251">HBASE_COORDINATED_STATE_MANAGER_CLASS</a></pre>
 <div class="block">Config for pluggable consensus provider</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6127,7 +6119,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_SPLITLOG_MANAGER_TIMEOUT</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1259">HBASE_SPLITLOG_MANAGER_TIMEOUT</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1255">HBASE_SPLITLOG_MANAGER_TIMEOUT</a></pre>
 <div class="block">Configuration key for SplitLog manager timeout</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6141,7 +6133,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>BUCKET_CACHE_IOENGINE_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1275">BUCKET_CACHE_IOENGINE_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1271">BUCKET_CACHE_IOENGINE_KEY</a></pre>
 <div class="block">Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path
  to the file that will host the file-based cache.  See BucketCache#getIOEngineFromName() for
  list of supported ioengine options.
@@ -6158,7 +6150,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>BUCKET_CACHE_SIZE_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1282">BUCKET_CACHE_SIZE_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1278">BUCKET_CACHE_SIZE_KEY</a></pre>
 <div class="block">When using bucket cache, this is a float that EITHER represents a percentage of total heap
  memory size to give to the cache (if &lt; 1.0) OR, it is the capacity in
  megabytes of the cache.</div>
@@ -6174,7 +6166,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_FAST_FAIL_MODE_ENABLED</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1290">HBASE_CLIENT_FAST_FAIL_MODE_ENABLED</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1286">HBASE_CLIENT_FAST_FAIL_MODE_ENABLED</a></pre>
 <div class="block">Config for enabling/disabling the fast fail mode.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6188,7 +6180,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1293">HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1289">HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT">Constant Field Values</a></dd>
@@ -6201,7 +6193,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1296">HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1292">HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS">Constant Field Values</a></dd>
@@ -6214,7 +6206,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1299">HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1295">HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT">Constant Field Values</a></dd>
@@ -6227,7 +6219,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1302">HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1298">HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS">Constant Field Values</a></dd>
@@ -6240,7 +6232,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1305">HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1301">HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT">Constant Field Values</a></dd>
@@ -6253,7 +6245,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1308">HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1304">HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL">Constant Field Values</a></dd>
@@ -6266,7 +6258,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>ENABLE_CLIENT_BACKPRESSURE</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1313">ENABLE_CLIENT_BACKPRESSURE</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1309">ENABLE_CLIENT_BACKPRESSURE</a></pre>
 <div class="block">Config key for if the server should send backpressure and if the client should listen to
  that backpressure from the server</div>
 <dl>
@@ -6281,7 +6273,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_ENABLE_CLIENT_BACKPRESSURE</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1314">DEFAULT_ENABLE_CLIENT_BACKPRESSURE</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1310">DEFAULT_ENABLE_CLIENT_BACKPRESSURE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_ENABLE_CLIENT_BACKPRESSURE">Constant Field Values</a></dd>
@@ -6294,7 +6286,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HEAP_OCCUPANCY_LOW_WATERMARK_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1316">HEAP_OCCUPANCY_LOW_WATERMARK_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1312">HEAP_OCCUPANCY_LOW_WATERMARK_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HEAP_OCCUPANCY_LOW_WATERMARK_KEY">Constant Field Values</a></dd>
@@ -6307,7 +6299,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK</h4>
-<pre>public static final&nbsp;float <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1318">DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK</a></pre>
+<pre>public static final&nbsp;float <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1314">DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK">Constant Field Values</a></dd>
@@ -6320,7 +6312,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HEAP_OCCUPANCY_HIGH_WATERMARK_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1319">HEAP_OCCUPANCY_HIGH_WATERMARK_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1315">HEAP_OCCUPANCY_HIGH_WATERMARK_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HEAP_OCCUPANCY_HIGH_WATERMARK_KEY">Constant Field Values</a></dd>
@@ -6333,7 +6325,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK</h4>
-<pre>public static final&nbsp;float <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1321">DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK</a></pre>
+<pre>public static final&nbsp;float <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1317">DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK">Constant Field Values</a></dd>
@@ -6346,7 +6338,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REGION_SPLIT_THREADS_MAX</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1327">REGION_SPLIT_THREADS_MAX</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1323">REGION_SPLIT_THREADS_MAX</a></pre>
 <div class="block">The max number of threads used for splitting storefiles in parallel during
  the region split process.</div>
 <dl>
@@ -6361,7 +6353,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CANARY_WRITE_DATA_TTL_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1331">HBASE_CANARY_WRITE_DATA_TTL_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1327">HBASE_CANARY_WRITE_DATA_TTL_KEY</a></pre>
 <div class="block">Canary config keys</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6375,7 +6367,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1333">HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1329">HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY">Constant Field Values</a></dd>
@@ -6388,7 +6380,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1336">HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1332">HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY">Constant Field Values</a></dd>
@@ -6401,7 +6393,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CANARY_WRITE_VALUE_SIZE_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1339">HBASE_CANARY_WRITE_VALUE_SIZE_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1335">HBASE_CANARY_WRITE_VALUE_SIZE_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CANARY_WRITE_VALUE_SIZE_KEY">Constant Field Values</a></dd>
@@ -6414,7 +6406,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1341">HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1337">HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY">Constant Field Values</a></dd>
@@ -6427,7 +6419,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CANARY_READ_RAW_SCAN_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1344">HBASE_CANARY_READ_RAW_SCAN_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1340">HBASE_CANARY_READ_RAW_SCAN_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CANARY_READ_RAW_SCAN_KEY">Constant Field Values</a></dd>
@@ -6440,7 +6432,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>ZK_CLIENT_KEYTAB_FILE</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1349">ZK_CLIENT_KEYTAB_FILE</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1345">ZK_CLIENT_KEYTAB_FILE</a></pre>
 <div class="block">Configuration keys for programmatic JAAS configuration for secured ZK interaction</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6454,7 +6446,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>ZK_CLIENT_KERBEROS_PRINCIPAL</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1350">ZK_CLIENT_KERBEROS_PRINCIPAL</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1346">ZK_CLIENT_KERBEROS_PRINCIPAL</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.ZK_CLIENT_KERBEROS_PRINCIPAL">Constant Field Values</a></dd>
@@ -6467,7 +6459,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>ZK_SERVER_KEYTAB_FILE</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1352">ZK_SERVER_KEYTAB_FILE</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1348">ZK_SERVER_KEYTAB_FILE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.ZK_SERVER_KEYTAB_FILE">Constant Field Values</a></dd>
@@ -6480,7 +6472,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>ZK_SERVER_KERBEROS_PRINCIPAL</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1353">ZK_SERVER_KERBEROS_PRINCIPAL</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1349">ZK_SERVER_KERBEROS_PRINCIPAL</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.ZK_SERVER_KERBEROS_PRINCIPAL">Constant Field Values</a></dd>
@@ -6493,7 +6485,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>TEMPORARY_FS_DIRECTORY_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1357">TEMPORARY_FS_DIRECTORY_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1353">TEMPORARY_FS_DIRECTORY_KEY</a></pre>
 <div class="block">Config key for hbase temporary directory in hdfs</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6507,7 +6499,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_TEMPORARY_HDFS_DIRECTORY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1358">DEFAULT_TEMPORARY_HDFS_DIRECTORY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1354">DEFAULT_TEMPORARY_HDFS_DIRECTORY</a></pre>
 </li>
 </ul>
 <a name="SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT">
@@ -6516,7 +6508,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1361">SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1357">SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT">Constant Field Values</a></dd>
@@ -6529,7 +6521,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1363">DEFAULT_SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1359">DEFAULT_SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT">Constant Field Values</a></dd>
@@ -6542,7 +6534,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>SNAPSHOT_RESTORE_FAILSAFE_NAME</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1365">SNAPSHOT_RESTORE_FAILSAFE_NAME</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1361">SNAPSHOT_RESTORE_FAILSAFE_NAME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.SNAPSHOT_RESTORE_FAILSAFE_NAME">Constant Field Values</a></dd>
@@ -6555,7 +6547,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DEFAULT_SNAPSHOT_RESTORE_FAILSAFE_NAME</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1367">DEFAULT_SNAPSHOT_RESTORE_FAILSAFE_NAME</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1363">DEFAULT_SNAPSHOT_RESTORE_FAILSAFE_NAME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_SNAPSHOT_RESTORE_FAILSAFE_NAME">Constant Field Values</a></dd>
@@ -6576,7 +6568,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HConstants</h4>
-<pre>private&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1370">HConstants</a>()</pre>
+<pre>private&nbsp;<a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1366">HConstants</a>()</pre>
 </li>
 </ul>
 </li>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Private.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Private.html b/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Private.html
index 62307a1..7d1c6a3 100644
--- a/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Private.html
+++ b/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceAudience.Private.html
@@ -4364,32 +4364,38 @@ service.</div>
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>(package private) class&nbsp;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html" title="class in org.apache.hadoop.hbase.ipc">ServerRpcConnection</a></span></code>
+<div class="block">Reads calls from a connection and queues them for handling.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/ipc/ServerRpcController.html" title="class in org.apache.hadoop.hbase.ipc">ServerRpcController</a></span></code>
 <div class="block">Used for server-side protobuf RPC service invocations.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/ipc/SimpleRpcServer.html" title="class in org.apache.hadoop.hbase.ipc">SimpleRpcServer</a></span></code>
 <div class="block">The RPC server with native java NIO implementation deriving from Hadoop to
  host protobuf described Services.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/ipc/SimpleRpcServerResponder.html" title="class in org.apache.hadoop.hbase.ipc">SimpleRpcServerResponder</a></span></code>
 <div class="block">Sends responses of RPC back to clients.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/ipc/SimpleServerCall.html" title="class in org.apache.hadoop.hbase.ipc">SimpleServerCall</a></span></code>
 <div class="block">Datastructure that holds all necessary to a method invocation and then afterward, carries the
  result.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/ipc/SimpleServerRpcConnection.html" title="class in org.apache.hadoop.hbase.ipc">SimpleServerRpcConnection</a></span></code>
 <div class="block">Reads calls from a connection and queues them for handling.</div>
@@ -8565,7 +8571,7 @@ service.</div>
 <tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></span></code>
-<div class="block">A utility class for dealing with SASL on RPC server</div>
+<div class="block">A utility class that encapsulates SASL logic for RPC server.</div>
 </td>
 </tr>
 <tr class="altColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 37b9cf6..54727fb 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/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/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/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/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceAudience.Private</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Public.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceAudience.Public</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.LimitedPrivate.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceAudience.LimitedPrivate</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
+<li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Unstable.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="typeNameLink">InterfaceStability.Unstable</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 </ul>
 </div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/sponsors.html
----------------------------------------------------------------------
diff --git a/sponsors.html b/sponsors.html
index 071b242..d718b89 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/supportingprojects.html
----------------------------------------------------------------------
diff --git a/supportingprojects.html b/supportingprojects.html
index da85fb1..f855ba9 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/team-list.html
----------------------------------------------------------------------
diff --git a/team-list.html b/team-list.html
index 4f0242d..5d1b0a1 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-frame.html b/testdevapidocs/allclasses-frame.html
index 4fe42e4..5622f56 100644
--- a/testdevapidocs/allclasses-frame.html
+++ b/testdevapidocs/allclasses-frame.html
@@ -1714,6 +1714,7 @@
 <li><a href="org/apache/hadoop/hbase/filter/TestScanRowPrefix.html" title="class in org.apache.hadoop.hbase.filter" target="classFrame">TestScanRowPrefix</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/querymatcher/TestScanWildcardColumnTracker.html" title="class in org.apache.hadoop.hbase.regionserver.querymatcher" target="classFrame">TestScanWildcardColumnTracker</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/TestScanWithBloomError.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">TestScanWithBloomError</a></li>
+<li><a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TestScanWithoutFetchingData</a></li>
 <li><a href="org/apache/hadoop/hbase/rest/TestSchemaResource.html" title="class in org.apache.hadoop.hbase.rest" target="classFrame">TestSchemaResource</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/TestSCVFWithMiniCluster.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">TestSCVFWithMiniCluster</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/wal/TestSecureAsyncWALReplay.html" title="class in org.apache.hadoop.hbase.regionserver.wal" target="classFrame">TestSecureAsyncWALReplay</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-noframe.html b/testdevapidocs/allclasses-noframe.html
index 68a9fa7..508e65e 100644
--- a/testdevapidocs/allclasses-noframe.html
+++ b/testdevapidocs/allclasses-noframe.html
@@ -1714,6 +1714,7 @@
 <li><a href="org/apache/hadoop/hbase/filter/TestScanRowPrefix.html" title="class in org.apache.hadoop.hbase.filter">TestScanRowPrefix</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/querymatcher/TestScanWildcardColumnTracker.html" title="class in org.apache.hadoop.hbase.regionserver.querymatcher">TestScanWildcardColumnTracker</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/TestScanWithBloomError.html" title="class in org.apache.hadoop.hbase.regionserver">TestScanWithBloomError</a></li>
+<li><a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client">TestScanWithoutFetchingData</a></li>
 <li><a href="org/apache/hadoop/hbase/rest/TestSchemaResource.html" title="class in org.apache.hadoop.hbase.rest">TestSchemaResource</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/TestSCVFWithMiniCluster.html" title="class in org.apache.hadoop.hbase.regionserver">TestSCVFWithMiniCluster</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/wal/TestSecureAsyncWALReplay.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestSecureAsyncWALReplay</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/constant-values.html b/testdevapidocs/constant-values.html
index 0e504db..b490876 100644
--- a/testdevapidocs/constant-values.html
+++ b/testdevapidocs/constant-values.html
@@ -3489,6 +3489,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/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client">TestScanWithoutFetchingData</a></span><span class="tabEnd">&nbsp;</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.TestScanWithoutFetchingData.COUNT">
+<!--   -->
+</a><code>private&nbsp;static&nbsp;final&nbsp;int</code></td>
+<td><code><a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#COUNT">COUNT</a></code></td>
+<td class="colLast"><code>10</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.<a href="org/apache/hadoop/hbase/client/TestSizeFailures.html" title="class in org.apache.hadoop.hbase.client">TestSizeFailures</a></span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/index-all.html b/testdevapidocs/index-all.html
index 68ad6b3..2619430 100644
--- a/testdevapidocs/index-all.html
+++ b/testdevapidocs/index-all.html
@@ -1630,6 +1630,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncSnapshotAdminApi.html#assertResult-org.apache.hadoop.hbase.TableName-int-">assertResult(TableName, int)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncSnapshotAdminApi.html" title="class in org.apache.hadoop.hbase.client">TestAsyncSnapshotAdminApi</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#assertResult-int-org.apache.hadoop.hbase.client.Result-">assertResult(int, Result)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client">TestScanWithoutFetchingData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/AbstractTestAsyncTableScan.html#assertResultEquals-org.apache.hadoop.hbase.client.Result-int-">assertResultEquals(Result, int)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/AbstractTestAsyncTableScan.html" title="class in org.apache.hadoop.hbase.client">AbstractTestAsyncTableScan</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestBatchScanResultCache.html#assertResultEquals-org.apache.hadoop.hbase.client.Result-int-int-int-">assertResultEquals(Result, int, int, int)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestBatchScanResultCache.html" title="class in org.apache.hadoop.hbase.client">TestBatchScanResultCache</a></dt>
@@ -3001,6 +3003,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestMvccConsistentScanner.html#CF">CF</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestMvccConsistentScanner.html" title="class in org.apache.hadoop.hbase.client">TestMvccConsistentScanner</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#CF">CF</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client">TestScanWithoutFetchingData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/codec/prefixtree/row/data/TestRowDataComplexQualifiers.html#cf">cf</a></span> - Static variable in class org.apache.hadoop.hbase.codec.prefixtree.row.data.<a href="org/apache/hadoop/hbase/codec/prefixtree/row/data/TestRowDataComplexQualifiers.html" title="class in org.apache.hadoop.hbase.codec.prefixtree.row.data">TestRowDataComplexQualifiers</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/codec/prefixtree/row/data/TestRowDataDifferentTimestamps.html#cf">cf</a></span> - Static variable in class org.apache.hadoop.hbase.codec.prefixtree.row.data.<a href="org/apache/hadoop/hbase/codec/prefixtree/row/data/TestRowDataDifferentTimestamps.html" title="class in org.apache.hadoop.hbase.codec.prefixtree.row.data">TestRowDataDifferentTimestamps</a></dt>
@@ -5760,6 +5764,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestRawAsyncTablePartialScan.html#COUNT">COUNT</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestRawAsyncTablePartialScan.html" title="class in org.apache.hadoop.hbase.client">TestRawAsyncTablePartialScan</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#COUNT">COUNT</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client">TestScanWithoutFetchingData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/filter/TestFilterFromRegionSide.FirstSeveralCellsFilter.html#count">count</a></span> - Variable in class org.apache.hadoop.hbase.filter.<a href="org/apache/hadoop/hbase/filter/TestFilterFromRegionSide.FirstSeveralCellsFilter.html" title="class in org.apache.hadoop.hbase.filter">TestFilterFromRegionSide.FirstSeveralCellsFilter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/ipc/TestCellBlockBuilder.html#COUNT">COUNT</a></span> - Static variable in class org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/TestCellBlockBuilder.html" title="class in org.apache.hadoop.hbase.ipc">TestCellBlockBuilder</a></dt>
@@ -6048,6 +6054,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAsyncTableScanRenewLease.html#CQ">CQ</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAsyncTableScanRenewLease.html" title="class in org.apache.hadoop.hbase.client">TestAsyncTableScanRenewLease</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#CQ">CQ</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client">TestScanWithoutFetchingData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/codec/prefixtree/row/data/TestRowDataSearcherRowMiss.html#cq">cq</a></span> - Static variable in class org.apache.hadoop.hbase.codec.prefixtree.row.data.<a href="org/apache/hadoop/hbase/codec/prefixtree/row/data/TestRowDataSearcherRowMiss.html" title="class in org.apache.hadoop.hbase.codec.prefixtree.row.data">TestRowDataSearcherRowMiss</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/codec/prefixtree/row/data/TestRowDataSearchWithPrefix.html#cq">cq</a></span> - Static variable in class org.apache.hadoop.hbase.codec.prefixtree.row.data.<a href="org/apache/hadoop/hbase/codec/prefixtree/row/data/TestRowDataSearchWithPrefix.html" title="class in org.apache.hadoop.hbase.codec.prefixtree.row.data">TestRowDataSearchWithPrefix</a></dt>
@@ -15558,6 +15566,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#HRI">HRI</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html" title="class in org.apache.hadoop.hbase.client">TestAlwaysSetScannerId</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#HRI">HRI</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client">TestScanWithoutFetchingData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureSchedulerPerformanceEvaluation.RegionProcedureFactory.html#hri">hri</a></span> - Variable in class org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/MasterProcedureSchedulerPerformanceEvaluation.RegionProcedureFactory.html" title="class in org.apache.hadoop.hbase.master.procedure">MasterProcedureSchedulerPerformanceEvaluation.RegionProcedureFactory</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/regionserver/TestRegionServerNoMaster.html#hri">hri</a></span> - Static variable in class org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestRegionServerNoMaster.html" title="class in org.apache.hadoop.hbase.regionserver">TestRegionServerNoMaster</a></dt>
@@ -30732,6 +30742,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestScannerTimeout.html#setUp--">setUp()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestScannerTimeout.html" title="class in org.apache.hadoop.hbase.client">TestScannerTimeout</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#setUp--">setUp()</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client">TestScanWithoutFetchingData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestSnapshotCloneIndependence.html#setup--">setup()</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>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestSnapshotFromClient.html#setup--">setup()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestSnapshotFromClient.html" title="class in org.apache.hadoop.hbase.client">TestSnapshotFromClient</a></dt>
@@ -34113,6 +34125,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestClientNoCluster.RpcTimeoutConnection.html#stub">stub</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestClientNoCluster.RpcTimeoutConnection.html" title="class in org.apache.hadoop.hbase.client">TestClientNoCluster.RpcTimeoutConnection</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#STUB">STUB</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client">TestScanWithoutFetchingData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/security/TestSecureIPC.TestThread.html#stub">stub</a></span> - Variable in class org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/TestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security">TestSecureIPC.TestThread</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/zookeeper/TestZooKeeperNodeTracker.StubAbortable.html#StubAbortable--">StubAbortable()</a></span> - Constructor for class org.apache.hadoop.hbase.zookeeper.<a href="org/apache/hadoop/hbase/zookeeper/TestZooKeeperNodeTracker.StubAbortable.html" title="class in org.apache.hadoop.hbase.zookeeper">TestZooKeeperNodeTracker.StubAbortable</a></dt>
@@ -34685,6 +34699,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestScannerTimeout.html#TABLE_NAME">TABLE_NAME</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestScannerTimeout.html" title="class in org.apache.hadoop.hbase.client">TestScannerTimeout</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#TABLE_NAME">TABLE_NAME</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client">TestScanWithoutFetchingData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestSmallReversedScanner.html#TABLE_NAME">TABLE_NAME</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestSmallReversedScanner.html" title="class in org.apache.hadoop.hbase.client">TestSmallReversedScanner</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestSnapshotFromClient.html#TABLE_NAME">TABLE_NAME</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestSnapshotFromClient.html" title="class in org.apache.hadoop.hbase.client">TestSnapshotFromClient</a></dt>
@@ -35333,6 +35349,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestScannersFromClientSide2.html#tearDown--">tearDown()</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestScannersFromClientSide2.html" title="class in org.apache.hadoop.hbase.client">TestScannersFromClientSide2</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#tearDown--">tearDown()</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client">TestScanWithoutFetchingData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestSmallReversedScanner.html#tearDown--">tearDown()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestSmallReversedScanner.html" title="class in org.apache.hadoop.hbase.client">TestSmallReversedScanner</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestSnapshotCloneIndependence.html#tearDown--">tearDown()</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>
@@ -36206,6 +36224,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestClientOperationInterrupt.html#test">test</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestClientOperationInterrupt.html" title="class in org.apache.hadoop.hbase.client">TestClientOperationInterrupt</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#test--">test()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client">TestScanWithoutFetchingData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestZKAsyncRegistry.html#test--">test()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestZKAsyncRegistry.html" title="class in org.apache.hadoop.hbase.client">TestZKAsyncRegistry</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/constraint/TestConstraint.html#test">test</a></span> - Static variable in class org.apache.hadoop.hbase.constraint.<a href="org/apache/hadoop/hbase/constraint/TestConstraint.html" title="class in org.apache.hadoop.hbase.constraint">TestConstraint</a></dt>
@@ -52020,6 +52040,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.html#testScanWithMultipleColumnFamilies--">testScanWithMultipleColumnFamilies()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.html" title="class in org.apache.hadoop.hbase.client">TestBlockEvictionFromClient</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestScanWithoutFetchingData</span></a> - Class in <a href="org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></dt>
+<dd>
+<div class="block">Testcase to make sure that we do not close scanners if ScanRequest.numberOfRows is zero.</div>
+</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#TestScanWithoutFetchingData--">TestScanWithoutFetchingData()</a></span> - Constructor for class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client">TestScanWithoutFetchingData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/io/encoding/TestPrefixTreeEncoding.html#testScanWithRandomData--">testScanWithRandomData()</a></span> - Method in class org.apache.hadoop.hbase.io.encoding.<a href="org/apache/hadoop/hbase/io/encoding/TestPrefixTreeEncoding.html" title="class in org.apache.hadoop.hbase.io.encoding">TestPrefixTreeEncoding</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestReplicasClient.html#testScanWithReplicas--">testScanWithReplicas()</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>
@@ -57210,6 +57236,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestRpcControllerFactory.html#UTIL">UTIL</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestRpcControllerFactory.html" title="class in org.apache.hadoop.hbase.client">TestRpcControllerFactory</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#UTIL">UTIL</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client">TestScanWithoutFetchingData</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestShortCircuitConnection.html#UTIL">UTIL</a></span> - Static variable in class org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestShortCircuitConnection.html" title="class in org.apache.hadoop.hbase.client">TestShortCircuitConnection</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/client/TestSnapshotCloneIndependence.html#UTIL">UTIL</a></span> - Static variable 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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 c1bb8d1..7b4999b 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/class-use/HBaseTestingUtility.html
@@ -783,49 +783,53 @@
 </tr>
 <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">TestShortCircuitConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestShortCircuitConnection.html#UTIL">UTIL</a></span></code>&nbsp;</td>
+<td class="colLast"><span class="typeNameLabel">TestScanWithoutFetchingData.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#UTIL">UTIL</a></span></code>&nbsp;</td>
 </tr>
 <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">TestShortCircuitConnection.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestShortCircuitConnection.html#UTIL">UTIL</a></span></code>&nbsp;</td>
+</tr>
+<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">TestSnapshotFromClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestSnapshotFromClient.html#UTIL">UTIL</a></span></code>&nbsp;</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">TestTableSnapshotScanner.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestTableSnapshotScanner.html#UTIL">UTIL</a></span></code>&nbsp;</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">TestMvccConsistentScanner.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestMvccConsistentScanner.html#UTIL">UTIL</a></span></code>&nbsp;</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">TestAlwaysSetScannerId.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#UTIL">UTIL</a></span></code>&nbsp;</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">TestLimitedScanWithFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestLimitedScanWithFilter.html#UTIL">UTIL</a></span></code>&nbsp;</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">TestRawAsyncTableLimitedScanWithFilter.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestRawAsyncTableLimitedScanWithFilter.html#UTIL">UTIL</a></span></code>&nbsp;</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">TestSnapshotCloneIndependence.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestSnapshotCloneIndependence.html#UTIL">UTIL</a></span></code>&nbsp;</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">TestAsyncTableScanMetrics.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncTableScanMetrics.html#UTIL">UTIL</a></span></code>&nbsp;</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">TestClientPushback.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestClientPushback.html#UTIL">UTIL</a></span></code>&nbsp;</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">TestRpcControllerFactory.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestRpcControllerFactory.html#UTIL">UTIL</a></span></code>&nbsp;</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">TestAsyncAggregationClient.</span><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAggregationClient.html#UTIL">UTIL</a></span></code>&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html
index 7cc2ef0..927b9fb 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html
@@ -109,7 +109,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.44">TestAlwaysSetScannerId</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.45">TestAlwaysSetScannerId</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></pre>
 <div class="block">Testcase to make sure that we always set scanner id in ScanResponse. See HBASE-18000.</div>
 </li>
@@ -230,7 +230,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>UTIL</h4>
-<pre>private static final&nbsp;<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/client/TestAlwaysSetScannerId.html#line.46">UTIL</a></pre>
+<pre>private static final&nbsp;<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/client/TestAlwaysSetScannerId.html#line.47">UTIL</a></pre>
 </li>
 </ul>
 <a name="TABLE_NAME">
@@ -239,7 +239,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>TABLE_NAME</h4>
-<pre>private static final&nbsp;org.apache.hadoop.hbase.TableName <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.48">TABLE_NAME</a></pre>
+<pre>private static final&nbsp;org.apache.hadoop.hbase.TableName <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.49">TABLE_NAME</a></pre>
 </li>
 </ul>
 <a name="CF">
@@ -248,7 +248,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>CF</h4>
-<pre>private static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.50">CF</a></pre>
+<pre>private static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.51">CF</a></pre>
 </li>
 </ul>
 <a name="CQ">
@@ -257,7 +257,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>CQ</h4>
-<pre>private static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.52">CQ</a></pre>
+<pre>private static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.53">CQ</a></pre>
 </li>
 </ul>
 <a name="COUNT">
@@ -266,7 +266,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>COUNT</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.54">COUNT</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.55">COUNT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.client.TestAlwaysSetScannerId.COUNT">Constant Field Values</a></dd>
@@ -279,7 +279,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>HRI</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.HRegionInfo <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.56">HRI</a></pre>
+<pre>private static&nbsp;org.apache.hadoop.hbase.HRegionInfo <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.57">HRI</a></pre>
 </li>
 </ul>
 <a name="STUB">
@@ -288,7 +288,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>STUB</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.BlockingInterface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.58">STUB</a></pre>
+<pre>private static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.BlockingInterface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.59">STUB</a></pre>
 </li>
 </ul>
 </li>
@@ -305,7 +305,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TestAlwaysSetScannerId</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.44">TestAlwaysSetScannerId</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.45">TestAlwaysSetScannerId</a>()</pre>
 </li>
 </ul>
 </li>
@@ -322,7 +322,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setUp</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.61">setUp</a>()
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.62">setUp</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>
@@ -336,7 +336,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>tearDown</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.74">tearDown</a>()
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.75">tearDown</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>
@@ -350,7 +350,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>test</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.79">test</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAlwaysSetScannerId.html#line.80">test</a>()
           throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException,
                  <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/f8f0a032/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBase.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBase.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBase.html
index f168b99..8e0fb29 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBase.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncAdminBase.html
@@ -336,7 +336,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>tearDownAfterClass</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#line.58">tearDownAfterClass</a>()
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#line.57">tearDownAfterClass</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>
@@ -350,7 +350,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setUp</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#line.64">setUp</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncAdminBase.html#line.63">setUp</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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html
index bdf3168..3090988 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html#line.49">TestAsyncNamespaceAdminApi</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html#line.50">TestAsyncNamespaceAdminApi</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 namespace admin operations.</div>
 </li>
@@ -242,7 +242,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>prefix</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html#line.51">prefix</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html#line.52">prefix</a></pre>
 </li>
 </ul>
 <a name="master">
@@ -251,7 +251,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>master</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.master.HMaster <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html#line.52">master</a></pre>
+<pre>private static&nbsp;org.apache.hadoop.hbase.master.HMaster <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html#line.53">master</a></pre>
 </li>
 </ul>
 <a name="zkNamespaceManager">
@@ -260,7 +260,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>zkNamespaceManager</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.ZKNamespaceManager <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html#line.53">zkNamespaceManager</a></pre>
+<pre>private static&nbsp;org.apache.hadoop.hbase.ZKNamespaceManager <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html#line.54">zkNamespaceManager</a></pre>
 </li>
 </ul>
 </li>
@@ -277,7 +277,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TestAsyncNamespaceAdminApi</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html#line.49">TestAsyncNamespaceAdminApi</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html#line.50">TestAsyncNamespaceAdminApi</a>()</pre>
 </li>
 </ul>
 </li>
@@ -294,7 +294,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>setUpBeforeClass</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html#line.56">setUpBeforeClass</a>()
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html#line.57">setUpBeforeClass</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>
@@ -308,7 +308,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testCreateAndDelete</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html#line.67">testCreateAndDelete</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html#line.71">testCreateAndDelete</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>
@@ -322,7 +322,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testDeleteReservedNS</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html#line.89">testDeleteReservedNS</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html#line.93">testDeleteReservedNS</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>
@@ -336,7 +336,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testNamespaceOperations</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html#line.111">testNamespaceOperations</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html#line.115">testNamespaceOperations</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>
@@ -350,7 +350,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>runWithExpectedException</h4>
-<pre>private static&nbsp;&lt;V,E&gt;&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html#line.179">runWithExpectedException</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;&nbsp;callable,
+<pre>private static&nbsp;&lt;V,E&gt;&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncNamespaceAdminApi.html#line.183">runWithExpectedException</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Callable.html?is-external=true" title="class or interface in java.util.concurrent">Callable</a>&lt;V&gt;&nbsp;callable,
                                                    <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>&lt;E&gt;&nbsp;exceptionClass)</pre>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html
index 7a504d2..c42001e 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html#line.48">TestAsyncProcedureAdminApi</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html#line.49">TestAsyncProcedureAdminApi</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 procedure admin operations.</div>
 </li>
@@ -226,7 +226,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TestAsyncProcedureAdminApi</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html#line.48">TestAsyncProcedureAdminApi</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html#line.49">TestAsyncProcedureAdminApi</a>()</pre>
 </li>
 </ul>
 </li>
@@ -243,7 +243,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>setUpBeforeClass</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html#line.51">setUpBeforeClass</a>()
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html#line.52">setUpBeforeClass</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>
@@ -257,7 +257,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testExecProcedure</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html#line.66">testExecProcedure</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html#line.67">testExecProcedure</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>
@@ -271,7 +271,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testExecProcedureWithRet</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html#line.87">testExecProcedureWithRet</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html#line.88">testExecProcedureWithRet</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>
@@ -285,7 +285,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>listProcedure</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html#line.95">listProcedure</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html#line.96">listProcedure</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>
@@ -299,7 +299,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>isProcedureFinished</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html#line.101">isProcedureFinished</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html#line.102">isProcedureFinished</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>
@@ -313,7 +313,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>abortProcedure</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html#line.112">abortProcedure</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html#line.113">abortProcedure</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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html
index 6e9de2f..a9a55b2 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.52">TestAsyncReplicationAdminApi</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.53">TestAsyncReplicationAdminApi</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 replication admin operations.</div>
 </li>
@@ -265,7 +265,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>ID_ONE</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.54">ID_ONE</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.55">ID_ONE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.client.TestAsyncReplicationAdminApi.ID_ONE">Constant Field Values</a></dd>
@@ -278,7 +278,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>KEY_ONE</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.55">KEY_ONE</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.56">KEY_ONE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.client.TestAsyncReplicationAdminApi.KEY_ONE">Constant Field Values</a></dd>
@@ -291,7 +291,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>ID_SECOND</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.56">ID_SECOND</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.57">ID_SECOND</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.client.TestAsyncReplicationAdminApi.ID_SECOND">Constant Field Values</a></dd>
@@ -304,7 +304,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>KEY_SECOND</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.57">KEY_SECOND</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.58">KEY_SECOND</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.client.TestAsyncReplicationAdminApi.KEY_SECOND">Constant Field Values</a></dd>
@@ -317,7 +317,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>name</h4>
-<pre>public&nbsp;org.junit.rules.TestName <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.60">name</a></pre>
+<pre>public&nbsp;org.junit.rules.TestName <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.61">name</a></pre>
 </li>
 </ul>
 </li>
@@ -334,7 +334,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TestAsyncReplicationAdminApi</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.52">TestAsyncReplicationAdminApi</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.53">TestAsyncReplicationAdminApi</a>()</pre>
 </li>
 </ul>
 </li>
@@ -351,7 +351,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>setUpBeforeClass</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.63">setUpBeforeClass</a>()
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.64">setUpBeforeClass</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>
@@ -365,7 +365,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testAddRemovePeer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.70">testAddRemovePeer</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.74">testAddRemovePeer</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>
@@ -379,7 +379,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testPeerConfig</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.104">testPeerConfig</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.108">testPeerConfig</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 +393,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testEnableDisablePeer</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.122">testEnableDisablePeer</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.126">testEnableDisablePeer</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>
@@ -407,7 +407,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testAppendPeerTableCFs</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.138">testAppendPeerTableCFs</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.142">testAppendPeerTableCFs</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>
@@ -421,7 +421,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testRemovePeerTableCFs</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.240">testRemovePeerTableCFs</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.244">testRemovePeerTableCFs</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 +435,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testSetPeerNamespaces</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.322">testSetPeerNamespaces</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.326">testSetPeerNamespaces</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>
@@ -449,7 +449,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testNamespacesAndTableCfsConfigConflict</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.356">testNamespacesAndTableCfsConfigConflict</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.360">testNamespacesAndTableCfsConfigConflict</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>
@@ -463,7 +463,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testPeerBandwidth</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.402">testPeerBandwidth</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html#line.406">testPeerBandwidth</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>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html
index 7aeb0fb..f01cf3a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html
@@ -27,3384 +27,3404 @@
 <span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.regionserver;<a name="line.19"></a>
 <span class="sourceLineNo">020</span><a name="line.20"></a>
 <span class="sourceLineNo">021</span>import com.google.common.annotations.VisibleForTesting;<a name="line.21"></a>
-<span class="sourceLineNo">022</span><a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.FileNotFoundException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.io.InterruptedIOException;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.net.BindException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.net.InetSocketAddress;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.net.UnknownHostException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.nio.ByteBuffer;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.*;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Map.Entry;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.concurrent.ConcurrentMap;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.concurrent.atomic.LongAdder;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.commons.lang.mutable.MutableObject;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.commons.logging.Log;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.commons.logging.LogFactory;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.conf.Configuration;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.fs.Path;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.ByteBufferCell;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.Cell;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.CellScannable;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HConstants;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.MultiActionResultTooLarge;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.client.Append;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.client.ConnectionUtils;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.Get;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.Put;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Result;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.exceptions.ScannerResetException;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.ipc.HBaseRPCErrorHandler;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.ipc.PriorityFunction;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.ipc.QosPriority;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.ipc.RpcCallback;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.ipc.RpcServer.BlockingServiceAndInterface;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.ipc.RpcServerFactory;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.ipc.RpcServerInterface;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.ipc.ServerRpcController;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.master.MasterRpcServices;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.quotas.ActivePolicyEnforcement;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.quotas.RegionServerSpaceQuotaManager;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.quotas.SpaceViolationPolicyEnforcement;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.regionserver.handler.OpenPriorityRegionHandler;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.security.Superusers;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.security.User;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.ResponseConverter;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest.RegionOpenInfo;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse.RegionOpeningState;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Condition;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRegionLoadStats;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionAction;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanRequest;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameBytesPair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsRequest;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceViolationPolicy;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.206"></a>
-<span class="sourceLineNo">207</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.210"></a>
-<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.211"></a>
-<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>import org.apache.zookeeper.KeeperException;<a name="line.213"></a>
-<span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>/**<a name="line.215"></a>
-<span class="sourceLineNo">216</span> * Implements the regionserver RPC services.<a name="line.216"></a>
-<span class="sourceLineNo">217</span> */<a name="line.217"></a>
-<span class="sourceLineNo">218</span>@InterfaceAudience.Private<a name="line.218"></a>
-<span class="sourceLineNo">219</span>@SuppressWarnings("deprecation")<a name="line.219"></a>
-<span class="sourceLineNo">220</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    ConfigurationObserver {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.223"></a>
-<span class="sourceLineNo">224</span><a name="line.224"></a>
-<span class="sourceLineNo">225</span>  /** RPC scheduler to use for the region server. */<a name="line.225"></a>
-<span class="sourceLineNo">226</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    "hbase.region.server.rpc.scheduler.factory.class";<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  /**<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  final LongAdder requestCount = new LongAdder();<a name="line.242"></a>
-<span class="sourceLineNo">243</span><a name="line.243"></a>
-<span class="sourceLineNo">244</span>  // Request counter for rpc get<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  final LongAdder rpcGetRequestCount = new LongAdder();<a name="line.245"></a>
-<span class="sourceLineNo">246</span><a name="line.246"></a>
-<span class="sourceLineNo">247</span>  // Request counter for rpc scan<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  final LongAdder rpcScanRequestCount = new LongAdder();<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span>  // Request counter for rpc multi<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  final LongAdder rpcMultiRequestCount = new LongAdder();<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>  // Request counter for rpc mutate<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  final LongAdder rpcMutateRequestCount = new LongAdder();<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  // Server to handle client requests.<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  final RpcServerInterface rpcServer;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  final InetSocketAddress isa;<a name="line.258"></a>
-<span class="sourceLineNo">259</span><a name="line.259"></a>
-<span class="sourceLineNo">260</span>  private final HRegionServer regionServer;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  private final long maxScannerResultSize;<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  // The reference to the priority extraction function<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  private final PriorityFunction priority;<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>  private final ConcurrentMap&lt;String, RegionScannerHolder&gt; scanners = new ConcurrentHashMap&lt;&gt;();<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>   * The lease timeout period for client scanners (milliseconds).<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private final int scannerLeaseTimeoutPeriod;<a name="line.272"></a>
+<span class="sourceLineNo">022</span>import com.google.common.cache.Cache;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import com.google.common.cache.CacheBuilder;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.io.FileNotFoundException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.io.IOException;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.io.InterruptedIOException;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.net.BindException;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.net.InetSocketAddress;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.net.UnknownHostException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.nio.ByteBuffer;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.ArrayList;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.Arrays;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.Collections;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.HashMap;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.Iterator;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.List;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.Map;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.Map.Entry;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.NavigableMap;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import java.util.Set;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import java.util.TreeSet;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import java.util.concurrent.ConcurrentMap;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.TimeUnit;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.atomic.LongAdder;<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.commons.lang.mutable.MutableObject;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.commons.logging.Log;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.commons.logging.LogFactory;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.conf.Configuration;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.fs.Path;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ByteBufferCell;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.Cell;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.CellScannable;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.HConstants;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.MultiActionResultTooLarge;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.ServerName;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.TableName;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.Append;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.ConnectionUtils;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.client.Get;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.client.Put;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.client.Result;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.exceptions.ScannerResetException;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.ipc.HBaseRPCErrorHandler;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.ipc.PriorityFunction;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.ipc.QosPriority;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.ipc.RpcCallback;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.ipc.RpcServer.BlockingServiceAndInterface;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.ipc.RpcServerFactory;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.ipc.RpcServerInterface;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.ipc.ServerRpcController;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.master.MasterRpcServices;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.quotas.ActivePolicyEnforcement;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.quotas.RegionServerSpaceQuotaManager;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.quotas.SpaceViolationPolicyEnforcement;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.regionserver.handler.OpenPriorityRegionHandler;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.security.Superusers;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.security.User;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.ResponseConverter;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesRequest;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesResponse;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeRequest;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeResponse;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoRequest;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoResponse;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileRequest;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileResponse;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest.RegionOpenInfo;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse.RegionOpeningState;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterRequest;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterResponse;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerRequest;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerResponse;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationRequest;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationResponse;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesRequest;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesResponse;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadRequest;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadResponse;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Condition;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetRequest;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetResponse;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRegionLoadStats;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionAction;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanRequest;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameBytesPair;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.204"></a>
+<span class="sourceLineNo">205</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.205"></a>
+<span class="sourceLineNo">206</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsRequest;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader;<a name="line.209"></a>
+<span class="sourceLineNo">210</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.210"></a>
+<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.213"></a>
+<span class="sourceLineNo">214</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.218"></a>
+<span class="sourceLineNo">219</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.220"></a>
+<span class="sourceLineNo">221</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.221"></a>
+<span class="sourceLineNo">222</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.222"></a>
+<span class="sourceLineNo">223</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.223"></a>
+<span class="sourceLineNo">224</span>import org.apache.zookeeper.KeeperException;<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>/**<a name="line.226"></a>
+<span class="sourceLineNo">227</span> * Implements the regionserver RPC services.<a name="line.227"></a>
+<span class="sourceLineNo">228</span> */<a name="line.228"></a>
+<span class="sourceLineNo">229</span>@InterfaceAudience.Private<a name="line.229"></a>
+<span class="sourceLineNo">230</span>@SuppressWarnings("deprecation")<a name="line.230"></a>
+<span class="sourceLineNo">231</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    ConfigurationObserver {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>  /** RPC scheduler to use for the region server. */<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    "hbase.region.server.rpc.scheduler.factory.class";<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>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  /**<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   */<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.250"></a>
+<span class="sourceLineNo">251</span><a name="line.251"></a>
+<span class="sourceLineNo">252</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  final LongAdder requestCount = new LongAdder();<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>  // Request counter for rpc get<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  final LongAdder rpcGetRequestCount = new LongAdder();<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  // Request counter for rpc scan<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  final LongAdder rpcScanRequestCount = new LongAdder();<a name="line.259"></a>
+<span class="sourceLineNo">260</span><a name="line.260"></a>
+<span class="sourceLineNo">261</span>  // Request counter for rpc multi<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  final LongAdder rpcMultiRequestCount = new LongAdder();<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span>  // Request counter for rpc mutate<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  final LongAdder rpcMutateRequestCount = new LongAdder();<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  // Server to handle client requests.<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  final RpcServerInterface rpcServer;<a name="line.268"></a>
+<span class="sourceLineNo">269</span>  final InetSocketAddress isa;<a name="line.269"></a>
+<span class="sourceLineNo">270</span><a name="line.270"></a>
+<span class="sourceLineNo">271</span>  private final HRegionServer regionServer;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  private final long maxScannerResultSize;<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>   * The RPC timeout period (milliseconds)<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   */<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private final int rpcTimeout;<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  /**<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * The minimum allowable delta to use for the scan limit<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   */<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  private final long minimumScanTimeLimitDelta;<a name="line.282"></a>
-<span class="sourceLineNo">283</span><a name="line.283"></a>
-<span class="sourceLineNo">284</span>  final AtomicBoolean clearCompactionQueues = new AtomicBoolean(false);<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>  /**<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   * An Rpc callback for closing a RegionScanner.<a name="line.287"></a>
-<span class="sourceLineNo">288</span>   */<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  private static final class RegionScannerCloseCallBack implements RpcCallback {<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>    private final RegionScanner scanner;<a name="line.291"></a>
+<span class="sourceLineNo">274</span>  // The reference to the priority extraction function<a name="line.274"></a>
+<span class="sourceLineNo">275</span>  private final PriorityFunction priority;<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  private final ConcurrentMap&lt;String, RegionScannerHolder&gt; scanners = new ConcurrentHashMap&lt;&gt;();<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  // Hold the name of a closed scanner for a while. This is used to keep compatible for old clients<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  // which may send next or close request to a region scanner which has already been exhausted. The<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  // entries will be removed automatically after scannerLeaseTimeoutPeriod.<a name="line.281"></a>
+<span class="sourceLineNo">282</span>  private final Cache&lt;String, String&gt; closedScanners;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  /**<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * The lease timeout period for client scanners (milliseconds).<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   */<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  private final int scannerLeaseTimeoutPeriod;<a name="line.286"></a>
+<span class="sourceLineNo">287</span><a name="line.287"></a>
+<span class="sourceLineNo">288</span>  /**<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   * The RPC timeout period (milliseconds)<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   */<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  private final int rpcTimeout;<a name="line.291"></a>
 <span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>    public RegionScannerCloseCallBack(RegionScanner scanner) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      this.scanner = scanner;<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>    @Override<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    public void run() throws IOException {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      this.scanner.close();<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><a name="line.302"></a>
-<span class="sourceLineNo">303</span>  /**<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>    private final String scannerName;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    private final RegionScanner scanner;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    private final Lease lease;<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      this.scannerName = scannerName;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      this.scanner = scanner;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      this.lease = lease;<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>    @Override<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    public void run() throws IOException {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      this.scanner.shipped();<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      if (scanners.containsKey(scannerName)) {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>        if (lease != null) regionServer.leases.addLease(lease);<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      }<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    }<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * completion of multiGets.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;&gt;();<a name="line.334"></a>
-<span class="sourceLineNo">335</span><a name="line.335"></a>
-<span class="sourceLineNo">336</span>    public void addScanner(RegionScanner scanner) {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      this.scanners.add(scanner);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>    @Override<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    public void run() {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      for (RegionScanner scanner : scanners) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>        try {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>          scanner.close();<a name="line.344"></a>
-<span class="sourceLineNo">345</span>        } catch (IOException e) {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>          LOG.error("Exception while closing the scanner " + scanner, e);<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>    }<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>  /**<a name="line.352"></a>
-<span class="sourceLineNo">353</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  private static final class RegionScannerHolder {<a name="line.355"></a>
-<span class="sourceLineNo">356</span><a name="line.356"></a>
-<span class="sourceLineNo">357</span>    private final AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    private final String scannerName;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    private final RegionScanner s;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    private final Region r;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    private final RpcCallback closeCallBack;<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    private final RpcCallback shippedCallback;<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    private byte[] rowOfLastPartialResult;<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>    public RegionScannerHolder(String scannerName, RegionScanner s, Region r,<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        RpcCallback closeCallBack, RpcCallback shippedCallback) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      this.scannerName = scannerName;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      this.s = s;<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      this.r = r;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>      this.closeCallBack = closeCallBack;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      this.shippedCallback = shippedCallback;<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>    public long getNextCallSeq() {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      return nextCallSeq.get();<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    }<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>    public boolean incNextCallSeq(long currentSeq) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      // Use CAS to prevent multiple scan request running on the same scanner.<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      return nextCallSeq.compareAndSet(currentSeq, currentSeq + 1);<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>  }<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>  /**<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   * closed<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   */<a name="line.387"></a>
-<span class="sourceLineNo">388</span>  private class ScannerListener implements LeaseListener {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    private final String scannerName;<a name="line.389"></a>
-<span class="sourceLineNo">390</span><a name="line.390"></a>
-<span class="sourceLineNo">391</span>    ScannerListener(final String n) {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      this.scannerName = n;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    }<a name="line.393"></a>
-<span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>    @Override<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    public void leaseExpired() {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      RegionScannerHolder rsh = scanners.remove(this.scannerName);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>      if (rsh != null) {<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        RegionScanner s = rsh.s;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>        LOG.info("Scanner " + this.scannerName + " lease expired on region "<a name="line.400"></a>
-<span class="sourceLineNo">401</span>          + s.getRegionInfo().getRegionNameAsString());<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        Region region = null;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>        try {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>          region = regionServer.getRegion(s.getRegionInfo().getRegionName());<a name="line.404"></a>
-<span class="sourceLineNo">405</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>            region.getCoprocessorHost().preScannerClose(s);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>          }<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        } catch (IOException e) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>          LOG.error("Closing scanner for " + s.getRegionInfo().getRegionNameAsString(), e);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        } finally {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>          try {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>            s.close();<a name="line.412"></a>
-<span class="sourceLineNo">413</span>            if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>              region.getCoprocessorHost().postScannerClose(s);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>            }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          } catch (IOException e) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>            LOG.error("Closing scanner for " + s.getRegionInfo().getRegionNameAsString(), e);<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>      } else {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>        LOG.warn("Scanner " + this.scannerName + " lease expired, but no related" +<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          " scanner found, hence no chance to close that related scanner!");<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>  }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>  private static ResultOrException getResultOrException(final ClientProtos.Result r,<a name="line.427"></a>
-<span class="sourceLineNo">428</span>                                                        final int index){<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    return getResultOrException(ResponseConverter.buildActionResult(r), index);<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>  private static ResultOrException getResultOrException(final Exception e, final int index) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return getResultOrException(ResponseConverter.buildActionResult(e), index);<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>  private static ResultOrException getResultOrException(<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      final ResultOrException.Builder builder, final int index) {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    return builder.setIndex(index).build();<a name="line.438"></a>
+<span class="sourceLineNo">293</span>  /**<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * The minimum allowable delta to use for the scan limit<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   */<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  private final long minimumScanTimeLimitDelta;<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span>  final AtomicBoolean clearCompactionQueues = new AtomicBoolean(false);<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>   * An Rpc callback for closing a RegionScanner.<a name="line.301"></a>
+<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  private static final class RegionScannerCloseCallBack implements RpcCallback {<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>    private final RegionScanner scanner;<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>    public RegionScannerCloseCallBack(RegionScanner scanner) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      this.scanner = scanner;<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    }<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>    @Override<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    public void run() throws IOException {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      this.scanner.close();<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><a name="line.316"></a>
+<span class="sourceLineNo">317</span>  /**<a name="line.317"></a>
+<span class="sourceLineNo">318</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   */<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.320"></a>
+<span class="sourceLineNo">321</span><a name="line.321"></a>
+<span class="sourceLineNo">322</span>    private final String scannerName;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    private final RegionScanner scanner;<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    private final Lease lease;<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      this.scannerName = scannerName;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>      this.scanner = scanner;<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      this.lease = lease;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    }<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>    @Override<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    public void run() throws IOException {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      this.scanner.shipped();<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.336"></a>
+<span class="sourceLineNo">337</span>      if (scanners.containsKey(scannerName)) {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>        if (lease != null) regionServer.leases.addLease(lease);<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>  }<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>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   * completion of multiGets.<a name="line.345"></a>
+<span class="sourceLineNo">346</span>   */<a name="line.346"></a>
+<span class="sourceLineNo">347</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;&gt;();<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>    public void addScanner(RegionScanner scanner) {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      this.scanners.add(scanner);<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    }<a name="line.352"></a>
+<span class="sourceLineNo">353</span><a name="line.353"></a>
+<span class="sourceLineNo">354</span>    @Override<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    public void run() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      for (RegionScanner scanner : scanners) {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>        try {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>          scanner.close();<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        } catch (IOException e) {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>          LOG.error("Exception while closing the scanner " + scanner, e);<a name="line.360"></a>
+<span class="sourceLineNo">361</span>        }<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      }<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    }<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span>  /**<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   */<a name="line.368"></a>
+<span class="sourceLineNo">369</span>  private static final class RegionScannerHolder {<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    private final AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    private final String scannerName;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    private final RegionScanner s;<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    private final Region r;<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    private final RpcCallback closeCallBack;<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    private final RpcCallback shippedCallback;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    private byte[] rowOfLastPartialResult;<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    public RegionScannerHolder(String scannerName, RegionScanner s, Region r,<a name="line.379"></a>
+<span class="sourceLineNo">380</span>        RpcCallback closeCallBack, RpcCallback shippedCallback) {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>      this.scannerName = scannerName;<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      this.s = s;<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      this.r = r;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      this.closeCallBack = closeCallBack;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>      this.shippedCallback = shippedCallback;<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>    public long getNextCallSeq() {<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      return nextCallSeq.get();<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span>    public boolean incNextCallSeq(long currentSeq) {<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      // Use CAS to prevent multiple scan request running on the same scanner.<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      return nextCallSeq.compareAndSet(currentSeq, currentSeq + 1);<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><a name="line.397"></a>
+<span class="sourceLineNo">398</span>  /**<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   * closed<a na

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html
index 090b6b8..7757a67 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html
@@ -25,857 +25,854 @@
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
 <span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.client;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import static org.apache.hadoop.hbase.TableName.META_TABLE_NAME;<a name="line.20"></a>
-<span class="sourceLineNo">021</span>import static org.apache.hadoop.hbase.client.AsyncProcess.START_LOG_ERRORS_AFTER_COUNT_KEY;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import static org.apache.hadoop.hbase.TableName.META_TABLE_NAME;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import static org.junit.Assert.assertEquals;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import static org.junit.Assert.assertFalse;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import static org.junit.Assert.assertTrue;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import static org.junit.Assert.fail;<a name="line.26"></a>
-<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.io.IOException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.ArrayList;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.Arrays;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.HashMap;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.Iterator;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.List;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.Map;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.Optional;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.Set;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import java.util.concurrent.CompletionException;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import java.util.regex.Pattern;<a name="line.38"></a>
-<span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.fs.Path;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.HConstants;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.ServerName;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.TableName;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.master.MasterFileSystem;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.testclassification.ClientTests;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.util.FSTableDescriptors;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.junit.Assert;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.junit.Rule;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.junit.Test;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.junit.experimental.categories.Category;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.junit.rules.TestName;<a name="line.60"></a>
-<span class="sourceLineNo">061</span><a name="line.61"></a>
-<span class="sourceLineNo">062</span>/**<a name="line.62"></a>
-<span class="sourceLineNo">063</span> * Class to test asynchronous table admin operations.<a name="line.63"></a>
-<span class="sourceLineNo">064</span> */<a name="line.64"></a>
-<span class="sourceLineNo">065</span>@Category({LargeTests.class, ClientTests.class})<a name="line.65"></a>
-<span class="sourceLineNo">066</span>public class TestAsyncTableAdminApi extends TestAsyncAdminBase {<a name="line.66"></a>
+<span class="sourceLineNo">020</span>import static org.junit.Assert.assertEquals;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import static org.junit.Assert.assertFalse;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import static org.junit.Assert.assertTrue;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import static org.junit.Assert.fail;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<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.Arrays;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.HashMap;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.Iterator;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.List;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.Map;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.Optional;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.Set;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.concurrent.CompletionException;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.regex.Pattern;<a name="line.35"></a>
+<span class="sourceLineNo">036</span><a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.fs.Path;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.AsyncMetaTableAccessor;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.HColumnDescriptor;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.HConstants;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.HRegionLocation;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.ServerName;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.TableName;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.TableNotEnabledException;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.master.MasterFileSystem;<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.LargeTests;<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.FSTableDescriptors;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.util.FSUtils;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.junit.Assert;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.junit.Rule;<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>import org.junit.rules.TestName;<a name="line.57"></a>
+<span class="sourceLineNo">058</span><a name="line.58"></a>
+<span class="sourceLineNo">059</span>/**<a name="line.59"></a>
+<span class="sourceLineNo">060</span> * Class to test asynchronous table admin operations.<a name="line.60"></a>
+<span class="sourceLineNo">061</span> */<a name="line.61"></a>
+<span class="sourceLineNo">062</span>@Category({LargeTests.class, ClientTests.class})<a name="line.62"></a>
+<span class="sourceLineNo">063</span>public class TestAsyncTableAdminApi extends TestAsyncAdminBase {<a name="line.63"></a>
+<span class="sourceLineNo">064</span><a name="line.64"></a>
+<span class="sourceLineNo">065</span>  @Rule<a name="line.65"></a>
+<span class="sourceLineNo">066</span>  public TestName name = new TestName();<a name="line.66"></a>
 <span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>  @Rule<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  public TestName name = new TestName();<a name="line.69"></a>
-<span class="sourceLineNo">070</span><a name="line.70"></a>
-<span class="sourceLineNo">071</span>  @Test<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  public void testTableExist() throws Exception {<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    final TableName tableName = TableName.valueOf(name.getMethodName());<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    boolean exist;<a name="line.74"></a>
+<span class="sourceLineNo">068</span>  @Test<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  public void testTableExist() throws Exception {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    final TableName tableName = TableName.valueOf(name.getMethodName());<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    boolean exist;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    exist = admin.tableExists(tableName).get();<a name="line.72"></a>
+<span class="sourceLineNo">073</span>    assertEquals(false, exist);<a name="line.73"></a>
+<span class="sourceLineNo">074</span>    TEST_UTIL.createTable(tableName, FAMILY);<a name="line.74"></a>
 <span class="sourceLineNo">075</span>    exist = admin.tableExists(tableName).get();<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    assertEquals(false, exist);<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    TEST_UTIL.createTable(tableName, FAMILY);<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    exist = admin.tableExists(tableName).get();<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    assertEquals(true, exist);<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    exist = admin.tableExists(TableName.META_TABLE_NAME).get();<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    assertEquals(true, exist);<a name="line.81"></a>
-<span class="sourceLineNo">082</span>  }<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>  @Test<a name="line.84"></a>
-<span class="sourceLineNo">085</span>  public void testListTables() throws Exception {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    int numTables = admin.listTables().get().length;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>    final TableName tableName1 = TableName.valueOf(name.getMethodName() + "1");<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    final TableName tableName2 = TableName.valueOf(name.getMethodName() + "2");<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    final TableName tableName3 = TableName.valueOf(name.getMethodName() + "3");<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    TableName[] tables = new TableName[] { tableName1, tableName2, tableName3 };<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    for (int i = 0; i &lt; tables.length; i++) {<a name="line.91"></a>
-<span class="sourceLineNo">092</span>      TEST_UTIL.createTable(tables[i], FAMILY);<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    }<a name="line.93"></a>
-<span class="sourceLineNo">094</span><a name="line.94"></a>
-<span class="sourceLineNo">095</span>    TableDescriptor[] tableDescs = admin.listTables().get();<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    int size = tableDescs.length;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    assertTrue(size &gt;= tables.length);<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    for (int i = 0; i &lt; tables.length &amp;&amp; i &lt; size; i++) {<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      boolean found = false;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      for (int j = 0; j &lt; tableDescs.length; j++) {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>        if (tableDescs[j].getTableName().equals(tables[i])) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>          found = true;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>          break;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        }<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      }<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      assertTrue("Not found: " + tables[i], found);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    }<a name="line.107"></a>
-<span class="sourceLineNo">108</span><a name="line.108"></a>
-<span class="sourceLineNo">109</span>    TableName[] tableNames = admin.listTableNames().get();<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    size = tableNames.length;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    assertTrue(size == (numTables + tables.length));<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    for (int i = 0; i &lt; tables.length &amp;&amp; i &lt; size; i++) {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      boolean found = false;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      for (int j = 0; j &lt; tableNames.length; j++) {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>        if (tableNames[j].equals(tables[i])) {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>          found = true;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>          break;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>        }<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      }<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      assertTrue("Not found: " + tables[i], found);<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>    for (int i = 0; i &lt; tables.length; i++) {<a name="line.123"></a>
-<span class="sourceLineNo">124</span>      TEST_UTIL.deleteTable(tables[i]);<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    }<a name="line.125"></a>
-<span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span>    tableDescs = admin.listTables((Pattern) null, true).get();<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    assertTrue("Not found system tables", tableDescs.length &gt; 0);<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    tableNames = admin.listTableNames((Pattern) null, true).get();<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    assertTrue("Not found system tables", tableNames.length &gt; 0);<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  }<a name="line.131"></a>
-<span class="sourceLineNo">132</span><a name="line.132"></a>
-<span class="sourceLineNo">133</span>  @Test(timeout = 300000)<a name="line.133"></a>
-<span class="sourceLineNo">134</span>  public void testGetTableDescriptor() throws Exception {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    HColumnDescriptor fam1 = new HColumnDescriptor("fam1");<a name="line.135"></a>
-<span class="sourceLineNo">136</span>    HColumnDescriptor fam2 = new HColumnDescriptor("fam2");<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    HColumnDescriptor fam3 = new HColumnDescriptor("fam3");<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    HTableDescriptor htd = new HTableDescriptor(TableName.valueOf(name.getMethodName()));<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    htd.addFamily(fam1);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    htd.addFamily(fam2);<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    htd.addFamily(fam3);<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    admin.createTable(htd).join();<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    TableDescriptor confirmedHtd = admin.getTableDescriptor(htd.getTableName()).get();<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    assertEquals(htd.compareTo(new HTableDescriptor(confirmedHtd)), 0);<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>  @Test(timeout = 300000)<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  public void testCreateTable() throws Exception {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    TableDescriptor[] tables = admin.listTables().get();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>    int numTables = tables.length;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    final  TableName tableName = TableName.valueOf(name.getMethodName());<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    admin.createTable(new HTableDescriptor(tableName).addFamily(new HColumnDescriptor(FAMILY)))<a name="line.152"></a>
-<span class="sourceLineNo">153</span>        .join();<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    tables = admin.listTables().get();<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    assertEquals(numTables + 1, tables.length);<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    assertTrue("Table must be enabled.", TEST_UTIL.getHBaseCluster().getMaster()<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        .getTableStateManager().isTableState(tableName, TableState.State.ENABLED));<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    assertEquals(TableState.State.ENABLED, getStateFromMeta(tableName));<a name="line.158"></a>
-<span class="sourceLineNo">159</span>  }<a name="line.159"></a>
-<span class="sourceLineNo">160</span><a name="line.160"></a>
-<span class="sourceLineNo">161</span>  private TableState.State getStateFromMeta(TableName table) throws Exception {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    Optional&lt;TableState&gt; state = AsyncMetaTableAccessor.getTableState(<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      ASYNC_CONN.getRawTable(TableName.META_TABLE_NAME), table).get();<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    assertTrue(state.isPresent());<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    return state.get().getState();<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>  @Test(timeout = 300000)<a name="line.168"></a>
-<span class="sourceLineNo">169</span>  public void testCreateTableNumberOfRegions() throws Exception {<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    final TableName tableName = TableName.valueOf(name.getMethodName());<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    HTableDescriptor desc = new HTableDescriptor(tableName);<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    desc.addFamily(new HColumnDescriptor(HConstants.CATALOG_FAMILY));<a name="line.172"></a>
-<span class="sourceLineNo">173</span>    admin.createTable(desc).join();<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    List&lt;HRegionLocation&gt; regions;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    try (RegionLocator l = TEST_UTIL.getConnection().getRegionLocator(tableName)) {<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      regions = l.getAllRegionLocations();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      assertEquals("Table should have only 1 region", 1, regions.size());<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    }<a name="line.178"></a>
-<span class="sourceLineNo">179</span><a name="line.179"></a>
-<span class="sourceLineNo">180</span>    final TableName tableName2 = TableName.valueOf(tableName.getNameAsString() + "_2");<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    desc = new HTableDescriptor(tableName2);<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    desc.addFamily(new HColumnDescriptor(HConstants.CATALOG_FAMILY));<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    admin.createTable(desc, new byte[][] { new byte[] { 42 } }).join();<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    try (RegionLocator l = TEST_UTIL.getConnection().getRegionLocator(tableName2)) {<a name="line.184"></a>
-<span class="sourceLineNo">185</span>      regions = l.getAllRegionLocations();<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      assertEquals("Table should have only 2 region", 2, regions.size());<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>    final TableName tableName3 = TableName.valueOf(tableName.getNameAsString() + "_3");<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    desc = new HTableDescriptor(tableName3);<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    desc.addFamily(new HColumnDescriptor(HConstants.CATALOG_FAMILY));<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    admin.createTable(desc, "a".getBytes(), "z".getBytes(), 3).join();<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    try (RegionLocator l = TEST_UTIL.getConnection().getRegionLocator(tableName3)) {<a name="line.193"></a>
-<span class="sourceLineNo">194</span>      regions = l.getAllRegionLocations();<a name="line.194"></a>
-<span class="sourceLineNo">195</span>      assertEquals("Table should have only 3 region", 3, regions.size());<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>    final TableName tableName4 = TableName.valueOf(tableName.getNameAsString() + "_4");<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    desc = new HTableDescriptor(tableName4);<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    desc.addFamily(new HColumnDescriptor(HConstants.CATALOG_FAMILY));<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    try {<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      admin.createTable(desc, "a".getBytes(), "z".getBytes(), 2).join();<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      fail("Should not be able to create a table with only 2 regions using this API.");<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    } catch (CompletionException e) {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      assertTrue(e.getCause() instanceof IllegalArgumentException);<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    }<a name="line.206"></a>
-<span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span>    final TableName tableName5 = TableName.valueOf(tableName.getNameAsString() + "_5");<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    desc = new HTableDescriptor(tableName5);<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    desc.addFamily(new HColumnDescriptor(HConstants.CATALOG_FAMILY));<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    admin.createTable(desc, new byte[] { 1 }, new byte[] { 127 }, 16).join();<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    try (RegionLocator l = TEST_UTIL.getConnection().getRegionLocator(tableName5)) {<a name="line.212"></a>
-<span class="sourceLineNo">213</span>      regions = l.getAllRegionLocations();<a name="line.213"></a>
-<span class="sourceLineNo">214</span>      assertEquals("Table should have 16 region", 16, regions.size());<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    }<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  }<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  @Test(timeout = 300000)<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  public void testCreateTableWithRegions() throws Exception {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    final TableName tableName = TableName.valueOf(name.getMethodName());<a name="line.220"></a>
-<span class="sourceLineNo">221</span><a name="line.221"></a>
-<span class="sourceLineNo">222</span>    byte[][] splitKeys = { new byte[] { 1, 1, 1 }, new byte[] { 2, 2, 2 }, new byte[] { 3, 3, 3 },<a name="line.222"></a>
-<span class="sourceLineNo">223</span>        new byte[] { 4, 4, 4 }, new byte[] { 5, 5, 5 }, new byte[] { 6, 6, 6 },<a name="line.223"></a>
-<span class="sourceLineNo">224</span>        new byte[] { 7, 7, 7 }, new byte[] { 8, 8, 8 }, new byte[] { 9, 9, 9 }, };<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    int expectedRegions = splitKeys.length + 1;<a name="line.225"></a>
-<span class="sourceLineNo">226</span><a name="line.226"></a>
-<span class="sourceLineNo">227</span>    HTableDescriptor desc = new HTableDescriptor(tableName);<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    desc.addFamily(new HColumnDescriptor(HConstants.CATALOG_FAMILY));<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    admin.createTable(desc, splitKeys).join();<a name="line.229"></a>
+<span class="sourceLineNo">076</span>    assertEquals(true, exist);<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    exist = admin.tableExists(TableName.META_TABLE_NAME).get();<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    assertEquals(true, exist);<a name="line.78"></a>
+<span class="sourceLineNo">079</span>  }<a name="line.79"></a>
+<span class="sourceLineNo">080</span><a name="line.80"></a>
+<span class="sourceLineNo">081</span>  @Test<a name="line.81"></a>
+<span class="sourceLineNo">082</span>  public void testListTables() throws Exception {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>    int numTables = admin.listTables().get().length;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    final TableName tableName1 = TableName.valueOf(name.getMethodName() + "1");<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    final TableName tableName2 = TableName.valueOf(name.getMethodName() + "2");<a name="line.85"></a>
+<span class="sourceLineNo">086</span>    final TableName tableName3 = TableName.valueOf(name.getMethodName() + "3");<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    TableName[] tables = new TableName[] { tableName1, tableName2, tableName3 };<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    for (int i = 0; i &lt; tables.length; i++) {<a name="line.88"></a>
+<span class="sourceLineNo">089</span>      TEST_UTIL.createTable(tables[i], FAMILY);<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>    TableDescriptor[] tableDescs = admin.listTables().get();<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    int size = tableDescs.length;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    assertTrue(size &gt;= tables.length);<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    for (int i = 0; i &lt; tables.length &amp;&amp; i &lt; size; i++) {<a name="line.95"></a>
+<span class="sourceLineNo">096</span>      boolean found = false;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>      for (int j = 0; j &lt; tableDescs.length; j++) {<a name="line.97"></a>
+<span class="sourceLineNo">098</span>        if (tableDescs[j].getTableName().equals(tables[i])) {<a name="line.98"></a>
+<span class="sourceLineNo">099</span>          found = true;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>          break;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>        }<a name="line.101"></a>
+<span class="sourceLineNo">102</span>      }<a name="line.102"></a>
+<span class="sourceLineNo">103</span>      assertTrue("Not found: " + tables[i], found);<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    }<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>    TableName[] tableNames = admin.listTableNames().get();<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    size = tableNames.length;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    assertTrue(size == (numTables + tables.length));<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    for (int i = 0; i &lt; tables.length &amp;&amp; i &lt; size; i++) {<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      boolean found = false;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      for (int j = 0; j &lt; tableNames.length; j++) {<a name="line.111"></a>
+<span class="sourceLineNo">112</span>        if (tableNames[j].equals(tables[i])) {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>          found = true;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>          break;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>        }<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      }<a name="line.116"></a>
+<span class="sourceLineNo">117</span>      assertTrue("Not found: " + tables[i], found);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    }<a name="line.118"></a>
+<span class="sourceLineNo">119</span><a name="line.119"></a>
+<span class="sourceLineNo">120</span>    for (int i = 0; i &lt; tables.length; i++) {<a name="line.120"></a>
+<span class="sourceLineNo">121</span>      TEST_UTIL.deleteTable(tables[i]);<a name="line.121"></a>
+<span class="sourceLineNo">122</span>    }<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span>    tableDescs = admin.listTables((Pattern) null, true).get();<a name="line.124"></a>
+<span class="sourceLineNo">125</span>    assertTrue("Not found system tables", tableDescs.length &gt; 0);<a name="line.125"></a>
+<span class="sourceLineNo">126</span>    tableNames = admin.listTableNames((Pattern) null, true).get();<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    assertTrue("Not found system tables", tableNames.length &gt; 0);<a name="line.127"></a>
+<span class="sourceLineNo">128</span>  }<a name="line.128"></a>
+<span class="sourceLineNo">129</span><a name="line.129"></a>
+<span class="sourceLineNo">130</span>  @Test(timeout = 300000)<a name="line.130"></a>
+<span class="sourceLineNo">131</span>  public void testGetTableDescriptor() throws Exception {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    HColumnDescriptor fam1 = new HColumnDescriptor("fam1");<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    HColumnDescriptor fam2 = new HColumnDescriptor("fam2");<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    HColumnDescriptor fam3 = new HColumnDescriptor("fam3");<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    HTableDescriptor htd = new HTableDescriptor(TableName.valueOf(name.getMethodName()));<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    htd.addFamily(fam1);<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    htd.addFamily(fam2);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    htd.addFamily(fam3);<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    admin.createTable(htd).join();<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    TableDescriptor confirmedHtd = admin.getTableDescriptor(htd.getTableName()).get();<a name="line.140"></a>
+<span class="sourceLineNo">141</span>    assertEquals(htd.compareTo(new HTableDescriptor(confirmedHtd)), 0);<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  }<a name="line.142"></a>
+<span class="sourceLineNo">143</span><a name="line.143"></a>
+<span class="sourceLineNo">144</span>  @Test(timeout = 300000)<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  public void testCreateTable() throws Exception {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    TableDescriptor[] tables = admin.listTables().get();<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    int numTables = tables.length;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    final  TableName tableName = TableName.valueOf(name.getMethodName());<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    admin.createTable(new HTableDescriptor(tableName).addFamily(new HColumnDescriptor(FAMILY)))<a name="line.149"></a>
+<span class="sourceLineNo">150</span>        .join();<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    tables = admin.listTables().get();<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    assertEquals(numTables + 1, tables.length);<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    assertTrue("Table must be enabled.", TEST_UTIL.getHBaseCluster().getMaster()<a name="line.153"></a>
+<span class="sourceLineNo">154</span>        .getTableStateManager().isTableState(tableName, TableState.State.ENABLED));<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    assertEquals(TableState.State.ENABLED, getStateFromMeta(tableName));<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>  private TableState.State getStateFromMeta(TableName table) throws Exception {<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    Optional&lt;TableState&gt; state = AsyncMetaTableAccessor.getTableState(<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      ASYNC_CONN.getRawTable(TableName.META_TABLE_NAME), table).get();<a name="line.160"></a>
+<span class="sourceLineNo">161</span>    assertTrue(state.isPresent());<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    return state.get().getState();<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(timeout = 300000)<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public void testCreateTableNumberOfRegions() throws Exception {<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    final TableName tableName = TableName.valueOf(name.getMethodName());<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    HTableDescriptor desc = new HTableDescriptor(tableName);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    desc.addFamily(new HColumnDescriptor(HConstants.CATALOG_FAMILY));<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    admin.createTable(desc).join();<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    List&lt;HRegionLocation&gt; regions;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    try (RegionLocator l = TEST_UTIL.getConnection().getRegionLocator(tableName)) {<a name="line.172"></a>
+<span class="sourceLineNo">173</span>      regions = l.getAllRegionLocations();<a name="line.173"></a>
+<span class="sourceLineNo">174</span>      assertEquals("Table should have only 1 region", 1, regions.size());<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>    final TableName tableName2 = TableName.valueOf(tableName.getNameAsString() + "_2");<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    desc = new HTableDescriptor(tableName2);<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    desc.addFamily(new HColumnDescriptor(HConstants.CATALOG_FAMILY));<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    admin.createTable(desc, new byte[][] { new byte[] { 42 } }).join();<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    try (RegionLocator l = TEST_UTIL.getConnection().getRegionLocator(tableName2)) {<a name="line.181"></a>
+<span class="sourceLineNo">182</span>      regions = l.getAllRegionLocations();<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      assertEquals("Table should have only 2 region", 2, regions.size());<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    }<a name="line.184"></a>
+<span class="sourceLineNo">185</span><a name="line.185"></a>
+<span class="sourceLineNo">186</span>    final TableName tableName3 = TableName.valueOf(tableName.getNameAsString() + "_3");<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    desc = new HTableDescriptor(tableName3);<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    desc.addFamily(new HColumnDescriptor(HConstants.CATALOG_FAMILY));<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    admin.createTable(desc, "a".getBytes(), "z".getBytes(), 3).join();<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    try (RegionLocator l = TEST_UTIL.getConnection().getRegionLocator(tableName3)) {<a name="line.190"></a>
+<span class="sourceLineNo">191</span>      regions = l.getAllRegionLocations();<a name="line.191"></a>
+<span class="sourceLineNo">192</span>      assertEquals("Table should have only 3 region", 3, regions.size());<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>    final TableName tableName4 = TableName.valueOf(tableName.getNameAsString() + "_4");<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    desc = new HTableDescriptor(tableName4);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    desc.addFamily(new HColumnDescriptor(HConstants.CATALOG_FAMILY));<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    try {<a name="line.198"></a>
+<span class="sourceLineNo">199</span>      admin.createTable(desc, "a".getBytes(), "z".getBytes(), 2).join();<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      fail("Should not be able to create a table with only 2 regions using this API.");<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    } catch (CompletionException e) {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>      assertTrue(e.getCause() instanceof IllegalArgumentException);<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    }<a name="line.203"></a>
+<span class="sourceLineNo">204</span><a name="line.204"></a>
+<span class="sourceLineNo">205</span>    final TableName tableName5 = TableName.valueOf(tableName.getNameAsString() + "_5");<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    desc = new HTableDescriptor(tableName5);<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    desc.addFamily(new HColumnDescriptor(HConstants.CATALOG_FAMILY));<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    admin.createTable(desc, new byte[] { 1 }, new byte[] { 127 }, 16).join();<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    try (RegionLocator l = TEST_UTIL.getConnection().getRegionLocator(tableName5)) {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      regions = l.getAllRegionLocations();<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      assertEquals("Table should have 16 region", 16, regions.size());<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><a name="line.214"></a>
+<span class="sourceLineNo">215</span>  @Test(timeout = 300000)<a name="line.215"></a>
+<span class="sourceLineNo">216</span>  public void testCreateTableWithRegions() throws Exception {<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    final TableName tableName = TableName.valueOf(name.getMethodName());<a name="line.217"></a>
+<span class="sourceLineNo">218</span><a name="line.218"></a>
+<span class="sourceLineNo">219</span>    byte[][] splitKeys = { new byte[] { 1, 1, 1 }, new byte[] { 2, 2, 2 }, new byte[] { 3, 3, 3 },<a name="line.219"></a>
+<span class="sourceLineNo">220</span>        new byte[] { 4, 4, 4 }, new byte[] { 5, 5, 5 }, new byte[] { 6, 6, 6 },<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        new byte[] { 7, 7, 7 }, new byte[] { 8, 8, 8 }, new byte[] { 9, 9, 9 }, };<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    int expectedRegions = splitKeys.length + 1;<a name="line.222"></a>
+<span class="sourceLineNo">223</span><a name="line.223"></a>
+<span class="sourceLineNo">224</span>    HTableDescriptor desc = new HTableDescriptor(tableName);<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    desc.addFamily(new HColumnDescriptor(HConstants.CATALOG_FAMILY));<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    admin.createTable(desc, splitKeys).join();<a name="line.226"></a>
+<span class="sourceLineNo">227</span><a name="line.227"></a>
+<span class="sourceLineNo">228</span>    boolean tableAvailable = admin.isTableAvailable(tableName, splitKeys).get();<a name="line.228"></a>
+<span class="sourceLineNo">229</span>    assertTrue("Table should be created with splitKyes + 1 rows in META", tableAvailable);<a name="line.229"></a>
 <span class="sourceLineNo">230</span><a name="line.230"></a>
-<span class="sourceLineNo">231</span>    boolean tableAvailable = admin.isTableAvailable(tableName, splitKeys).get();<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    assertTrue("Table should be created with splitKyes + 1 rows in META", tableAvailable);<a name="line.232"></a>
-<span class="sourceLineNo">233</span><a name="line.233"></a>
-<span class="sourceLineNo">234</span>    List&lt;HRegionLocation&gt; regions;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    Iterator&lt;HRegionLocation&gt; hris;<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    HRegionInfo hri;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    ClusterConnection conn = (ClusterConnection) TEST_UTIL.getConnection();<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    try (RegionLocator l = TEST_UTIL.getConnection().getRegionLocator(tableName)) {<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      regions = l.getAllRegionLocations();<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>      assertEquals(<a name="line.241"></a>
-<span class="sourceLineNo">242</span>        "Tried to create " + expectedRegions + " regions " + "but only found " + regions.size(),<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        expectedRegions, regions.size());<a name="line.243"></a>
-<span class="sourceLineNo">244</span>      System.err.println("Found " + regions.size() + " regions");<a name="line.244"></a>
-<span class="sourceLineNo">245</span><a name="line.245"></a>
-<span class="sourceLineNo">246</span>      hris = regions.iterator();<a name="line.246"></a>
+<span class="sourceLineNo">231</span>    List&lt;HRegionLocation&gt; regions;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    Iterator&lt;HRegionLocation&gt; hris;<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    HRegionInfo hri;<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    ClusterConnection conn = (ClusterConnection) TEST_UTIL.getConnection();<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    try (RegionLocator l = TEST_UTIL.getConnection().getRegionLocator(tableName)) {<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      regions = l.getAllRegionLocations();<a name="line.236"></a>
+<span class="sourceLineNo">237</span><a name="line.237"></a>
+<span class="sourceLineNo">238</span>      assertEquals(<a name="line.238"></a>
+<span class="sourceLineNo">239</span>        "Tried to create " + expectedRegions + " regions " + "but only found " + regions.size(),<a name="line.239"></a>
+<span class="sourceLineNo">240</span>        expectedRegions, regions.size());<a name="line.240"></a>
+<span class="sourceLineNo">241</span>      System.err.println("Found " + regions.size() + " regions");<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>      hris = regions.iterator();<a name="line.243"></a>
+<span class="sourceLineNo">244</span>      hri = hris.next().getRegionInfo();<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      assertTrue(hri.getStartKey() == null || hri.getStartKey().length == 0);<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[0]));<a name="line.246"></a>
 <span class="sourceLineNo">247</span>      hri = hris.next().getRegionInfo();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>      assertTrue(hri.getStartKey() == null || hri.getStartKey().length == 0);<a name="line.248"></a>
-<span class="sourceLineNo">249</span>      assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[0]));<a name="line.249"></a>
+<span class="sourceLineNo">248</span>      assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[0]));<a name="line.248"></a>
+<span class="sourceLineNo">249</span>      assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[1]));<a name="line.249"></a>
 <span class="sourceLineNo">250</span>      hri = hris.next().getRegionInfo();<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[0]));<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[1]));<a name="line.252"></a>
+<span class="sourceLineNo">251</span>      assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[1]));<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[2]));<a name="line.252"></a>
 <span class="sourceLineNo">253</span>      hri = hris.next().getRegionInfo();<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[1]));<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[2]));<a name="line.255"></a>
+<span class="sourceLineNo">254</span>      assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[2]));<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[3]));<a name="line.255"></a>
 <span class="sourceLineNo">256</span>      hri = hris.next().getRegionInfo();<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[2]));<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[3]));<a name="line.258"></a>
+<span class="sourceLineNo">257</span>      assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[3]));<a name="line.257"></a>
+<span class="sourceLineNo">258</span>      assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[4]));<a name="line.258"></a>
 <span class="sourceLineNo">259</span>      hri = hris.next().getRegionInfo();<a name="line.259"></a>
-<span class="sourceLineNo">260</span>      assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[3]));<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[4]));<a name="line.261"></a>
+<span class="sourceLineNo">260</span>      assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[4]));<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[5]));<a name="line.261"></a>
 <span class="sourceLineNo">262</span>      hri = hris.next().getRegionInfo();<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[4]));<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[5]));<a name="line.264"></a>
+<span class="sourceLineNo">263</span>      assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[5]));<a name="line.263"></a>
+<span class="sourceLineNo">264</span>      assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[6]));<a name="line.264"></a>
 <span class="sourceLineNo">265</span>      hri = hris.next().getRegionInfo();<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[5]));<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[6]));<a name="line.267"></a>
+<span class="sourceLineNo">266</span>      assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[6]));<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[7]));<a name="line.267"></a>
 <span class="sourceLineNo">268</span>      hri = hris.next().getRegionInfo();<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[6]));<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[7]));<a name="line.270"></a>
+<span class="sourceLineNo">269</span>      assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[7]));<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[8]));<a name="line.270"></a>
 <span class="sourceLineNo">271</span>      hri = hris.next().getRegionInfo();<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[7]));<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      assertTrue(Bytes.equals(hri.getEndKey(), splitKeys[8]));<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      hri = hris.next().getRegionInfo();<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[8]));<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      assertTrue(hri.getEndKey() == null || hri.getEndKey().length == 0);<a name="line.276"></a>
+<span class="sourceLineNo">272</span>      assertTrue(Bytes.equals(hri.getStartKey(), splitKeys[8]));<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      assertTrue(hri.getEndKey() == null || hri.getEndKey().length == 0);<a name="line.273"></a>
+<span class="sourceLineNo">274</span><a name="line.274"></a>
+<span class="sourceLineNo">275</span>      verifyRoundRobinDistribution(conn, l, expectedRegions);<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>      verifyRoundRobinDistribution(conn, l, expectedRegions);<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>    // Now test using start/end with a number of regions<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>    // Use 80 bit numbers to make sure we aren't limited<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    byte[] startKey = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    byte[] endKey = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 };<a name="line.285"></a>
+<span class="sourceLineNo">278</span>    // Now test using start/end with a number of regions<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>    // Use 80 bit numbers to make sure we aren't limited<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    byte[] startKey = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 };<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    byte[] endKey = { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 };<a name="line.282"></a>
+<span class="sourceLineNo">283</span><a name="line.283"></a>
+<span class="sourceLineNo">284</span>    // Splitting into 10 regions, we expect (null,1) ... (9, null)<a name="line.284"></a>
+<span class="sourceLineNo">285</span>    // with (1,2) (2,3) (3,4) (4,5) (5,6) (6,7) (7,8) (8,9) in the middle<a name="line.285"></a>
 <span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>    // Splitting into 10 regions, we expect (null,1) ... (9, null)<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    // with (1,2) (2,3) (3,4) (4,5) (5,6) (6,7) (7,8) (8,9) in the middle<a name="line.288"></a>
-<span class="sourceLineNo">289</span><a name="line.289"></a>
-<span class="sourceLineNo">290</span>    expectedRegions = 10;<a name="line.290"></a>
-<span class="sourceLineNo">291</span><a name="line.291"></a>
-<span class="sourceLineNo">292</span>    final TableName tableName2 = TableName.valueOf(tableName.getNameAsString() + "_2");<a name="line.292"></a>
-<span class="sourceLineNo">293</span><a name="line.293"></a>
-<span class="sourceLineNo">294</span>    desc = new HTableDescriptor(tableName2);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    desc.addFamily(new HColumnDescriptor(HConstants.CATALOG_FAMILY));<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    admin.createTable(desc, startKey, endKey, expectedRegions).join();<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>    try (RegionLocator l = TEST_UTIL.getConnection().getRegionLocator(tableName2)) {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      regions = l.getAllRegionLocations();<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      assertEquals(<a name="line.300"></a>
-<span class="sourceLineNo">301</span>        "Tried to create " + expectedRegions + " regions " + "but only found " + regions.size(),<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        expectedRegions, regions.size());<a name="line.302"></a>
-<span class="sourceLineNo">303</span>      System.err.println("Found " + regions.size() + " regions");<a name="line.303"></a>
-<span class="sourceLineNo">304</span><a name="line.304"></a>
-<span class="sourceLineNo">305</span>      hris = regions.iterator();<a name="line.305"></a>
+<span class="sourceLineNo">287</span>    expectedRegions = 10;<a name="line.287"></a>
+<span class="sourceLineNo">288</span><a name="line.288"></a>
+<span class="sourceLineNo">289</span>    final TableName tableName2 = TableName.valueOf(tableName.getNameAsString() + "_2");<a name="line.289"></a>
+<span class="sourceLineNo">290</span><a name="line.290"></a>
+<span class="sourceLineNo">291</span>    desc = new HTableDescriptor(tableName2);<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    desc.addFamily(new HColumnDescriptor(HConstants.CATALOG_FAMILY));<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    admin.createTable(desc, startKey, endKey, expectedRegions).join();<a name="line.293"></a>
+<span class="sourceLineNo">294</span><a name="line.294"></a>
+<span class="sourceLineNo">295</span>    try (RegionLocator l = TEST_UTIL.getConnection().getRegionLocator(tableName2)) {<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      regions = l.getAllRegionLocations();<a name="line.296"></a>
+<span class="sourceLineNo">297</span>      assertEquals(<a name="line.297"></a>
+<span class="sourceLineNo">298</span>        "Tried to create " + expectedRegions + " regions " + "but only found " + regions.size(),<a name="line.298"></a>
+<span class="sourceLineNo">299</span>        expectedRegions, regions.size());<a name="line.299"></a>
+<span class="sourceLineNo">300</span>      System.err.println("Found " + regions.size() + " regions");<a name="line.300"></a>
+<span class="sourceLineNo">301</span><a name="line.301"></a>
+<span class="sourceLineNo">302</span>      hris = regions.iterator();<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      hri = hris.next().getRegionInfo();<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      assertTrue(hri.getStartKey() == null || hri.getStartKey().length == 0);<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }));<a name="line.305"></a>
 <span class="sourceLineNo">306</span>      hri = hris.next().getRegionInfo();<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      assertTrue(hri.getStartKey() == null || hri.getStartKey().length == 0);<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }));<a name="line.308"></a>
+<span class="sourceLineNo">307</span>      assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }));<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }));<a name="line.308"></a>
 <span class="sourceLineNo">309</span>      hri = hris.next().getRegionInfo();<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }));<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }));<a name="line.311"></a>
+<span class="sourceLineNo">310</span>      assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }));<a name="line.310"></a>
+<span class="sourceLineNo">311</span>      assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }));<a name="line.311"></a>
 <span class="sourceLineNo">312</span>      hri = hris.next().getRegionInfo();<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 2, 2, 2, 2, 2, 2, 2, 2, 2, 2 }));<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }));<a name="line.314"></a>
+<span class="sourceLineNo">313</span>      assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }));<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }));<a name="line.314"></a>
 <span class="sourceLineNo">315</span>      hri = hris.next().getRegionInfo();<a name="line.315"></a>
-<span class="sourceLineNo">316</span>      assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 3, 3, 3, 3, 3, 3, 3, 3, 3, 3 }));<a name="line.316"></a>
-<span class="sourceLineNo">317</span>      assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }));<a name="line.317"></a>
+<span class="sourceLineNo">316</span>      assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }));<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }));<a name="line.317"></a>
 <span class="sourceLineNo">318</span>      hri = hris.next().getRegionInfo();<a name="line.318"></a>
-<span class="sourceLineNo">319</span>      assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 4, 4, 4, 4, 4, 4, 4, 4, 4, 4 }));<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }));<a name="line.320"></a>
+<span class="sourceLineNo">319</span>      assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }));<a name="line.319"></a>
+<span class="sourceLineNo">320</span>      assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }));<a name="line.320"></a>
 <span class="sourceLineNo">321</span>      hri = hris.next().getRegionInfo();<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 5, 5, 5, 5, 5, 5, 5, 5, 5, 5 }));<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }));<a name="line.323"></a>
+<span class="sourceLineNo">322</span>      assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }));<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 }));<a name="line.323"></a>
 <span class="sourceLineNo">324</span>      hri = hris.next().getRegionInfo();<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 6, 6, 6, 6, 6, 6, 6, 6, 6, 6 }));<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 }));<a name="line.326"></a>
+<span class="sourceLineNo">325</span>      assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 }));<a name="line.325"></a>
+<span class="sourceLineNo">326</span>      assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 }));<a name="line.326"></a>
 <span class="sourceLineNo">327</span>      hri = hris.next().getRegionInfo();<a name="line.327"></a>
-<span class="sourceLineNo">328</span>      assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 7, 7, 7, 7, 7, 7, 7, 7, 7, 7 }));<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 }));<a name="line.329"></a>
+<span class="sourceLineNo">328</span>      assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 }));<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 }));<a name="line.329"></a>
 <span class="sourceLineNo">330</span>      hri = hris.next().getRegionInfo();<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 8, 8, 8, 8, 8, 8, 8, 8, 8, 8 }));<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      assertTrue(Bytes.equals(hri.getEndKey(), new byte[] { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 }));<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      hri = hris.next().getRegionInfo();<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 }));<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      assertTrue(hri.getEndKey() == null || hri.getEndKey().length == 0);<a name="line.335"></a>
+<span class="sourceLineNo">331</span>      assertTrue(Bytes.equals(hri.getStartKey(), new byte[] { 9, 9, 9, 9, 9, 9, 9, 9, 9, 9 }));<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      assertTrue(hri.getEndKey() == null || hri.getEndKey().length == 0);<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span>      verifyRoundRobinDistribution(conn, l, expectedRegions);<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>      verifyRoundRobinDistribution(conn, l, expectedRegions);<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>    // Try once more with something that divides into something infinite<a name="line.340"></a>
+<span class="sourceLineNo">337</span>    // Try once more with something that divides into something infinite<a name="line.337"></a>
+<span class="sourceLineNo">338</span><a name="line.338"></a>
+<span class="sourceLineNo">339</span>    startKey = new byte[] { 0, 0, 0, 0, 0, 0 };<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    endKey = new byte[] { 1, 0, 0, 0, 0, 0 };<a name="line.340"></a>
 <span class="sourceLineNo">341</span><a name="line.341"></a>
-<span class="sourceLineNo">342</span>    startKey = new byte[] { 0, 0, 0, 0, 0, 0 };<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    endKey = new byte[] { 1, 0, 0, 0, 0, 0 };<a name="line.343"></a>
-<span class="sourceLineNo">344</span><a name="line.344"></a>
-<span class="sourceLineNo">345</span>    expectedRegions = 5;<a name="line.345"></a>
-<span class="sourceLineNo">346</span><a name="line.346"></a>
-<span class="sourceLineNo">347</span>    final TableName tableName3 = TableName.valueOf(tableName.getNameAsString() + "_3");<a name="line.347"></a>
-<span class="sourceLineNo">348</span><a name="line.348"></a>
-<span class="sourceLineNo">349</span>    desc = new HTableDescriptor(tableName3);<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    desc.addFamily(new HColumnDescriptor(HConstants.CATALOG_FAMILY));<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    admin.createTable(desc, startKey, endKey, expectedRegions).join();<a name="line.351"></a>
-<span class="sourceLineNo">352</span><a name="line.352"></a>
-<span class="sourceLineNo">353</span>    try (RegionLocator l = TEST_UTIL.getConnection().getRegionLocator(tableName3)) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      regions = l.getAllRegionLocations();<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      assertEquals(<a name="line.355"></a>
-<span class="sourceLineNo">356</span>        "Tried to create " + expectedRegions + " regions " + "but only found " + regions.size(),<a name="line.356"></a>
-<span class="sourceLineNo">357</span>        expectedRegions, regions.size());<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      System.err.println("Found " + regions.size() + " regions");<a name="line.358"></a>
+<span class="sourceLineNo">342</span>    expectedRegions = 5;<a name="line.342"></a>
+<span class="sourceLineNo">343</span><a name="line.343"></a>
+<span class="sourceLineNo">344</span>    final TableName tableName3 = TableName.valueOf(tableName.getNameAsString() + "_3");<a name="line.344"></a>
+<span class="sourceLineNo">345</span><a name="line.345"></a>
+<span class="sourceLineNo">346</span>    desc = new HTableDescriptor(tableName3);<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    desc.addFamily(new HColumnDescriptor(HConstants.CATALOG_FAMILY));<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    admin.createTable(desc, startKey, endKey, expectedRegions).join();<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>    try (RegionLocator l = TEST_UTIL.getConnection().getRegionLocator(tableName3)) {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      regions = l.getAllRegionLocations();<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      assertEquals(<a name="line.352"></a>
+<span class="sourceLineNo">353</span>        "Tried to create " + expectedRegions + " regions " + "but only found " + regions.size(),<a name="line.353"></a>
+<span class="sourceLineNo">354</span>        expectedRegions, regions.size());<a name="line.354"></a>
+<span class="sourceLineNo">355</span>      System.err.println("Found " + regions.size() + " regions");<a name="line.355"></a>
+<span class="sourceLineNo">356</span><a name="line.356"></a>
+<span class="sourceLineNo">357</span>      verifyRoundRobinDistribution(conn, l, expectedRegions);<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>      verifyRoundRobinDistribution(conn, l, expectedRegions);<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    }<a name="line.361"></a>
-<span class="sourceLineNo">362</span><a name="line.362"></a>
-<span class="sourceLineNo">363</span>    // Try an invalid case where there are duplicate split keys<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    splitKeys = new byte[][] { new byte[] { 1, 1, 1 }, new byte[] { 2, 2, 2 },<a name="line.364"></a>
-<span class="sourceLineNo">365</span>        new byte[] { 3, 3, 3 }, new byte[] { 2, 2, 2 } };<a name="line.365"></a>
-<span class="sourceLineNo">366</span><a name="line.366"></a>
-<span class="sourceLineNo">367</span>    final TableName tableName4 = TableName.valueOf(tableName.getNameAsString() + "_4");<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    desc = new HTableDescriptor(tableName4);<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    desc.addFamily(new HColumnDescriptor(HConstants.CATALOG_FAMILY));<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    try {<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      admin.createTable(desc, splitKeys).join();<a name="line.371"></a>
-<span class="sourceLineNo">372</span>      fail("Should not be able to create this table because of " + "duplicate split keys");<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    } catch (CompletionException e) {<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      assertTrue(e.getCause() instanceof IllegalArgumentException);<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    }<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  }<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>  private void verifyRoundRobinDistribution(ClusterConnection c, RegionLocator regionLocator,<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      int expectedRegions) throws IOException {<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    int numRS = c.getCurrentNrHRS();<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    List&lt;HRegionLocation&gt; regions = regionLocator.getAllRegionLocations();<a name="line.381"></a>
-<span class="sourceLineNo">382</span>    Map&lt;ServerName, List&lt;HRegionInfo&gt;&gt; server2Regions = new HashMap&lt;&gt;();<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    regions.stream().forEach((loc) -&gt; {<a name="line.383"></a>
-<span class="sourceLineNo">384</span>      ServerName server = loc.getServerName();<a name="line.384"></a>
-<span class="sourceLineNo">385</span>      server2Regions.computeIfAbsent(server, (s) -&gt; new ArrayList&lt;&gt;()).add(loc.getRegionInfo());<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    });<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    if (numRS &gt;= 2) {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>      // Ignore the master region server,<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      // which contains less regions by intention.<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      numRS--;<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    }<a name="line.391"></a>
-<span class="sourceLineNo">392</span>    float average = (float) expectedRegions / numRS;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    int min = (int) Math.floor(average);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    int max = (int) Math.ceil(average);<a name="line.394"></a>
-<span class="sourceLineNo">395</span>    server2Regions.values().forEach((regionList) -&gt; {<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      assertTrue(regionList.size() == min || regionList.size() == max);<a name="line.396"></a>
-<span class="sourceLineNo">397</span>    });<a name="line.397"></a>
-<span class="sourceLineNo">398</span>  }<a name="line.398"></a>
-<span class="sourceLineNo">399</span><a name="line.399"></a>
-<span class="sourceLineNo">400</span>  @Test(timeout = 300000)<a name="line.400"></a>
-<span class="sourceLineNo">401</span>  public void testCreateTableWithOnlyEmptyStartRow() throws IOException {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>    byte[] tableName = Bytes.toBytes(name.getMethodName());<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    byte[][] splitKeys = new byte[1][];<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    splitKeys[0] = HConstants.EMPTY_BYTE_ARRAY;<a name="line.404"></a>
-<span class="sourceLineNo">405</span>    HTableDescriptor desc = new HTableDescriptor(TableName.valueOf(tableName));<a name="line.405"></a>
-<span class="sourceLineNo">406</span>    desc.addFamily(new HColumnDescriptor("col"));<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    try {<a name="line.407"></a>
-<span class="sourceLineNo">408</span>      admin.createTable(desc, splitKeys).join();<a name="line.408"></a>
-<span class="sourceLineNo">409</span>      fail("Test case should fail as empty split key is passed.");<a name="line.409"></a>
-<span class="sourceLineNo">410</span>    } catch (CompletionException e) {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>      assertTrue(e.getCause() instanceof IllegalArgumentException);<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><a name="line.414"></a>
-<span class="sourceLineNo">415</span>  @Test(timeout = 300000)<a name="line.415"></a>
-<span class="sourceLineNo">416</span>  public void testCreateTableWithEmptyRowInTheSplitKeys() throws IOException {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>    byte[] tableName = Bytes.toBytes(name.getMethodName());<a name="line.417"></a>
-<span class="sourceLineNo">418</span>    byte[][] splitKeys = new byte[3][];<a name="line.418"></a>
-<span class="sourceLineNo">419</span>    splitKeys[0] = "region1".getBytes();<a name="line.419"></a>
-<span class="sourceLineNo">420</span>    splitKeys[1] = HConstants.EMPTY_BYTE_ARRAY;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>    splitKeys[2] = "region2".getBytes();<a name="line.421"></a>
-<span class="sourceLineNo">422</span>    HTableDescriptor desc = new HTableDescriptor(TableName.valueOf(tableName));<a name="line.422"></a>
-<span class="sourceLineNo">423</span>    desc.addFamily(new HColumnDescriptor("col"));<a name="line.423"></a>
-<span class="sourceLineNo">424</span>    try {<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      admin.createTable(desc, splitKeys).join();<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      fail("Test case should fail as empty split key is passed.");<a name="line.426"></a>
-<span class="sourceLineNo">427</span>    } catch (CompletionException e) {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      assertTrue(e.getCause() instanceof IllegalArgumentException);<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><a name="line.431"></a>
-<span class="sourceLineNo">432</span>  @Test(timeout = 300000)<a name="line.432"></a>
-<span class="sourceLineNo">433</span>  public void testDeleteTable() throws Exception {<a name="line.433"></a>
-<span class="sourceLineNo">434</span>    final TableName tableName = TableName.valueOf(name.getMethodName());<a name="line.434"></a>
-<span class="sourceLineNo">435</span>    admin.createTable(new HTableDescriptor(tableName).addFamily(new HColumnDescriptor(FAMILY))).join();<a name="line.435"></a>
-<span class="sourceLineNo">436</span>    assertTrue(admin.tableExists(tableName).get());<a name="line.436"></a>
-<span class="sourceLineNo">437</span>    TEST_UTIL.getAdmin().disableTable(tableName);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    admin.deleteTable(tableName).join();<a name="line.438"></a>
-<span class="sourceLineNo">439</span>    assertFalse(admin.tableExists(tableName).get());<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>  @Test(timeout = 300000)<a name="line.442"></a>
-<span class="sourceLineNo">443</span>  public void testDeleteTables() throws Exception {<a name="line.443"></a>
-<span class="sourceLineNo">444</span>    TableName[] tables = { TableName.valueOf(name.getMethodName() + "1"),<a name="line.444"></a>
-<span class="sourceLineNo">445</span>        TableName.valueOf(name.getMethodName() + "2"), TableName.valueOf(name.getMethodName() + "3") };<a name="line.445"></a>
-<span class="sourceLineNo">446</span>    Arrays.stream(tables).map(HTableDescriptor::new)<a name="line.446"></a>
-<span class="sourceLineNo">447</span>        .map((table) -&gt; table.addFamily(new HColumnDescriptor(FAMILY))).forEach((table) -&gt; {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>          admin.createTable(table).join();<a name="line.448"></a>
-<span class="sourceLineNo">449</span>          admin.tableExists(table.getTableName()).thenAccept((exist) -&gt; assertTrue(exist)).join();<a name="line.449"></a>
-<span class="sourceLineNo">450</span>          try {<a name="line.450"></a>
-<span class="sourceLineNo">451</span>            TEST_UTIL.getAdmin().disableTable(table.getTableName());<a name="line.451"></a>
-<span class="sourceLineNo">452</span>          } catch (Exception e) {<a name="line.452"></a>
-<span class="sourceLineNo">453</span>          }<a name="line.453"></a>
-<span class="sourceLineNo">454</span>        });<a name="line.454"></a>
-<span class="sourceLineNo">455</span>    TableDescriptor[] failed = admin.deleteTables(Pattern.compile("testDeleteTables.*")).get();<a name="line.455"></a>
-<span class="sourceLineNo">456</span>    assertEquals(0, failed.length);<a name="line.456"></a>
-<span class="sourceLineNo">457</span>    Arrays.stream(tables).forEach((table) -&gt; {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      admin.tableExists(table).thenAccept((exist) -&gt; assertFalse(exist)).join();<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    });<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  }<a name="line.460"></a>
-<span class="sourceLineNo">461</span><a name="line.461"></a>
-<span class="sourceLineNo">462</span>  @Test(timeout = 300000)<a name="line.462"></a>
-<span class="sourceLineNo">463</span>  public void testTruncateTable() throws IOException {<a name="line.463"></a>
-<span class="sourceLineNo">464</span>    testTruncateTable(TableName.valueOf(name.getMethodName()), false);<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>  @Test(timeout = 300000)<a name="line.467"></a>
-<span class="sourceLineNo">468</span>  public void testTruncateTablePreservingSplits() throws IOException {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>    testTruncateTable(TableName.valueOf(name.getMethodName()), true);<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>  private void testTruncateTable(final TableName tableName, boolean preserveSplits)<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      throws IOException {<a name="line.473"></a>
-<span class="sourceLineNo">474</span>    byte[][] splitKeys = new byte[2][];<a name="line.474"></a>
-<span class="sourceLineNo">475</span>    splitKeys[0] = Bytes.toBytes(4);<a name="line.475"></a>
-<span class="sourceLineNo">476</span>    splitKeys[1] = Bytes.toBytes(8);<a name="line.476"></a>
-<span class="sourceLineNo">477</span><a name="line.477"></a>
-<span class="sourceLineNo">478</span>    // Create &amp; Fill the table<a name="line.478"></a>
-<span class="sourceLineNo">479</span>    Table table = TEST_UTIL.createTable(tableName, HConstants.CATALOG_FAMILY, splitKeys);<a name="line.479"></a>
-<span class="sourceLineNo">480</span>    try {<a name="line.480"></a>
-<span class="sourceLineNo">481</span>      TEST_UTIL.loadNumericRows(table, HConstants.CATALOG_FAMILY, 0, 10);<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      assertEquals(10, TEST_UTIL.countRows(table));<a name="line.482"></a>
-<span class="sourceLineNo">483</span>    } finally {<a name="line.483"></a>
-<span class="sourceLineNo">484</span>      table.close();<a name="line.484"></a>
-<span class="sourceLineNo">485</span>    }<a name="line.485"></a>
-<span class="sourceLineNo">486</span>    assertEquals(3, TEST_UTIL.getHBaseCluster().getRegions(tableName).size());<a name="line.486"></a>
-<span class="sourceLineNo">487</span><a name="line.487"></a>
-<span class="sourceLineNo">488</span>    // Truncate &amp; Verify<a name="line.488"></a>
-<span class="sourceLineNo">489</span>    TEST_UTIL.getAdmin().disableTable(tableName);<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    admin.truncateTable(tableName, preserveSplits).join();<a name="line.490"></a>
-<span class="sourceLineNo">491</span>    table = TEST_UTIL.getConnection().getTable(tableName);<a name="line.491"></a>
-<span class="sourceLineNo">492</span>    try {<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      assertEquals(0, TEST_UTIL.countRows(table));<a name="line.493"></a>
-<span class="sourceLineNo">494</span>    } finally {<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      table.close();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>    }<a name="line.496"></a>
-<span class="sourceLineNo">497</span>    if (preserveSplits) {<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      assertEquals(3, TEST_UTIL.getHBaseCluster().getRegions(tableName).size());<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    } else {<a name="line.499"></a>
-<span class="sourceLineNo">500</span>      assertEquals(1, TEST_UTIL.getHBaseCluster().getRegions(tableName).size());<a name="line.500"></a>
-<span class="sourceLineNo">501</span>    }<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>  @Test(timeout = 300000)<a name="line.504"></a>
-<span class="sourceLineNo">505</span>  public void testDisableAndEnableTable() throws Exception {<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    final byte[] row = Bytes.toBytes("row");<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    final byte[] qualifier = Bytes.toBytes("qualifier");<a name="line.507"></a>
-<span class="sourceLineNo">508</span>    final byte[] value = Bytes.toBytes("value");<a name="line.508"></a>
-<span class="sourceLineNo">509</span>    final TableName tableName = TableName.valueOf(name.getMethodName());<a name="line.509"></a>
-<span class="sourceLineNo">510</span>    Table ht = TEST_UTIL.createTable(tableName, HConstants.CATALOG_FAMILY);<a name="line.510"></a>
-<span class="sourceLineNo">511</span>    Put put = new Put(row);<a name="line.511"></a>
-<span class="sourceLineNo">512</span>    put.addColumn(HConstants.CATALOG_FAMILY, qualifier, value);<a name="line.512"></a>
-<span class="sourceLineNo">513</span>    ht.put(put);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>    Get get = new Get(row);<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    get.addColumn(HConstants.CATALOG_FAMILY, qualifier);<a name="line.515"></a>
-<span class="sourceLineNo">516</span>    ht.get(get);<a name="line.516"></a>
-<span class="sourceLineNo">517</span><a name="line.517"></a>
-<span class="sourceLineNo">518</span>    this.admin.disableTable(ht.getName()).join();<a name="line.518"></a>
-<span class="sourceLineNo">519</span>    assertTrue("Table must be disabled.", TEST_UTIL.getHBaseCluster().getMaster()<a name="line.519"></a>
-<span class="sourceLineNo">520</span>        .getTableStateManager().isTableState(ht.getName(), TableState.State.DISABLED));<a name="line.520"></a>
-<span class="sourceLineNo">521</span>    assertEquals(TableState.State.DISABLED, getStateFromMeta(tableName));<a name="line.521"></a>
-<span class="sourceLineNo">522</span><a name="line.522"></a>
-<span class="sourceLineNo">523</span>    // Test that table is disabled<a name="line.523"></a>
-<span class="sourceLineNo">524</span>    get = new Get(row);<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    get.addColumn(HConstants.CATALOG_FAMILY, qualifier);<a name="line.525"></a>
-<span class="sourceLineNo">526</span>    boolean ok = false;<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    try {<a name="line.527"></a>
-<span class="sourceLineNo">528</span>      ht.get(get);<a name="line.528"></a>
-<span class="sourceLineNo">529</span>    } catch (TableNotEnabledException e) {<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      ok = true;<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    }<a name="line.531"></a>
-<span class="sourceLineNo">532</span>    ok = false;<a name="line.532"></a>
-<span class="sourceLineNo">533</span>    // verify that scan encounters correct exception<a name="line.533"></a>
-<span class="sourceLineNo">534</span>    Scan scan = new Scan();<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    try {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      ResultScanner scanner = ht.getScanner(scan);<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      Result res = null;<a name="line.537"></a>
-<span class="sourceLineNo">538</span>      do {<a name="line.538"></a>
-<span class="sourceLineNo">539</span>        res = scanner.next();<a name="line.539"></a>
-<span class="sourceLineNo">540</span>      } while (res != null);<a name="line.540"></a>
-<span class="sourceLineNo">541</span>    } catch (TableNotEnabledEx

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html
index 7aeb0fb..f01cf3a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html
@@ -27,3384 +27,3404 @@
 <span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.regionserver;<a name="line.19"></a>
 <span class="sourceLineNo">020</span><a name="line.20"></a>
 <span class="sourceLineNo">021</span>import com.google.common.annotations.VisibleForTesting;<a name="line.21"></a>
-<span class="sourceLineNo">022</span><a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.FileNotFoundException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.io.InterruptedIOException;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.net.BindException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.net.InetSocketAddress;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.net.UnknownHostException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.nio.ByteBuffer;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.*;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Map.Entry;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.concurrent.ConcurrentMap;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.concurrent.atomic.LongAdder;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.commons.lang.mutable.MutableObject;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.commons.logging.Log;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.commons.logging.LogFactory;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.conf.Configuration;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.fs.Path;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.ByteBufferCell;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.Cell;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.CellScannable;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HConstants;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.MultiActionResultTooLarge;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.client.Append;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.client.ConnectionUtils;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.Get;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.Put;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Result;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.exceptions.ScannerResetException;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.ipc.HBaseRPCErrorHandler;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.ipc.PriorityFunction;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.ipc.QosPriority;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.ipc.RpcCallback;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.ipc.RpcServer.BlockingServiceAndInterface;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.ipc.RpcServerFactory;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.ipc.RpcServerInterface;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.ipc.ServerRpcController;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.master.MasterRpcServices;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.quotas.ActivePolicyEnforcement;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.quotas.RegionServerSpaceQuotaManager;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.quotas.SpaceViolationPolicyEnforcement;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.regionserver.handler.OpenPriorityRegionHandler;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.security.Superusers;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.security.User;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.ResponseConverter;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest.RegionOpenInfo;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse.RegionOpeningState;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Condition;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRegionLoadStats;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionAction;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanRequest;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameBytesPair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsRequest;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceViolationPolicy;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.206"></a>
-<span class="sourceLineNo">207</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.210"></a>
-<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.211"></a>
-<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>import org.apache.zookeeper.KeeperException;<a name="line.213"></a>
-<span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>/**<a name="line.215"></a>
-<span class="sourceLineNo">216</span> * Implements the regionserver RPC services.<a name="line.216"></a>
-<span class="sourceLineNo">217</span> */<a name="line.217"></a>
-<span class="sourceLineNo">218</span>@InterfaceAudience.Private<a name="line.218"></a>
-<span class="sourceLineNo">219</span>@SuppressWarnings("deprecation")<a name="line.219"></a>
-<span class="sourceLineNo">220</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    ConfigurationObserver {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.223"></a>
-<span class="sourceLineNo">224</span><a name="line.224"></a>
-<span class="sourceLineNo">225</span>  /** RPC scheduler to use for the region server. */<a name="line.225"></a>
-<span class="sourceLineNo">226</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    "hbase.region.server.rpc.scheduler.factory.class";<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  /**<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  final LongAdder requestCount = new LongAdder();<a name="line.242"></a>
-<span class="sourceLineNo">243</span><a name="line.243"></a>
-<span class="sourceLineNo">244</span>  // Request counter for rpc get<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  final LongAdder rpcGetRequestCount = new LongAdder();<a name="line.245"></a>
-<span class="sourceLineNo">246</span><a name="line.246"></a>
-<span class="sourceLineNo">247</span>  // Request counter for rpc scan<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  final LongAdder rpcScanRequestCount = new LongAdder();<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span>  // Request counter for rpc multi<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  final LongAdder rpcMultiRequestCount = new LongAdder();<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>  // Request counter for rpc mutate<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  final LongAdder rpcMutateRequestCount = new LongAdder();<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  // Server to handle client requests.<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  final RpcServerInterface rpcServer;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  final InetSocketAddress isa;<a name="line.258"></a>
-<span class="sourceLineNo">259</span><a name="line.259"></a>
-<span class="sourceLineNo">260</span>  private final HRegionServer regionServer;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  private final long maxScannerResultSize;<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  // The reference to the priority extraction function<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  private final PriorityFunction priority;<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>  private final ConcurrentMap&lt;String, RegionScannerHolder&gt; scanners = new ConcurrentHashMap&lt;&gt;();<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>   * The lease timeout period for client scanners (milliseconds).<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private final int scannerLeaseTimeoutPeriod;<a name="line.272"></a>
+<span class="sourceLineNo">022</span>import com.google.common.cache.Cache;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import com.google.common.cache.CacheBuilder;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.io.FileNotFoundException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.io.IOException;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.io.InterruptedIOException;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.net.BindException;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.net.InetSocketAddress;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.net.UnknownHostException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.nio.ByteBuffer;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.ArrayList;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.Arrays;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.Collections;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.HashMap;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.Iterator;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.List;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.Map;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.Map.Entry;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.NavigableMap;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import java.util.Set;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import java.util.TreeSet;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import java.util.concurrent.ConcurrentMap;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.TimeUnit;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.atomic.LongAdder;<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.commons.lang.mutable.MutableObject;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.commons.logging.Log;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.commons.logging.LogFactory;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.conf.Configuration;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.fs.Path;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ByteBufferCell;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.Cell;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.CellScannable;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.HConstants;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.MultiActionResultTooLarge;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.ServerName;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.TableName;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.Append;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.ConnectionUtils;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.client.Get;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.client.Put;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.client.Result;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.exceptions.ScannerResetException;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.ipc.HBaseRPCErrorHandler;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.ipc.PriorityFunction;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.ipc.QosPriority;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.ipc.RpcCallback;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.ipc.RpcServer.BlockingServiceAndInterface;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.ipc.RpcServerFactory;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.ipc.RpcServerInterface;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.ipc.ServerRpcController;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.master.MasterRpcServices;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.quotas.ActivePolicyEnforcement;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.quotas.RegionServerSpaceQuotaManager;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.quotas.SpaceViolationPolicyEnforcement;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.regionserver.handler.OpenPriorityRegionHandler;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.security.Superusers;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.security.User;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.ResponseConverter;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesRequest;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesResponse;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeRequest;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeResponse;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoRequest;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoResponse;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileRequest;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileResponse;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest.RegionOpenInfo;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse.RegionOpeningState;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterRequest;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterResponse;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerRequest;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerResponse;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationRequest;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationResponse;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesRequest;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesResponse;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadRequest;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadResponse;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Condition;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetRequest;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetResponse;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRegionLoadStats;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionAction;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanRequest;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameBytesPair;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.204"></a>
+<span class="sourceLineNo">205</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.205"></a>
+<span class="sourceLineNo">206</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsRequest;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader;<a name="line.209"></a>
+<span class="sourceLineNo">210</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.210"></a>
+<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.213"></a>
+<span class="sourceLineNo">214</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.218"></a>
+<span class="sourceLineNo">219</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.220"></a>
+<span class="sourceLineNo">221</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.221"></a>
+<span class="sourceLineNo">222</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.222"></a>
+<span class="sourceLineNo">223</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.223"></a>
+<span class="sourceLineNo">224</span>import org.apache.zookeeper.KeeperException;<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>/**<a name="line.226"></a>
+<span class="sourceLineNo">227</span> * Implements the regionserver RPC services.<a name="line.227"></a>
+<span class="sourceLineNo">228</span> */<a name="line.228"></a>
+<span class="sourceLineNo">229</span>@InterfaceAudience.Private<a name="line.229"></a>
+<span class="sourceLineNo">230</span>@SuppressWarnings("deprecation")<a name="line.230"></a>
+<span class="sourceLineNo">231</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    ConfigurationObserver {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>  /** RPC scheduler to use for the region server. */<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    "hbase.region.server.rpc.scheduler.factory.class";<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>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  /**<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   */<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.250"></a>
+<span class="sourceLineNo">251</span><a name="line.251"></a>
+<span class="sourceLineNo">252</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  final LongAdder requestCount = new LongAdder();<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>  // Request counter for rpc get<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  final LongAdder rpcGetRequestCount = new LongAdder();<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  // Request counter for rpc scan<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  final LongAdder rpcScanRequestCount = new LongAdder();<a name="line.259"></a>
+<span class="sourceLineNo">260</span><a name="line.260"></a>
+<span class="sourceLineNo">261</span>  // Request counter for rpc multi<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  final LongAdder rpcMultiRequestCount = new LongAdder();<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span>  // Request counter for rpc mutate<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  final LongAdder rpcMutateRequestCount = new LongAdder();<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  // Server to handle client requests.<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  final RpcServerInterface rpcServer;<a name="line.268"></a>
+<span class="sourceLineNo">269</span>  final InetSocketAddress isa;<a name="line.269"></a>
+<span class="sourceLineNo">270</span><a name="line.270"></a>
+<span class="sourceLineNo">271</span>  private final HRegionServer regionServer;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  private final long maxScannerResultSize;<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>   * The RPC timeout period (milliseconds)<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   */<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private final int rpcTimeout;<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  /**<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * The minimum allowable delta to use for the scan limit<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   */<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  private final long minimumScanTimeLimitDelta;<a name="line.282"></a>
-<span class="sourceLineNo">283</span><a name="line.283"></a>
-<span class="sourceLineNo">284</span>  final AtomicBoolean clearCompactionQueues = new AtomicBoolean(false);<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>  /**<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   * An Rpc callback for closing a RegionScanner.<a name="line.287"></a>
-<span class="sourceLineNo">288</span>   */<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  private static final class RegionScannerCloseCallBack implements RpcCallback {<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>    private final RegionScanner scanner;<a name="line.291"></a>
+<span class="sourceLineNo">274</span>  // The reference to the priority extraction function<a name="line.274"></a>
+<span class="sourceLineNo">275</span>  private final PriorityFunction priority;<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  private final ConcurrentMap&lt;String, RegionScannerHolder&gt; scanners = new ConcurrentHashMap&lt;&gt;();<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  // Hold the name of a closed scanner for a while. This is used to keep compatible for old clients<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  // which may send next or close request to a region scanner which has already been exhausted. The<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  // entries will be removed automatically after scannerLeaseTimeoutPeriod.<a name="line.281"></a>
+<span class="sourceLineNo">282</span>  private final Cache&lt;String, String&gt; closedScanners;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  /**<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * The lease timeout period for client scanners (milliseconds).<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   */<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  private final int scannerLeaseTimeoutPeriod;<a name="line.286"></a>
+<span class="sourceLineNo">287</span><a name="line.287"></a>
+<span class="sourceLineNo">288</span>  /**<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   * The RPC timeout period (milliseconds)<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   */<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  private final int rpcTimeout;<a name="line.291"></a>
 <span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>    public RegionScannerCloseCallBack(RegionScanner scanner) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      this.scanner = scanner;<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>    @Override<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    public void run() throws IOException {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      this.scanner.close();<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><a name="line.302"></a>
-<span class="sourceLineNo">303</span>  /**<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>    private final String scannerName;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    private final RegionScanner scanner;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    private final Lease lease;<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      this.scannerName = scannerName;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      this.scanner = scanner;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      this.lease = lease;<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>    @Override<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    public void run() throws IOException {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      this.scanner.shipped();<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      if (scanners.containsKey(scannerName)) {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>        if (lease != null) regionServer.leases.addLease(lease);<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      }<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    }<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * completion of multiGets.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;&gt;();<a name="line.334"></a>
-<span class="sourceLineNo">335</span><a name="line.335"></a>
-<span class="sourceLineNo">336</span>    public void addScanner(RegionScanner scanner) {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      this.scanners.add(scanner);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>    @Override<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    public void run() {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      for (RegionScanner scanner : scanners) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>        try {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>          scanner.close();<a name="line.344"></a>
-<span class="sourceLineNo">345</span>        } catch (IOException e) {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>          LOG.error("Exception while closing the scanner " + scanner, e);<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>    }<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>  /**<a name="line.352"></a>
-<span class="sourceLineNo">353</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  private static final class RegionScannerHolder {<a name="line.355"></a>
-<span class="sourceLineNo">356</span><a name="line.356"></a>
-<span class="sourceLineNo">357</span>    private final AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    private final String scannerName;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    private final RegionScanner s;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    private final Region r;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    private final RpcCallback closeCallBack;<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    private final RpcCallback shippedCallback;<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    private byte[] rowOfLastPartialResult;<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>    public RegionScannerHolder(String scannerName, RegionScanner s, Region r,<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        RpcCallback closeCallBack, RpcCallback shippedCallback) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      this.scannerName = scannerName;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      this.s = s;<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      this.r = r;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>      this.closeCallBack = closeCallBack;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      this.shippedCallback = shippedCallback;<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>    public long getNextCallSeq() {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      return nextCallSeq.get();<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    }<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>    public boolean incNextCallSeq(long currentSeq) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      // Use CAS to prevent multiple scan request running on the same scanner.<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      return nextCallSeq.compareAndSet(currentSeq, currentSeq + 1);<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>  }<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>  /**<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   * closed<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   */<a name="line.387"></a>
-<span class="sourceLineNo">388</span>  private class ScannerListener implements LeaseListener {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    private final String scannerName;<a name="line.389"></a>
-<span class="sourceLineNo">390</span><a name="line.390"></a>
-<span class="sourceLineNo">391</span>    ScannerListener(final String n) {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      this.scannerName = n;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    }<a name="line.393"></a>
-<span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>    @Override<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    public void leaseExpired() {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      RegionScannerHolder rsh = scanners.remove(this.scannerName);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>      if (rsh != null) {<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        RegionScanner s = rsh.s;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>        LOG.info("Scanner " + this.scannerName + " lease expired on region "<a name="line.400"></a>
-<span class="sourceLineNo">401</span>          + s.getRegionInfo().getRegionNameAsString());<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        Region region = null;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>        try {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>          region = regionServer.getRegion(s.getRegionInfo().getRegionName());<a name="line.404"></a>
-<span class="sourceLineNo">405</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>            region.getCoprocessorHost().preScannerClose(s);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>          }<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        } catch (IOException e) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>          LOG.error("Closing scanner for " + s.getRegionInfo().getRegionNameAsString(), e);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        } finally {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>          try {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>            s.close();<a name="line.412"></a>
-<span class="sourceLineNo">413</span>            if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>              region.getCoprocessorHost().postScannerClose(s);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>            }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          } catch (IOException e) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>            LOG.error("Closing scanner for " + s.getRegionInfo().getRegionNameAsString(), e);<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>      } else {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>        LOG.warn("Scanner " + this.scannerName + " lease expired, but no related" +<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          " scanner found, hence no chance to close that related scanner!");<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>  }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>  private static ResultOrException getResultOrException(final ClientProtos.Result r,<a name="line.427"></a>
-<span class="sourceLineNo">428</span>                                                        final int index){<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    return getResultOrException(ResponseConverter.buildActionResult(r), index);<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>  private static ResultOrException getResultOrException(final Exception e, final int index) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return getResultOrException(ResponseConverter.buildActionResult(e), index);<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>  private static ResultOrException getResultOrException(<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      final ResultOrException.Builder builder, final int index) {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    return builder.setIndex(index).build();<a name="line.438"></a>
+<span class="sourceLineNo">293</span>  /**<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * The minimum allowable delta to use for the scan limit<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   */<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  private final long minimumScanTimeLimitDelta;<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span>  final AtomicBoolean clearCompactionQueues = new AtomicBoolean(false);<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>   * An Rpc callback for closing a RegionScanner.<a name="line.301"></a>
+<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  private static final class RegionScannerCloseCallBack implements RpcCallback {<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>    private final RegionScanner scanner;<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>    public RegionScannerCloseCallBack(RegionScanner scanner) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      this.scanner = scanner;<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    }<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>    @Override<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    public void run() throws IOException {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      this.scanner.close();<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><a name="line.316"></a>
+<span class="sourceLineNo">317</span>  /**<a name="line.317"></a>
+<span class="sourceLineNo">318</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   */<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.320"></a>
+<span class="sourceLineNo">321</span><a name="line.321"></a>
+<span class="sourceLineNo">322</span>    private final String scannerName;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    private final RegionScanner scanner;<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    private final Lease lease;<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      this.scannerName = scannerName;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>      this.scanner = scanner;<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      this.lease = lease;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    }<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>    @Override<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    public void run() throws IOException {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      this.scanner.shipped();<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.336"></a>
+<span class="sourceLineNo">337</span>      if (scanners.containsKey(scannerName)) {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>        if (lease != null) regionServer.leases.addLease(lease);<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>  }<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>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   * completion of multiGets.<a name="line.345"></a>
+<span class="sourceLineNo">346</span>   */<a name="line.346"></a>
+<span class="sourceLineNo">347</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;&gt;();<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>    public void addScanner(RegionScanner scanner) {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      this.scanners.add(scanner);<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    }<a name="line.352"></a>
+<span class="sourceLineNo">353</span><a name="line.353"></a>
+<span class="sourceLineNo">354</span>    @Override<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    public void run() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      for (RegionScanner scanner : scanners) {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>        try {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>          scanner.close();<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        } catch (IOException e) {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>          LOG.error("Exception while closing the scanner " + scanner, e);<a name="line.360"></a>
+<span class="sourceLineNo">361</span>        }<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      }<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    }<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span>  /**<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   */<a name="line.368"></a>
+<span class="sourceLineNo">369</span>  private static final class RegionScannerHolder {<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    private final AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    private final String scannerName;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    private final RegionScanner s;<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    private final Region r;<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    private final RpcCallback closeCallBack;<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    private final RpcCallback shippedCallback;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    private byte[] rowOfLastPartialResult;<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    public RegionScannerHolder(String scannerName, RegionScanner s, Region r,<a name="line.379"></a>
+<span class="sourceLineNo">380</span>        RpcCallback closeCallBack, RpcCallback shippedCallback) {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>      this.scannerName = scannerName;<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      this.s = s;<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      this.r = r;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      this.closeCallBack = closeCallBack;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>      this.shippedCallback = shippedCallback;<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>    public long getNextCallSeq() {<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      return nextCallSeq.get();<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span>    public boolean incNextCallSeq(long currentSeq) {<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      // Use CAS to prevent multiple scan request running on the same scanner.<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      return nextCallSeq.compareAndSet(currentSeq, currentSeq + 1);<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><a name="line.397"></a>
+<span class="sourceLineNo">398</span>  /**<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.399"

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html
index b363f06..790089d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html
@@ -37,854 +37,810 @@
 <span class="sourceLineNo">029</span>import java.nio.channels.Channels;<a name="line.29"></a>
 <span class="sourceLineNo">030</span>import java.nio.channels.ReadableByteChannel;<a name="line.30"></a>
 <span class="sourceLineNo">031</span>import java.security.GeneralSecurityException;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.security.PrivilegedExceptionAction;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.Properties;<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>import javax.security.sasl.Sasl;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import javax.security.sasl.SaslException;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import javax.security.sasl.SaslServer;<a name="line.37"></a>
-<span class="sourceLineNo">038</span><a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.commons.crypto.cipher.CryptoCipherFactory;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.commons.crypto.random.CryptoRandom;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.commons.crypto.random.CryptoRandomFactory;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.codec.Codec;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.io.ByteBufferOutputStream;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.io.crypto.aes.CryptoAES;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.ipc.RpcServer.CallCleanup;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.nio.SingleByteBuff;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.security.AuthMethod;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslDigestCallbackHandler;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslGssCallbackHandler;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.security.SaslStatus;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.security.SaslUtil;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.security.User;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteInput;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.CodedInputStream;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.MethodDescriptor;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.VersionInfo;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ResponseHeader;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.UserInformation;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.io.BytesWritable;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.io.IntWritable;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.io.Writable;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.io.WritableUtils;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.io.compress.CompressionCodec;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.security.authorize.AuthorizationException;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.security.authorize.ProxyUsers;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.security.token.SecretManager.InvalidToken;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.htrace.TraceInfo;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>/** Reads calls from a connection and queues them for handling. */<a name="line.88"></a>
-<span class="sourceLineNo">089</span>@edu.umd.cs.findbugs.annotations.SuppressWarnings(<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    value="VO_VOLATILE_INCREMENT",<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    justification="False positive according to http://sourceforge.net/p/findbugs/bugs/1032/")<a name="line.91"></a>
-<span class="sourceLineNo">092</span>abstract class ServerRpcConnection implements Closeable {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  /**  */<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  protected final RpcServer rpcServer;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  // If the connection header has been read or not.<a name="line.95"></a>
-<span class="sourceLineNo">096</span>  protected boolean connectionHeaderRead = false;<a name="line.96"></a>
-<span class="sourceLineNo">097</span><a name="line.97"></a>
-<span class="sourceLineNo">098</span>  protected CallCleanup callCleanup;<a name="line.98"></a>
-<span class="sourceLineNo">099</span><a name="line.99"></a>
-<span class="sourceLineNo">100</span>  // Cache the remote host &amp; port info so that even if the socket is<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  // disconnected, we can say where it used to connect to.<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  protected String hostAddress;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  protected int remotePort;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  protected InetAddress addr;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  protected ConnectionHeader connectionHeader;<a name="line.105"></a>
-<span class="sourceLineNo">106</span><a name="line.106"></a>
-<span class="sourceLineNo">107</span>  /**<a name="line.107"></a>
-<span class="sourceLineNo">108</span>   * Codec the client asked use.<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   */<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  protected Codec codec;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  /**<a name="line.111"></a>
-<span class="sourceLineNo">112</span>   * Compression codec the client asked us use.<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   */<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  protected CompressionCodec compressionCodec;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  protected BlockingService service;<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  protected AuthMethod authMethod;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  protected boolean saslContextEstablished;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  protected boolean skipInitialSaslHandshake;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  private ByteBuffer unwrappedData;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  // When is this set? FindBugs wants to know! Says NP<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private ByteBuffer unwrappedDataLengthBuffer = ByteBuffer.allocate(4);<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  protected boolean useSasl;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  protected SaslServer saslServer;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  protected CryptoAES cryptoAES;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  protected boolean useWrap = false;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  protected boolean useCryptoAesWrap = false;<a name="line.127"></a>
+<span class="sourceLineNo">032</span>import java.util.Properties;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.commons.crypto.cipher.CryptoCipherFactory;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.commons.crypto.random.CryptoRandom;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.commons.crypto.random.CryptoRandomFactory;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.codec.Codec;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.io.ByteBufferOutputStream;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.io.crypto.aes.CryptoAES;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.ipc.RpcServer.CallCleanup;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.nio.SingleByteBuff;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.security.AuthMethod;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.security.SaslStatus;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.security.SaslUtil;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.security.User;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteInput;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.CodedInputStream;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.MethodDescriptor;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.VersionInfo;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ResponseHeader;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.UserInformation;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.io.BytesWritable;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.io.IntWritable;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.io.Writable;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.io.WritableUtils;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.io.compress.CompressionCodec;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.security.authorize.AuthorizationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.security.authorize.ProxyUsers;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.security.token.SecretManager.InvalidToken;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.htrace.TraceInfo;<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>/** Reads calls from a connection and queues them for handling. */<a name="line.82"></a>
+<span class="sourceLineNo">083</span>@edu.umd.cs.findbugs.annotations.SuppressWarnings(<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    value="VO_VOLATILE_INCREMENT",<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    justification="False positive according to http://sourceforge.net/p/findbugs/bugs/1032/")<a name="line.85"></a>
+<span class="sourceLineNo">086</span>@InterfaceAudience.Private<a name="line.86"></a>
+<span class="sourceLineNo">087</span>abstract class ServerRpcConnection implements Closeable {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  /**  */<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  protected final RpcServer rpcServer;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  // If the connection header has been read or not.<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  protected boolean connectionHeaderRead = false;<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>  protected CallCleanup callCleanup;<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>  // Cache the remote host &amp; port info so that even if the socket is<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  // disconnected, we can say where it used to connect to.<a name="line.96"></a>
+<span class="sourceLineNo">097</span>  protected String hostAddress;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  protected int remotePort;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  protected InetAddress addr;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>  protected ConnectionHeader connectionHeader;<a name="line.100"></a>
+<span class="sourceLineNo">101</span><a name="line.101"></a>
+<span class="sourceLineNo">102</span>  /**<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * Codec the client asked use.<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   */<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  protected Codec codec;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  /**<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * Compression codec the client asked us use.<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   */<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  protected CompressionCodec compressionCodec;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  protected BlockingService service;<a name="line.110"></a>
+<span class="sourceLineNo">111</span><a name="line.111"></a>
+<span class="sourceLineNo">112</span>  protected AuthMethod authMethod;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  protected boolean saslContextEstablished;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  protected boolean skipInitialSaslHandshake;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  private ByteBuffer unwrappedData;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  // When is this set? FindBugs wants to know! Says NP<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  private ByteBuffer unwrappedDataLengthBuffer = ByteBuffer.allocate(4);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  protected boolean useSasl;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  protected HBaseSaslRpcServer saslServer;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  protected CryptoAES cryptoAES;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>  protected boolean useWrap = false;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>  protected boolean useCryptoAesWrap = false;<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span>  // was authentication allowed with a fallback to simple auth<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  protected boolean authenticatedWithFallback;<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span>  protected boolean retryImmediatelySupported = false;<a name="line.127"></a>
 <span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>  // was authentication allowed with a fallback to simple auth<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  protected boolean authenticatedWithFallback;<a name="line.130"></a>
+<span class="sourceLineNo">129</span>  protected User user = null;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  protected UserGroupInformation ugi = null;<a name="line.130"></a>
 <span class="sourceLineNo">131</span><a name="line.131"></a>
-<span class="sourceLineNo">132</span>  protected boolean retryImmediatelySupported = false;<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  private UserGroupInformation attemptingUser = null; // user name before auth<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  protected User user = null;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  protected UserGroupInformation ugi = null;<a name="line.136"></a>
-<span class="sourceLineNo">137</span><a name="line.137"></a>
-<span class="sourceLineNo">138</span>  public ServerRpcConnection(RpcServer rpcServer) {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    this.rpcServer = rpcServer;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    this.callCleanup = null;<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>  @Override<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public String toString() {<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    return getHostAddress() + ":" + remotePort;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  }<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  public String getHostAddress() {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    return hostAddress;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  }<a name="line.150"></a>
-<span class="sourceLineNo">151</span><a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public InetAddress getHostInetAddress() {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    return addr;<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>  public int getRemotePort() {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    return remotePort;<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>  public VersionInfo getVersionInfo() {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    if (connectionHeader.hasVersionInfo()) {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>      return connectionHeader.getVersionInfo();<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    return null;<a name="line.164"></a>
+<span class="sourceLineNo">132</span>  public ServerRpcConnection(RpcServer rpcServer) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    this.rpcServer = rpcServer;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    this.callCleanup = null;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
+<span class="sourceLineNo">136</span><a name="line.136"></a>
+<span class="sourceLineNo">137</span>  @Override<a name="line.137"></a>
+<span class="sourceLineNo">138</span>  public String toString() {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    return getHostAddress() + ":" + remotePort;<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>  public String getHostAddress() {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    return hostAddress;<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>  public InetAddress getHostInetAddress() {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    return addr;<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>  public int getRemotePort() {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return remotePort;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>  public VersionInfo getVersionInfo() {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    if (connectionHeader.hasVersionInfo()) {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      return connectionHeader.getVersionInfo();<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    }<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    return null;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  }<a name="line.159"></a>
+<span class="sourceLineNo">160</span><a name="line.160"></a>
+<span class="sourceLineNo">161</span>  private String getFatalConnectionString(final int version, final byte authByte) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    return "serverVersion=" + RpcServer.CURRENT_VERSION +<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    ", clientVersion=" + version + ", authMethod=" + authByte +<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    ", authSupported=" + (authMethod != null) + " from " + toString();<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>  protected String getFatalConnectionString(final int version, final byte authByte) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    return "serverVersion=" + RpcServer.CURRENT_VERSION +<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    ", clientVersion=" + version + ", authMethod=" + authByte +<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    ", authSupported=" + (authMethod != null) + " from " + toString();<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>  protected UserGroupInformation getAuthorizedUgi(String authorizedId)<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      throws IOException {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    UserGroupInformation authorizedUgi;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    if (authMethod == AuthMethod.DIGEST) {<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      TokenIdentifier tokenId = HBaseSaslRpcServer.getIdentifier(authorizedId,<a name="line.177"></a>
-<span class="sourceLineNo">178</span>          this.rpcServer.secretManager);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      authorizedUgi = tokenId.getUser();<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      if (authorizedUgi == null) {<a name="line.180"></a>
-<span class="sourceLineNo">181</span>        throw new AccessDeniedException(<a name="line.181"></a>
-<span class="sourceLineNo">182</span>            "Can't retrieve username from tokenIdentifier.");<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      }<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      authorizedUgi.addTokenIdentifier(tokenId);<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    } else {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      authorizedUgi = UserGroupInformation.createRemoteUser(authorizedId);<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    }<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    authorizedUgi.setAuthenticationMethod(authMethod.authenticationMethod.getAuthMethod());<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    return authorizedUgi;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  }<a name="line.190"></a>
-<span class="sourceLineNo">191</span><a name="line.191"></a>
-<span class="sourceLineNo">192</span>  /**<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * Set up cell block codecs<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * @throws FatalConnectionException<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   */<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  protected void setupCellBlockCodecs(final ConnectionHeader header)<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      throws FatalConnectionException {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    // TODO: Plug in other supported decoders.<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    if (!header.hasCellBlockCodecClass()) return;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    String className = header.getCellBlockCodecClass();<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    if (className == null || className.length() == 0) return;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    try {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      this.codec = (Codec)Class.forName(className).newInstance();<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    } catch (Exception e) {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      throw new UnsupportedCellCodecException(className, e);<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    }<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    if (!header.hasCellBlockCompressorClass()) return;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    className = header.getCellBlockCompressorClass();<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    try {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      this.compressionCodec = (CompressionCodec)Class.forName(className).newInstance();<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    } catch (Exception e) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      throw new UnsupportedCompressionCodecException(className, e);<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    }<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  }<a name="line.214"></a>
-<span class="sourceLineNo">215</span><a name="line.215"></a>
-<span class="sourceLineNo">216</span>  /**<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   * Set up cipher for rpc encryption with Apache Commons Crypto<a name="line.217"></a>
-<span class="sourceLineNo">218</span>   *<a name="line.218"></a>
-<span class="sourceLineNo">219</span>   * @throws FatalConnectionException<a name="line.219"></a>
-<span class="sourceLineNo">220</span>   */<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  protected void setupCryptoCipher(final ConnectionHeader header,<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      RPCProtos.ConnectionHeaderResponse.Builder chrBuilder)<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      throws FatalConnectionException {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    // If simple auth, return<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    if (saslServer == null) return;<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    // check if rpc encryption with Crypto AES<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    String qop = (String) saslServer.getNegotiatedProperty(Sasl.QOP);<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    boolean isEncryption = SaslUtil.QualityOfProtection.PRIVACY<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .getSaslQop().equalsIgnoreCase(qop);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    boolean isCryptoAesEncryption = isEncryption &amp;&amp; this.rpcServer.conf.getBoolean(<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        "hbase.rpc.crypto.encryption.aes.enabled", false);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    if (!isCryptoAesEncryption) return;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    if (!header.hasRpcCryptoCipherTransformation()) return;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    String transformation = header.getRpcCryptoCipherTransformation();<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    if (transformation == null || transformation.length() == 0) return;<a name="line.235"></a>
-<span class="sourceLineNo">236</span>     // Negotiates AES based on complete saslServer.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>     // The Crypto metadata need to be encrypted and send to client.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    Properties properties = new Properties();<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    // the property for SecureRandomFactory<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    properties.setProperty(CryptoRandomFactory.CLASSES_KEY,<a name="line.240"></a>
-<span class="sourceLineNo">241</span>        this.rpcServer.conf.get("hbase.crypto.sasl.encryption.aes.crypto.random",<a name="line.241"></a>
-<span class="sourceLineNo">242</span>            "org.apache.commons.crypto.random.JavaCryptoRandom"));<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    // the property for cipher class<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    properties.setProperty(CryptoCipherFactory.CLASSES_KEY,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        this.rpcServer.conf.get("hbase.rpc.crypto.encryption.aes.cipher.class",<a name="line.245"></a>
-<span class="sourceLineNo">246</span>            "org.apache.commons.crypto.cipher.JceCipher"));<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>    int cipherKeyBits = this.rpcServer.conf.getInt(<a name="line.248"></a>
-<span class="sourceLineNo">249</span>        "hbase.rpc.crypto.encryption.aes.cipher.keySizeBits", 128);<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    // generate key and iv<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    if (cipherKeyBits % 8 != 0) {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      throw new IllegalArgumentException("The AES cipher key size in bits" +<a name="line.252"></a>
-<span class="sourceLineNo">253</span>          " should be a multiple of byte");<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    }<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    int len = cipherKeyBits / 8;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    byte[] inKey = new byte[len];<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    byte[] outKey = new byte[len];<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    byte[] inIv = new byte[len];<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    byte[] outIv = new byte[len];<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>    try {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      // generate the cipher meta data with SecureRandom<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      CryptoRandom secureRandom = CryptoRandomFactory.getCryptoRandom(properties);<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      secureRandom.nextBytes(inKey);<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      secureRandom.nextBytes(outKey);<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      secureRandom.nextBytes(inIv);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      secureRandom.nextBytes(outIv);<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>      // create CryptoAES for server<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      cryptoAES = new CryptoAES(transformation, properties,<a name="line.270"></a>
-<span class="sourceLineNo">271</span>          inKey, outKey, inIv, outIv);<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      // create SaslCipherMeta and send to client,<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      //  for client, the [inKey, outKey], [inIv, outIv] should be reversed<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      RPCProtos.CryptoCipherMeta.Builder ccmBuilder = RPCProtos.CryptoCipherMeta.newBuilder();<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      ccmBuilder.setTransformation(transformation);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      ccmBuilder.setInIv(getByteString(outIv));<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      ccmBuilder.setInKey(getByteString(outKey));<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      ccmBuilder.setOutIv(getByteString(inIv));<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      ccmBuilder.setOutKey(getByteString(inKey));<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      chrBuilder.setCryptoCipherMeta(ccmBuilder);<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      useCryptoAesWrap = true;<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    } catch (GeneralSecurityException | IOException ex) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      throw new UnsupportedCryptoException(ex.getMessage(), ex);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    }<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  private ByteString getByteString(byte[] bytes) {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    // return singleton to reduce object allocation<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    return (bytes.length == 0) ? ByteString.EMPTY : ByteString.copyFrom(bytes);<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>  protected UserGroupInformation createUser(ConnectionHeader head) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    UserGroupInformation ugi = null;<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>    if (!head.hasUserInfo()) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      return null;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    UserInformation userInfoProto = head.getUserInfo();<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    String effectiveUser = null;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    if (userInfoProto.hasEffectiveUser()) {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      effectiveUser = userInfoProto.getEffectiveUser();<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    }<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    String realUser = null;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    if (userInfoProto.hasRealUser()) {<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      realUser = userInfoProto.getRealUser();<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    }<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    if (effectiveUser != null) {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      if (realUser != null) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        UserGroupInformation realUserUgi =<a name="line.309"></a>
-<span class="sourceLineNo">310</span>            UserGroupInformation.createRemoteUser(realUser);<a name="line.310"></a>
-<span class="sourceLineNo">311</span>        ugi = UserGroupInformation.createProxyUser(effectiveUser, realUserUgi);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      } else {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>        ugi = UserGroupInformation.createRemoteUser(effectiveUser);<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>    return ugi;<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 void disposeSasl() {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    if (saslServer != null) {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      try {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        saslServer.dispose();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>        saslServer = null;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      } catch (SaslException ignored) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>        // Ignored. This is being disposed of anyway.<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      }<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    }<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>  /**<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * No protobuf encoding of raw sasl messages<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  protected final void doRawSaslReply(SaslStatus status, Writable rv,<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      String errorClass, String error) throws IOException {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    BufferChain bc;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    // In my testing, have noticed that sasl messages are usually<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    // in the ballpark of 100-200. That's why the initial capacity is 256.<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    try (ByteBufferOutputStream saslResponse = new ByteBufferOutputStream(256);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>        DataOutputStream  out = new DataOutputStream(saslResponse)) {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      out.writeInt(status.state); // write status<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      if (status == SaslStatus.SUCCESS) {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>        rv.write(out);<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      } else {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        WritableUtils.writeString(out, errorClass);<a name="line.344"></a>
-<span class="sourceLineNo">345</span>        WritableUtils.writeString(out, error);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      }<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      bc = new BufferChain(saslResponse.getByteBuffer());<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    }<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    doRespond(() -&gt; bc);<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>  public void saslReadAndProcess(ByteBuff saslToken) throws IOException,<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      InterruptedException {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    if (saslContextEstablished) {<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      if (RpcServer.LOG.isTraceEnabled())<a name="line.355"></a>
-<span class="sourceLineNo">356</span>        RpcServer.LOG.trace("Have read input token of size " + saslToken.limit()<a name="line.356"></a>
-<span class="sourceLineNo">357</span>            + " for processing by saslServer.unwrap()");<a name="line.357"></a>
-<span class="sourceLineNo">358</span><a name="line.358"></a>
-<span class="sourceLineNo">359</span>      if (!useWrap) {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        processOneRpc(saslToken);<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      } else {<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        byte[] b = saslToken.hasArray() ? saslToken.array() : saslToken.toBytes();<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        byte [] plaintextData;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        if (useCryptoAesWrap) {<a name="line.364"></a>
-<span class="sourceLineNo">365</span>          // unwrap with CryptoAES<a name="line.365"></a>
-<span class="sourceLineNo">366</span>          plaintextData = cryptoAES.unwrap(b, 0, b.length);<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        } else {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>          plaintextData = saslServer.unwrap(b, 0, b.length);<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        }<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        processUnwrappedData(plaintextData);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      }<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    } else {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      byte[] replyToken;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      try {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        if (saslServer == null) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>          switch (authMethod) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>          case DIGEST:<a name="line.377"></a>
-<span class="sourceLineNo">378</span>            if (this.rpcServer.secretManager == null) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>              throw new AccessDeniedException(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>                  "Server is not configured to do DIGEST authentication.");<a name="line.380"></a>
-<span class="sourceLineNo">381</span>            }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>            saslServer = Sasl.createSaslServer(AuthMethod.DIGEST<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                .getMechanismName(), null, SaslUtil.SASL_DEFAULT_REALM,<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                HBaseSaslRpcServer.getSaslProps(), new SaslDigestCallbackHandler(<a name="line.384"></a>
-<span class="sourceLineNo">385</span>                    this.rpcServer.secretManager, ugi -&gt;  attemptingUser = ugi));<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            break;<a name="line.386"></a>
-<span class="sourceLineNo">387</span>          default:<a name="line.387"></a>
-<span class="sourceLineNo">388</span>            UserGroupInformation current = UserGroupInformation.getCurrentUser();<a name="line.388"></a>
-<span class="sourceLineNo">389</span>            String fullName = current.getUserName();<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            if (RpcServer.LOG.isDebugEnabled()) {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>              RpcServer.LOG.debug("Kerberos principal name is " + fullName);<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>            final String names[] = SaslUtil.splitKerberosName(fullName);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>            if (names.length != 3) {<a name="line.394"></a>
-<span class="sourceLineNo">395</span>              throw new AccessDeniedException(<a name="line.395"></a>
-<span class="sourceLineNo">396</span>                  "Kerberos principal name does NOT have the expected "<a name="line.396"></a>
-<span class="sourceLineNo">397</span>                      + "hostname part: " + fullName);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>            }<a name="line.398"></a>
-<span class="sourceLineNo">399</span>            current.doAs(new PrivilegedExceptionAction&lt;Object&gt;() {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>              @Override<a name="line.400"></a>
-<span class="sourceLineNo">401</span>              public Object run() throws SaslException {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>                saslServer = Sasl.createSaslServer(AuthMethod.KERBEROS<a name="line.402"></a>
-<span class="sourceLineNo">403</span>                    .getMechanismName(), names[0], names[1],<a name="line.403"></a>
-<span class="sourceLineNo">404</span>                    HBaseSaslRpcServer.getSaslProps(), new SaslGssCallbackHandler());<a name="line.404"></a>
-<span class="sourceLineNo">405</span>                return null;<a name="line.405"></a>
-<span class="sourceLineNo">406</span>              }<a name="line.406"></a>
-<span class="sourceLineNo">407</span>            });<a name="line.407"></a>
-<span class="sourceLineNo">408</span>          }<a name="line.408"></a>
-<span class="sourceLineNo">409</span>          if (saslServer == null)<a name="line.409"></a>
-<span class="sourceLineNo">410</span>            throw new AccessDeniedException(<a name="line.410"></a>
-<span class="sourceLineNo">411</span>                "Unable to find SASL server implementation for "<a name="line.411"></a>
-<span class="sourceLineNo">412</span>                    + authMethod.getMechanismName());<a name="line.412"></a>
-<span class="sourceLineNo">413</span>          if (RpcServer.LOG.isDebugEnabled()) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>            RpcServer.LOG.debug("Created SASL server with mechanism = " + authMethod.getMechanismName());<a name="line.414"></a>
-<span class="sourceLineNo">415</span>          }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>        }<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        if (RpcServer.LOG.isDebugEnabled()) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>          RpcServer.LOG.debug("Have read input token of size " + saslToken.limit()<a name="line.418"></a>
-<span class="sourceLineNo">419</span>              + " for processing by saslServer.evaluateResponse()");<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        }<a name="line.420"></a>
-<span class="sourceLineNo">421</span>        replyToken = saslServer<a name="line.421"></a>
-<span class="sourceLineNo">422</span>            .evaluateResponse(saslToken.hasArray() ? saslToken.array() : saslToken.toBytes());<a name="line.422"></a>
-<span class="sourceLineNo">423</span>      } catch (IOException e) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>        IOException sendToClient = e;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>        Throwable cause = e;<a name="line.425"></a>
-<span class="sourceLineNo">426</span>        while (cause != null) {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>          if (cause instanceof InvalidToken) {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>            sendToClient = (InvalidToken) cause;<a name="line.428"></a>
-<span class="sourceLineNo">429</span>            break;<a name="line.429"></a>
-<span class="sourceLineNo">430</span>          }<a name="line.430"></a>
-<span class="sourceLineNo">431</span>          cause = cause.getCause();<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        }<a name="line.432"></a>
-<span class="sourceLineNo">433</span>        doRawSaslReply(SaslStatus.ERROR, null, sendToClient.getClass().getName(),<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          sendToClient.getLocalizedMessage());<a name="line.434"></a>
-<span class="sourceLineNo">435</span>        this.rpcServer.metrics.authenticationFailure();<a name="line.435"></a>
-<span class="sourceLineNo">436</span>        String clientIP = this.toString();<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        // attempting user could be null<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        RpcServer.AUDITLOG.warn(RpcServer.AUTH_FAILED_FOR + clientIP + ":" + attemptingUser);<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        throw e;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      }<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      if (replyToken != null) {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>        if (RpcServer.LOG.isDebugEnabled()) {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>          RpcServer.LOG.debug("Will send token of size " + replyToken.length<a name="line.443"></a>
-<span class="sourceLineNo">444</span>              + " from saslServer.");<a name="line.444"></a>
-<span class="sourceLineNo">445</span>        }<a name="line.445"></a>
-<span class="sourceLineNo">446</span>        doRawSaslReply(SaslStatus.SUCCESS, new BytesWritable(replyToken), null,<a name="line.446"></a>
-<span class="sourceLineNo">447</span>            null);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      }<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      if (saslServer.isComplete()) {<a name="line.449"></a>
-<span class="sourceLineNo">450</span>        String qop = (String) saslServer.getNegotiatedProperty(Sasl.QOP);<a name="line.450"></a>
-<span class="sourceLineNo">451</span>        useWrap = qop != null &amp;&amp; !"auth".equalsIgnoreCase(qop);<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        ugi = getAuthorizedUgi(saslServer.getAuthorizationID());<a name="line.452"></a>
-<span class="sourceLineNo">453</span>        if (RpcServer.LOG.isDebugEnabled()) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>          RpcServer.LOG.debug("SASL server context established. Authenticated client: "<a name="line.454"></a>
-<span class="sourceLineNo">455</span>            + ugi + ". Negotiated QoP is "<a name="line.455"></a>
-<span class="sourceLineNo">456</span>            + saslServer.getNegotiatedProperty(Sasl.QOP));<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        }<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        this.rpcServer.metrics.authenticationSuccess();<a name="line.458"></a>
-<span class="sourceLineNo">459</span>        RpcServer.AUDITLOG.info(RpcServer.AUTH_SUCCESSFUL_FOR + ugi);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>        saslContextEstablished = true;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      }<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    }<a name="line.462"></a>
-<span class="sourceLineNo">463</span>  }<a name="line.463"></a>
-<span class="sourceLineNo">464</span><a name="line.464"></a>
-<span class="sourceLineNo">465</span>  private void processUnwrappedData(byte[] inBuf) throws IOException, InterruptedException {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    ReadableByteChannel ch = Channels.newChannel(new ByteArrayInputStream(inBuf));<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    // Read all RPCs contained in the inBuf, even partial ones<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    while (true) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      int count;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      if (unwrappedDataLengthBuffer.remaining() &gt; 0) {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>        count = this.rpcServer.channelRead(ch, unwrappedDataLengthBuffer);<a name="line.471"></a>
-<span class="sourceLineNo">472</span>        if (count &lt;= 0 || unwrappedDataLengthBuffer.remaining() &gt; 0)<a name="line.472"></a>
-<span class="sourceLineNo">473</span>          return;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      }<a name="line.474"></a>
-<span class="sourceLineNo">475</span><a name="line.475"></a>
-<span class="sourceLineNo">476</span>      if (unwrappedData == null) {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        unwrappedDataLengthBuffer.flip();<a name="line.477"></a>
-<span class="sourceLineNo">478</span>        int unwrappedDataLength = unwrappedDataLengthBuffer.getInt();<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>        if (unwrappedDataLength == RpcClient.PING_CALL_ID) {<a name="line.480"></a>
-<span class="sourceLineNo">481</span>          if (RpcServer.LOG.isDebugEnabled())<a name="line.481"></a>
-<span class="sourceLineNo">482</span>            RpcServer.LOG.debug("Received ping message");<a name="line.482"></a>
-<span class="sourceLineNo">483</span>          unwrappedDataLengthBuffer.clear();<a name="line.483"></a>
-<span class="sourceLineNo">484</span>          continue; // ping message<a name="line.484"></a>
-<span class="sourceLineNo">485</span>        }<a name="line.485"></a>
-<span class="sourceLineNo">486</span>        unwrappedData = ByteBuffer.allocate(unwrappedDataLength);<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      }<a name="line.487"></a>
-<span class="sourceLineNo">488</span><a name="line.488"></a>
-<span class="sourceLineNo">489</span>      count = this.rpcServer.channelRead(ch, unwrappedData);<a name="line.489"></a>
-<span class="sourceLineNo">490</span>      if (count &lt;= 0 || unwrappedData.remaining() &gt; 0)<a name="line.490"></a>
-<span class="sourceLineNo">491</span>        return;<a name="line.491"></a>
-<span class="sourceLineNo">492</span><a name="line.492"></a>
-<span class="sourceLineNo">493</span>      if (unwrappedData.remaining() == 0) {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        unwrappedDataLengthBuffer.clear();<a name="line.494"></a>
-<span class="sourceLineNo">495</span>        unwrappedData.flip();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>        processOneRpc(new SingleByteBuff(unwrappedData));<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        unwrappedData = null;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      }<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    }<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>  public void processOneRpc(ByteBuff buf) throws IOException,<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      InterruptedException {<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    if (connectionHeaderRead) {<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      processRequest(buf);<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    } else {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      processConnectionHeader(buf);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      this.connectionHeaderRead = true;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      if (!authorizeConnection()) {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>        // Throw FatalConnectionException wrapping ACE so client does right thing and closes<a name="line.510"></a>
-<span class="sourceLineNo">511</span>        // down the connection instead of trying to read non-existent retun.<a name="line.511"></a>
-<span class="sourceLineNo">512</span>        throw new AccessDeniedException("Connection from " + this + " for service " +<a name="line.512"></a>
-<span class="sourceLineNo">513</span>          connectionHeader.getServiceName() + " is unauthorized for user: " + ugi);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>      this.user = this.rpcServer.userProvider.create(this.ugi);<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><a name="line.518"></a>
-<span class="sourceLineNo">519</span>  private boolean authorizeConnection() throws IOException {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    try {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      // If auth method is DIGEST, the token was obtained by the<a name="line.521"></a>
-<span class="sourceLineNo">522</span>      // real user for the effective user, therefore not required to<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      // authorize real user. doAs is allowed only for simple or kerberos<a name="line.523"></a>
-<span class="sourceLineNo">524</span>      // authentication<a name="line.524"></a>
-<span class="sourceLineNo">525</span>      if (ugi != null &amp;&amp; ugi.getRealUser() != null<a name="line.525"></a>
-<span class="sourceLineNo">526</span>          &amp;&amp; (authMethod != AuthMethod.DIGEST)) {<a name="line.526"></a>
-<span class="sourceLineNo">527</span>        ProxyUsers.authorize(ugi, this.getHostAddress(), this.rpcServer.conf);<a name="line.527"></a>
-<span class="sourceLineNo">528</span>      }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      this.rpcServer.authorize(ugi, connectionHeader, getHostInetAddress());<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      this.rpcServer.metrics.authorizationSuccess();<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    } catch (AuthorizationException ae) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      if (RpcServer.LOG.isDebugEnabled()) {<a name="line.532"></a>
-<span class="sourceLineNo">533</span>        RpcServer.LOG.debug("Connection authorization failed: " + ae.getMessage(), ae);<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      }<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      this.rpcServer.metrics.authorizationFailure();<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      doRespond(getErrorResponse(ae.getMessage(), new AccessDeniedException(ae)));<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      return false;<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    return true;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>  }<a name="line.540"></a>
-<span class="sourceLineNo">541</span><a name="line.541"></a>
-<span class="sourceLineNo">542</span>  // Reads the connection header following version<a name="line.542"></a>
-<span class="sourceLineNo">543</span>  private void processConnectionHeader(ByteBuff buf) throws IOException {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    if (buf.hasArray()) {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      this.connectionHeader = ConnectionHeader.parseFrom(buf.array());<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    } else {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      CodedInputStream cis = UnsafeByteOperations<a name="line.547"></a>
-<span class="sourceLineNo">548</span>          .unsafeWrap(new ByteBuffByteInput(buf, 0, buf.limit()), 0, buf.limit()).newCodedInput();<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      cis.enableAliasing(true);<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      this.connectionHeader = ConnectionHeader.parseFrom(cis);<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>    String serviceName = connectionHeader.getServiceName();<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    if (serviceName == null) throw new EmptyServiceNameException();<a name="line.553"></a>
-<span class="sourceLineNo">554</span>    this.service = RpcServer.getService(this.rpcServer.services, serviceName);<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    if (this.service == null) throw new UnknownServiceException(serviceName);<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    setupCellBlockCodecs(this.connectionHeader);<a name="line.556"></a>
-<span class="sourceLineNo">557</span>    RPCProtos.ConnectionHeaderResponse.Builder chrBuilder =<a name="line.557"></a>
-<span class="sourceLineNo">558</span>        RPCProtos.ConnectionHeaderResponse.newBuilder();<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    setupCryptoCipher(this.connectionHeader, chrBuilder);<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    responseConnectionHeader(chrBuilder);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    UserGroupInformation protocolUser = createUser(connectionHeader);<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    if (!useSasl) {<a name="line.562"></a>
-<span class="sourceLineNo">563</span>      ugi = protocolUser;<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      if (ugi != null) {<a name="line.564"></a>
-<span class="sourceLineNo">565</span>        ugi.setAuthenticationMethod(AuthMethod.SIMPLE.authenticationMethod);<a name="line.565"></a>
-<span class="sourceLineNo">566</span>      }<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      // audit logging for SASL authenticated users happens in saslReadAndProcess()<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      if (authenticatedWithFallback) {<a name="line.568"></a>
-<span class="sourceLineNo">569</span>        RpcServer.LOG.warn("Allowed fallback to SIMPLE auth for " + ugi<a name="line.569"></a>
-<span class="sourceLineNo">570</span>            + " connecting from " + getHostAddress());<a name="line.570"></a>
-<span class="sourceLineNo">571</span>      }<a name="line.571"></a>
-<span class="sourceLineNo">572</span>      RpcServer.AUDITLOG.info(RpcServer.AUTH_SUCCESSFUL_FOR + ugi);<a name="line.572"></a>
-<span class="sourceLineNo">573</span>    } else {<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      // user is authenticated<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      ugi.setAuthenticationMethod(authMethod.authenticationMethod);<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      //Now we check if this is a proxy user case. If the protocol user is<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      //different from the 'user', it is a proxy user scenario. However,<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      //this is not allowed if user authenticated with DIGEST.<a name="line.578"></a>
-<span class="sourceLineNo">579</span>      if ((protocolUser != null)<a name="line.579"></a>
-<span class="sourceLineNo">580</span>          &amp;&amp; (!protocolUser.getUserName().equals(ugi.getUserName()))) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        if (authMethod == AuthMethod.DIGEST) {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          // Not allowed to doAs if token authentication is used<a name="line.582"></a>
-<span class="sourceLineNo">583</span>          throw new AccessDeniedException("Authenticated user (" + ugi<a name="line.583"></a>
-<span class="sourceLineNo">584</span>              + ") doesn't match what the client claims to be ("<a name="line.584"></a>
-<span class="sourceLineNo">585</span>              + protocolUser + ")");<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        } else {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>          // Effective user can be different from authenticated user<a name="line.587"></a>
-<span class="sourceLineNo">588</span>          // for simple auth or kerberos auth<a name="line.588"></a>
-<span class="sourceLineNo">589</span>          // The user is the real user. Now we create a proxy user<a name="line.589"></a>
-<span class="sourceLineNo">590</span>          UserGroupInformation realUser = ugi;<a name="line.590"></a>
-<span class="sourceLineNo">591</span>          ugi = UserGroupInformation.createProxyUser(protocolUser<a name="line.591"></a>
-<span class="sourceLineNo">592</span>              .getUserName(), realUser);<a name="line.592"></a>
-<span class="sourceLineNo">593</span>          // Now the user is a proxy user, set Authentication method Proxy.<a name="line.593"></a>
-<span class="sourceLineNo">594</span>          ugi.setAuthenticationMethod(AuthenticationMethod.PROXY);<a name="line.594"></a>
-<span class="sourceLineNo">595</span>        }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      }<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    }<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    if (connectionHeader.hasVersionInfo()) {<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      // see if this connection will support RetryImmediatelyException<a name="line.599"></a>
-<span class="sourceLineNo">600</span>      retryImmediatelySupported = VersionInfoUtil.hasMinimumVersion(getVersionInfo(), 1, 2);<a name="line.600"></a>
-<span class="sourceLineNo">601</span><a name="line.601"></a>
-<span class="sourceLineNo">602</span>      RpcServer.AUDITLOG.info("Connection from " + this.hostAddress + " port: " + this.remotePort<a name="line.602"></a>
-<span class="sourceLineNo">603</span>          + " with version info: "<a name="line.603"></a>
-<span class="sourceLineNo">604</span>          + TextFormat.shortDebugString(connectionHeader.getVersionInfo()));<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    } else {<a name="line.605"></a>
-<span class="sourceLineNo">606</span>      RpcServer.AUDITLOG.info("Connection from " + this.hostAddress + " port: " + this.remotePort<a name="line.606"></a>
-<span class="sourceLineNo">607</span>          + " with unknown version info");<a name="line.607"></a>
-<span class="sourceLineNo">608</span>    }<a name="line.608"></a>
-<span class="sourceLineNo">609</span>  }<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>   * Send the response for connection header<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   */<a name="line.613"></a>
-<span class="sourceLineNo">614</span>  private void responseConnectionHeader(RPCProtos.ConnectionHeaderResponse.Builder chrBuilder)<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      throws FatalConnectionException {<a name="line.615"></a>
-<span class="sourceLineNo">616</span>    // Response the connection header if Crypto AES is enabled<a name="line.616"></a>
-<span class="sourceLineNo">617</span>    if (!chrBuilder.hasCryptoCipherMeta()) return;<a name="line.617"></a>
-<span class="sourceLineNo">618</span>    try {<a name="line.618"></a>
-<span class="sourceLineNo">619</span>      byte[] connectionHeaderResBytes = chrBuilder.build().toByteArray();<a name="line.619"></a>
-<span class="sourceLineNo">620</span>      // encrypt the Crypto AES cipher meta data with sasl server, and send to client<a name="line.620"></a>
-<span class="sourceLineNo">621</span>      byte[] unwrapped = new byte[connectionHeaderResBytes.length + 4];<a name="line.621"></a>
-<span class="sourceLineNo">622</span>      Bytes.putBytes(unwrapped, 0, Bytes.toBytes(connectionHeaderResBytes.length), 0, 4);<a name="line.622"></a>
-<span class="sourceLineNo">623</span>      Bytes.putBytes(unwrapped, 4, connectionHeaderResBytes, 0, connectionHeaderResBytes.length);<a name="line.623"></a>
-<span class="sourceLineNo">624</span>      byte[] wrapped = saslServer.wrap(unwrapped, 0, unwrapped.length);<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      BufferChain bc;<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      try (ByteBufferOutputStream response = new ByteBufferOutputStream(wrapped.length + 4);<a name="line.626"></a>
-<span class="sourceLineNo">627</span>          DataOutputStream out = new DataOutputStream(response)) {<a name="line.627"></a>
-<span class="sourceLineNo">628</span>        out.writeInt(wrapped.length);<a name="line.628"></a>
-<span class="sourceLineNo">629</span>        out.write(wrapped);<a name="line.629"></a>
-<span class="sourceLineNo">630</span>        bc = new BufferChain(response.getByteBuffer());<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      }<a name="line.631"></a>
-<span class="sourceLineNo">632</span>      doRespond(() -&gt; bc);<a name="line.632"></a>
-<span class="sourceLineNo">633</span>    } catch (IOException ex) {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      throw new UnsupportedCryptoException(ex.getMessage(), ex);<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><a name="line.637"></a>
-<span class="sourceLineNo">638</span>  protected abstract void doRespond(RpcResponse resp) throws IOException;<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>   * @param buf<a name="line.641"></a>
-<span class="sourceLineNo">642</span>   *          Has the request header and the request param and optionally<a name="line.642"></a>
-<span class="sourceLineNo">643</span>   *          encoded data buffer all in this one array.<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * @throws IOException<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * @throws InterruptedException<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  protected void processRequest(ByteBuff buf) throws IOException,<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      InterruptedException {<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    long totalRequestSize = buf.limit();<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    int offset = 0;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    // Here we read in the header. We avoid having pb<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    // do its default 4k allocation for CodedInputStream. We force it to use<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    // backing array.<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    CodedInputStream cis;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    if (buf.hasArray()) {<a name="line.655"></a>
-<span class="sourceLineNo">656</span>      cis = UnsafeByteOperations.unsafeWrap(buf.array(), 0, buf.limit()).newCodedInput();<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    } else {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>      cis = UnsafeByteOperations<a name="line.658"></a>
-<span class="sourceLineNo">659</span>          .unsafeWrap(new ByteBuffByteInput(buf, 0, buf.limit()), 0, buf.limit()).newCodedInput();<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    }<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    cis.enableAliasing(true);<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    int headerSize = cis.readRawVarint32();<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    offset = cis.getTotalBytesRead();<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    Message.Builder builder = RequestHeader.newBuilder();<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    ProtobufUtil.mergeFrom(builder, cis, headerSize);<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    RequestHeader header = (RequestHeader) builder.build();<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    offset += headerSize;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    int id = header.getCallId();<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    if (RpcServer.LOG.isTraceEnabled()) {<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      RpcServer.LOG.trace("RequestHeader " + TextFormat.shortDebugString(header)<a name="line.670"></a>
-<span class="sourceLineNo">671</span>          + " totalRequestSize: " + totalRequestSize + " bytes");<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>    // Enforcing the call queue size, this triggers a retry in the client<a name="line.673"></a>
-<span class="sourceLineNo">674</span>    // This is a bit late to be doing this check - we have already read in the<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    // total request.<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    if ((totalRequestSize +<a name="line.676"></a>
-<span class="sourceLineNo">677</span>        this.rpcServer.callQueueSizeInBytes.sum()) &gt; this.rpcServer.maxQueueSizeInBytes) {<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      final ServerCall&lt;?&gt; callTooBig = createCall(id, this.service, null, null, null, null,<a name="line.678"></a>
-<span class="sourceLineNo">679</span>        totalRequestSize, null, null, 0, this.callCleanup);<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      this.rpcServer.metrics.exception(RpcServer.CALL_QUEUE_TOO_BIG_EXCEPTION);<a name="line.680"></a>
-<span class="sourceLineNo">681</span>      callTooBig.setResponse(null, null,  RpcServer.CALL_QUEUE_TOO_BIG_EXCEPTION,<a name="line.681"></a>
-<span class="sourceLineNo">682</span>        "Call queue is full on " + this.rpcServer.server.getServerName() +<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        ", is hbase.ipc.server.max.callqueue.size too small?");<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      callTooBig.sendResponseIfReady();<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      return;<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    }<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    MethodDescriptor md = null;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>    Message param = null;<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    CellScanner cellScanner = null;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>    try {<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      if (header.hasRequestParam() &amp;&amp; header.getRequestParam()) {<a name="line.691"></a>
-<span class="sourceLineNo">692</span>        md = this.service.getDescriptorForType().findMethodByName(<a name="line.692"></a>
-<span class="sourceLineNo">693</span>            header.getMethodName());<a name="line.693"></a>
-<span class="sourceLineNo">694</span>        if (md == null)<a name="line.694"></a>
-<span class="sourceLineNo">695</span>          throw new UnsupportedOperationException(header.getMethodName());<a name="line.695"></a>
-<span class="sourceLineNo">696</span>        builder = this.service.getRequestPrototype(md).newBuilderForType();<a name="line.696"></a>
-<span class="sourceLineNo">697</span>        cis.resetSizeCounter();<a name="line.697"></a>
-<span class="sourceLineNo">698</span>        int paramSize = cis.readRawVarint32();<a name="line.698"></a>
-<span class="sourceLineNo">699</span>        offset += cis.getTotalBytesRead();<a name="line.699"></a>
-<span class="sourceLineNo">700</span>        if (builder != null) {<a name="line.700"></a>
-<span class="sourceLineNo">701</span>          ProtobufUtil.mergeFrom(builder, cis, paramSize);<a name="line.701"></a>
-<span class="sourceLineNo">702</span>          param = builder.build();<a name="line.702"></a>
-<span class="sourceLineNo">703</span>        }<a name="line.703"></a>
-<span class="sourceLineNo">704</span>        offset += paramSize;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      } else {<a name="line.705"></a>
-<span class="sourceLineNo">706</span>        // currently header must have request param, so we directly throw<a name="line.706"></a>
-<span class="sourceLineNo">707</span>        // exception here<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        String msg = "Invalid request header: "<a name="line.708"></a>
-<span class="sourceLineNo">709</span>            + TextFormat.shortDebugString(header)<a name="line.709"></a>
-<span class="sourceLineNo">710</span>            + ", should have param set in it";<a name="line.710"></a>
-<span class="sourceLineNo">711</span>        RpcServer.LOG.warn(msg);<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        throw new DoNotRetryIOException(msg);<a name="line.712"></a>
-<span class="sourceLineNo">713</span>      }<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      if (header.hasCellBlockMeta()) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>        buf.position(offset);<a name="line.715"></a>
-<span class="sourceLineNo">716</span>        ByteBuff dup = buf.duplicate();<a name="line.716"></a>
-<span class="sourceLineNo">717</span>        dup.limit(offset + header.getCellBlockMeta().getLength());<a name="line.717"></a>
-<span class="sourceLineNo">718</span>        cellScanner = this.rpcServer.cellBlockBuilder.createCellScannerReusingBuffers(<a name="line.718"></a>
-<span class="sourceLineNo">719</span>            this.codec, this.compressionCodec, dup);<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      }<a name="line.720"></a>
-<span class="sourceLineNo">721</span>    } catch (Throwable t) {<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      InetSocketAddress address = this.rpcServer.getListenerAddress();<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      String msg = (address != null ? address : "(channel closed)")<a name="line.723"></a>
-<span class="sourceLineNo">724</span>          + " is unable to read call parameter from client "<a name="line.724"></a>
-<span class="sourceLineNo">725</span>          + getHostAddress();<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      RpcServer.LOG.warn(msg, t);<a name="line.726"></a>
-<span class="sourceLineNo">727</span><a name="line.727"></a>
-<span class="sourceLineNo">728</span>      this.rpcServer.metrics.exception(t);<a name="line.728"></a>
-<span class="sourceLineNo">729</span><a name="line.729"></a>
-<span class="sourceLineNo">730</span>      // probably the hbase hadoop version does not match the running hadoop<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      // version<a name="line.731"></a>
-<span class="sourceLineNo">732</span>      if (t instanceof LinkageError) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>        t = new DoNotRetryIOException(t);<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      }<a name="line.734"></a>
-<span class="sourceLineNo">735</span>      // If the method is not present on the server, do not retry.<a name="line.735"></a>
-<span class="sourceLineNo">736</span>      if (t instanceof UnsupportedOperationException) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>        t = new DoNotRetryIOException(t);<a name="line.737"></a>
-<span class="sourceLineNo">738</span>      }<a name="line.738"></a>
-<span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span>      ServerCall&lt;?&gt; readParamsFailedCall = createCall(id, this.service, null, null, null, null,<a name="line.740"></a>
-<span class="sourceLineNo">741</span>        totalRequestSize, null, null, 0, this.callCleanup);<a name="line.741"></a>
-<span class="sourceLineNo">742</span>      readParamsFailedCall.setResponse(null, null, t, msg + "; " + t.getMessage());<a name="line.742"></a>
-<span class="sourceLineNo">743</span>      readParamsFailedCall.sendResponseIfReady();<a name="line.743"></a>
-<span class="sourceLineNo">744</span>      return;<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>    TraceInfo traceInfo = header.hasTraceInfo() ? new TraceInfo(header<a name="line.747"></a>
-<span class="sourceLineNo">748</span>        .getTraceInfo().getTraceId(), header.getTraceInfo().getParentId())<a name="line.748"></a>
-<span class="sourceLineNo">749</span>        : null;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    int timeout = 0;<a name="line.750"></a>
-<span class="sourceLineNo">751</span>    if (header.hasTimeout() &amp;&amp; header.getTimeout() &gt; 0) {<a name="line.751"></a>
-<span class="sourceLineNo">752</span>      timeout = Math.max(this.rpcServer.minClientRequestTimeout, header.getTimeout());<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    }<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    ServerCall&lt;?&gt; call = createCall(id, this.service, md, header, param, cellScanner, totalRequestSize,<a name="line.754"></a>
-<span class="sourceLineNo">755</span>      traceInfo, this.addr, timeout, this.callCleanup);<a name="line.755"></a>
-<span class="sourceLineNo">756</span><a name="line.756"></a>
-<span class="sourceLineNo">757</span>    if (!this.rpcServer.scheduler.dispatch(new CallRunner(this.rpcServer, call))) {<a name="line.757"></a>
-<span class="sourceLineNo">758</span>      this.rpcServer.callQueueSizeInBytes.add(-1 * call.getSize());<a name="line.758"></a>
-<span class="sourceLineNo">759</span>      this.rpcServer.metrics.exception(RpcServer.CALL_QUEUE_TOO_BIG_EXCEPTION);<a name="line.759"></a>
-<span class="sourceLineNo">760</span>      call.setResponse(null, null, RpcServer.CALL_QUEUE_TOO_BIG_EXCEPTION,<a name="line.760"></a>
-<span class="

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html
index bd86a22..d60f295 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncReplicationAdminApi.html
@@ -25,403 +25,407 @@
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
 <span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.client;<a name="line.18"></a>
 <span class="sourceLineNo">019</span><a name="line.19"></a>
-<span class="sourceLineNo">020</span>import static org.junit.Assert.assertEquals;<a name="line.20"></a>
-<span class="sourceLineNo">021</span>import static org.junit.Assert.assertFalse;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import static org.junit.Assert.assertNotNull;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import static org.junit.Assert.assertNull;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import static org.junit.Assert.assertTrue;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import static org.junit.Assert.fail;<a name="line.25"></a>
-<span class="sourceLineNo">026</span><a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.util.ArrayList;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.util.HashMap;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.util.HashSet;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.List;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Map;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.Set;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.concurrent.CompletionException;<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>import org.apache.hadoop.hbase.HConstants;<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.replication.ReplicationException;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.testclassification.ClientTests;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.junit.BeforeClass;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.junit.Rule;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.junit.Test;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.junit.experimental.categories.Category;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.junit.rules.TestName;<a name="line.46"></a>
-<span class="sourceLineNo">047</span><a name="line.47"></a>
-<span class="sourceLineNo">048</span>/**<a name="line.48"></a>
-<span class="sourceLineNo">049</span> * Class to test asynchronous replication admin operations.<a name="line.49"></a>
-<span class="sourceLineNo">050</span> */<a name="line.50"></a>
-<span class="sourceLineNo">051</span>@Category({MediumTests.class, ClientTests.class})<a name="line.51"></a>
-<span class="sourceLineNo">052</span>public class TestAsyncReplicationAdminApi extends TestAsyncAdminBase {<a name="line.52"></a>
-<span class="sourceLineNo">053</span><a name="line.53"></a>
-<span class="sourceLineNo">054</span>  private final String ID_ONE = "1";<a name="line.54"></a>
-<span class="sourceLineNo">055</span>  private final String KEY_ONE = "127.0.0.1:2181:/hbase";<a name="line.55"></a>
-<span class="sourceLineNo">056</span>  private final String ID_SECOND = "2";<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  private final String KEY_SECOND = "127.0.0.1:2181:/hbase2";<a name="line.57"></a>
-<span class="sourceLineNo">058</span><a name="line.58"></a>
-<span class="sourceLineNo">059</span>  @Rule<a name="line.59"></a>
-<span class="sourceLineNo">060</span>  public TestName name = new TestName();<a name="line.60"></a>
-<span class="sourceLineNo">061</span><a name="line.61"></a>
-<span class="sourceLineNo">062</span>  @BeforeClass<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  public static void setUpBeforeClass() throws Exception {<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 1);<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    TEST_UTIL.startMiniCluster();<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    ASYNC_CONN = ConnectionFactory.createAsyncConnection(TEST_UTIL.getConfiguration()).get();<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  }<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  @Test<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  public void testAddRemovePeer() throws Exception {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    ReplicationPeerConfig rpc1 = new ReplicationPeerConfig();<a name="line.71"></a>
-<span class="sourceLineNo">072</span>    rpc1.setClusterKey(KEY_ONE);<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    ReplicationPeerConfig rpc2 = new ReplicationPeerConfig();<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    rpc2.setClusterKey(KEY_SECOND);<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    // Add a valid peer<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    admin.addReplicationPeer(ID_ONE, rpc1).join();<a name="line.76"></a>
-<span class="sourceLineNo">077</span>    // try adding the same (fails)<a name="line.77"></a>
-<span class="sourceLineNo">078</span>    try {<a name="line.78"></a>
-<span class="sourceLineNo">079</span>      admin.addReplicationPeer(ID_ONE, rpc1).join();<a name="line.79"></a>
-<span class="sourceLineNo">080</span>      fail("Test case should fail as adding a same peer.");<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    } catch (CompletionException e) {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      // OK!<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    }<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    assertEquals(1, admin.listReplicationPeers().get().size());<a name="line.84"></a>
-<span class="sourceLineNo">085</span>    // Try to remove an inexisting peer<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    try {<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      admin.removeReplicationPeer(ID_SECOND).join();<a name="line.87"></a>
-<span class="sourceLineNo">088</span>      fail("Test case should fail as removing a inexisting peer.");<a name="line.88"></a>
-<span class="sourceLineNo">089</span>    } catch (CompletionException e) {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      // OK!<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    }<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    assertEquals(1, admin.listReplicationPeers().get().size());<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    // Add a second since multi-slave is supported<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    admin.addReplicationPeer(ID_SECOND, rpc2).join();<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    assertEquals(2, admin.listReplicationPeers().get().size());<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    // Remove the first peer we added<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    admin.removeReplicationPeer(ID_ONE).join();<a name="line.97"></a>
-<span class="sourceLineNo">098</span>    assertEquals(1, admin.listReplicationPeers().get().size());<a name="line.98"></a>
-<span class="sourceLineNo">099</span>    admin.removeReplicationPeer(ID_SECOND).join();<a name="line.99"></a>
-<span class="sourceLineNo">100</span>    assertEquals(0, admin.listReplicationPeers().get().size());<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  }<a name="line.101"></a>
-<span class="sourceLineNo">102</span><a name="line.102"></a>
-<span class="sourceLineNo">103</span>  @Test<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  public void testPeerConfig() throws Exception {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    ReplicationPeerConfig config = new ReplicationPeerConfig();<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    config.setClusterKey(KEY_ONE);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    config.getConfiguration().put("key1", "value1");<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    config.getConfiguration().put("key2", "value2");<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    admin.addReplicationPeer(ID_ONE, config).join();<a name="line.109"></a>
-<span class="sourceLineNo">110</span><a name="line.110"></a>
-<span class="sourceLineNo">111</span>    List&lt;ReplicationPeerDescription&gt; peers = admin.listReplicationPeers().get();<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    assertEquals(1, peers.size());<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    ReplicationPeerDescription peerOne = peers.get(0);<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    assertNotNull(peerOne);<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    assertEquals("value1", peerOne.getPeerConfig().getConfiguration().get("key1"));<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    assertEquals("value2", peerOne.getPeerConfig().getConfiguration().get("key2"));<a name="line.116"></a>
-<span class="sourceLineNo">117</span><a name="line.117"></a>
-<span class="sourceLineNo">118</span>    admin.removeReplicationPeer(ID_ONE).join();<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  }<a name="line.119"></a>
-<span class="sourceLineNo">120</span><a name="line.120"></a>
-<span class="sourceLineNo">121</span>  @Test<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  public void testEnableDisablePeer() throws Exception {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    ReplicationPeerConfig rpc1 = new ReplicationPeerConfig();<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    rpc1.setClusterKey(KEY_ONE);<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    admin.addReplicationPeer(ID_ONE, rpc1).join();<a name="line.125"></a>
-<span class="sourceLineNo">126</span>    List&lt;ReplicationPeerDescription&gt; peers = admin.listReplicationPeers().get();<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    assertEquals(1, peers.size());<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    assertTrue(peers.get(0).isEnabled());<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>    admin.disableReplicationPeer(ID_ONE).join();<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    peers = admin.listReplicationPeers().get();<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    assertEquals(1, peers.size());<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    assertFalse(peers.get(0).isEnabled());<a name="line.133"></a>
-<span class="sourceLineNo">134</span>    admin.removeReplicationPeer(ID_ONE).join();<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>  @Test<a name="line.137"></a>
-<span class="sourceLineNo">138</span>  public void testAppendPeerTableCFs() throws Exception {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    ReplicationPeerConfig rpc1 = new ReplicationPeerConfig();<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    rpc1.setClusterKey(KEY_ONE);<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    final TableName tableName1 = TableName.valueOf(name.getMethodName() + "t1");<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    final TableName tableName2 = TableName.valueOf(name.getMethodName() + "t2");<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    final TableName tableName3 = TableName.valueOf(name.getMethodName() + "t3");<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    final TableName tableName4 = TableName.valueOf(name.getMethodName() + "t4");<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    final TableName tableName5 = TableName.valueOf(name.getMethodName() + "t5");<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    final TableName tableName6 = TableName.valueOf(name.getMethodName() + "t6");<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>    // Add a valid peer<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    admin.addReplicationPeer(ID_ONE, rpc1).join();<a name="line.149"></a>
-<span class="sourceLineNo">150</span><a name="line.150"></a>
-<span class="sourceLineNo">151</span>    Map&lt;TableName, List&lt;String&gt;&gt; tableCFs = new HashMap&lt;&gt;();<a name="line.151"></a>
-<span class="sourceLineNo">152</span><a name="line.152"></a>
-<span class="sourceLineNo">153</span>    // append table t1 to replication<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    tableCFs.put(tableName1, null);<a name="line.154"></a>
-<span class="sourceLineNo">155</span>    admin.appendReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    Map&lt;TableName, List&lt;String&gt;&gt; result = admin.getReplicationPeerConfig(ID_ONE).get()<a name="line.156"></a>
-<span class="sourceLineNo">157</span>        .getTableCFsMap();<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    assertEquals(1, result.size());<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    assertEquals(true, result.containsKey(tableName1));<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    assertNull(result.get(tableName1));<a name="line.160"></a>
-<span class="sourceLineNo">161</span><a name="line.161"></a>
-<span class="sourceLineNo">162</span>    // append table t2 to replication<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    tableCFs.clear();<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    tableCFs.put(tableName2, null);<a name="line.164"></a>
-<span class="sourceLineNo">165</span>    admin.appendReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.165"></a>
-<span class="sourceLineNo">166</span>    result = admin.getReplicationPeerConfig(ID_ONE).get().getTableCFsMap();<a name="line.166"></a>
-<span class="sourceLineNo">167</span>    assertEquals(2, result.size());<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    assertTrue("Should contain t1", result.containsKey(tableName1));<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    assertTrue("Should contain t2", result.containsKey(tableName2));<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    assertNull(result.get(tableName1));<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    assertNull(result.get(tableName2));<a name="line.171"></a>
-<span class="sourceLineNo">172</span><a name="line.172"></a>
-<span class="sourceLineNo">173</span>    // append table column family: f1 of t3 to replication<a name="line.173"></a>
-<span class="sourceLineNo">174</span>    tableCFs.clear();<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    tableCFs.put(tableName3, new ArrayList&lt;&gt;());<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    tableCFs.get(tableName3).add("f1");<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    admin.appendReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    result = admin.getReplicationPeerConfig(ID_ONE).get().getTableCFsMap();<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    assertEquals(3, result.size());<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    assertTrue("Should contain t1", result.containsKey(tableName1));<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    assertTrue("Should contain t2", result.containsKey(tableName2));<a name="line.181"></a>
-<span class="sourceLineNo">182</span>    assertTrue("Should contain t3", result.containsKey(tableName3));<a name="line.182"></a>
-<span class="sourceLineNo">183</span>    assertNull(result.get(tableName1));<a name="line.183"></a>
-<span class="sourceLineNo">184</span>    assertNull(result.get(tableName2));<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    assertEquals(1, result.get(tableName3).size());<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    assertEquals("f1", result.get(tableName3).get(0));<a name="line.186"></a>
-<span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>    // append table column family: f1,f2 of t4 to replication<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    tableCFs.clear();<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    tableCFs.put(tableName4, new ArrayList&lt;&gt;());<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    tableCFs.get(tableName4).add("f1");<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    tableCFs.get(tableName4).add("f2");<a name="line.192"></a>
-<span class="sourceLineNo">193</span>    admin.appendReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.193"></a>
-<span class="sourceLineNo">194</span>    result = admin.getReplicationPeerConfig(ID_ONE).get().getTableCFsMap();<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    assertEquals(4, result.size());<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    assertTrue("Should contain t1", result.containsKey(tableName1));<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    assertTrue("Should contain t2", result.containsKey(tableName2));<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    assertTrue("Should contain t3", result.containsKey(tableName3));<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    assertTrue("Should contain t4", result.containsKey(tableName4));<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    assertNull(result.get(tableName1));<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    assertNull(result.get(tableName2));<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    assertEquals(1, result.get(tableName3).size());<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    assertEquals("f1", result.get(tableName3).get(0));<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    assertEquals(2, result.get(tableName4).size());<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    assertEquals("f1", result.get(tableName4).get(0));<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    assertEquals("f2", result.get(tableName4).get(1));<a name="line.206"></a>
-<span class="sourceLineNo">207</span><a name="line.207"></a>
-<span class="sourceLineNo">208</span>    // append "table5" =&gt; [], then append "table5" =&gt; ["f1"]<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    tableCFs.clear();<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    tableCFs.put(tableName5, new ArrayList&lt;&gt;());<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    admin.appendReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    tableCFs.clear();<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    tableCFs.put(tableName5, new ArrayList&lt;&gt;());<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    tableCFs.get(tableName5).add("f1");<a name="line.214"></a>
+<span class="sourceLineNo">020</span>import static org.apache.hadoop.hbase.client.AsyncProcess.START_LOG_ERRORS_AFTER_COUNT_KEY;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import static org.junit.Assert.assertEquals;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import static org.junit.Assert.assertFalse;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import static org.junit.Assert.assertNotNull;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import static org.junit.Assert.assertNull;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import static org.junit.Assert.assertTrue;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import static org.junit.Assert.fail;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.util.ArrayList;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.util.HashMap;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.util.HashSet;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.List;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.Map;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.Set;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.concurrent.CompletionException;<a name="line.34"></a>
+<span class="sourceLineNo">035</span><a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.hadoop.hbase.HConstants;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.TableName;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.replication.ReplicationException;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.replication.ReplicationPeerConfig;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.replication.ReplicationPeerDescription;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.testclassification.ClientTests;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.junit.BeforeClass;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.junit.Rule;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.junit.Test;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.junit.experimental.categories.Category;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.junit.rules.TestName;<a name="line.47"></a>
+<span class="sourceLineNo">048</span><a name="line.48"></a>
+<span class="sourceLineNo">049</span>/**<a name="line.49"></a>
+<span class="sourceLineNo">050</span> * Class to test asynchronous replication admin operations.<a name="line.50"></a>
+<span class="sourceLineNo">051</span> */<a name="line.51"></a>
+<span class="sourceLineNo">052</span>@Category({LargeTests.class, ClientTests.class})<a name="line.52"></a>
+<span class="sourceLineNo">053</span>public class TestAsyncReplicationAdminApi extends TestAsyncAdminBase {<a name="line.53"></a>
+<span class="sourceLineNo">054</span><a name="line.54"></a>
+<span class="sourceLineNo">055</span>  private final String ID_ONE = "1";<a name="line.55"></a>
+<span class="sourceLineNo">056</span>  private final String KEY_ONE = "127.0.0.1:2181:/hbase";<a name="line.56"></a>
+<span class="sourceLineNo">057</span>  private final String ID_SECOND = "2";<a name="line.57"></a>
+<span class="sourceLineNo">058</span>  private final String KEY_SECOND = "127.0.0.1:2181:/hbase2";<a name="line.58"></a>
+<span class="sourceLineNo">059</span><a name="line.59"></a>
+<span class="sourceLineNo">060</span>  @Rule<a name="line.60"></a>
+<span class="sourceLineNo">061</span>  public TestName name = new TestName();<a name="line.61"></a>
+<span class="sourceLineNo">062</span><a name="line.62"></a>
+<span class="sourceLineNo">063</span>  @BeforeClass<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  public static void setUpBeforeClass() throws Exception {<a name="line.64"></a>
+<span class="sourceLineNo">065</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_RPC_TIMEOUT_KEY, 60000);<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT, 120000);<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 2);<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    TEST_UTIL.getConfiguration().setInt(START_LOG_ERRORS_AFTER_COUNT_KEY, 0);<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    TEST_UTIL.startMiniCluster();<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    ASYNC_CONN = ConnectionFactory.createAsyncConnection(TEST_UTIL.getConfiguration()).get();<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<a name="line.73"></a>
+<span class="sourceLineNo">074</span>  public void testAddRemovePeer() throws Exception {<a name="line.74"></a>
+<span class="sourceLineNo">075</span>    ReplicationPeerConfig rpc1 = new ReplicationPeerConfig();<a name="line.75"></a>
+<span class="sourceLineNo">076</span>    rpc1.setClusterKey(KEY_ONE);<a name="line.76"></a>
+<span class="sourceLineNo">077</span>    ReplicationPeerConfig rpc2 = new ReplicationPeerConfig();<a name="line.77"></a>
+<span class="sourceLineNo">078</span>    rpc2.setClusterKey(KEY_SECOND);<a name="line.78"></a>
+<span class="sourceLineNo">079</span>    // Add a valid peer<a name="line.79"></a>
+<span class="sourceLineNo">080</span>    admin.addReplicationPeer(ID_ONE, rpc1).join();<a name="line.80"></a>
+<span class="sourceLineNo">081</span>    // try adding the same (fails)<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    try {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      admin.addReplicationPeer(ID_ONE, rpc1).join();<a name="line.83"></a>
+<span class="sourceLineNo">084</span>      fail("Test case should fail as adding a same peer.");<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    } catch (CompletionException e) {<a name="line.85"></a>
+<span class="sourceLineNo">086</span>      // OK!<a name="line.86"></a>
+<span class="sourceLineNo">087</span>    }<a name="line.87"></a>
+<span class="sourceLineNo">088</span>    assertEquals(1, admin.listReplicationPeers().get().size());<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    // Try to remove an inexisting peer<a name="line.89"></a>
+<span class="sourceLineNo">090</span>    try {<a name="line.90"></a>
+<span class="sourceLineNo">091</span>      admin.removeReplicationPeer(ID_SECOND).join();<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      fail("Test case should fail as removing a inexisting peer.");<a name="line.92"></a>
+<span class="sourceLineNo">093</span>    } catch (CompletionException e) {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>      // OK!<a name="line.94"></a>
+<span class="sourceLineNo">095</span>    }<a name="line.95"></a>
+<span class="sourceLineNo">096</span>    assertEquals(1, admin.listReplicationPeers().get().size());<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    // Add a second since multi-slave is supported<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    admin.addReplicationPeer(ID_SECOND, rpc2).join();<a name="line.98"></a>
+<span class="sourceLineNo">099</span>    assertEquals(2, admin.listReplicationPeers().get().size());<a name="line.99"></a>
+<span class="sourceLineNo">100</span>    // Remove the first peer we added<a name="line.100"></a>
+<span class="sourceLineNo">101</span>    admin.removeReplicationPeer(ID_ONE).join();<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    assertEquals(1, admin.listReplicationPeers().get().size());<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    admin.removeReplicationPeer(ID_SECOND).join();<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    assertEquals(0, admin.listReplicationPeers().get().size());<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  }<a name="line.105"></a>
+<span class="sourceLineNo">106</span><a name="line.106"></a>
+<span class="sourceLineNo">107</span>  @Test<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  public void testPeerConfig() throws Exception {<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    ReplicationPeerConfig config = new ReplicationPeerConfig();<a name="line.109"></a>
+<span class="sourceLineNo">110</span>    config.setClusterKey(KEY_ONE);<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    config.getConfiguration().put("key1", "value1");<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    config.getConfiguration().put("key2", "value2");<a name="line.112"></a>
+<span class="sourceLineNo">113</span>    admin.addReplicationPeer(ID_ONE, config).join();<a name="line.113"></a>
+<span class="sourceLineNo">114</span><a name="line.114"></a>
+<span class="sourceLineNo">115</span>    List&lt;ReplicationPeerDescription&gt; peers = admin.listReplicationPeers().get();<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    assertEquals(1, peers.size());<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    ReplicationPeerDescription peerOne = peers.get(0);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    assertNotNull(peerOne);<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    assertEquals("value1", peerOne.getPeerConfig().getConfiguration().get("key1"));<a name="line.119"></a>
+<span class="sourceLineNo">120</span>    assertEquals("value2", peerOne.getPeerConfig().getConfiguration().get("key2"));<a name="line.120"></a>
+<span class="sourceLineNo">121</span><a name="line.121"></a>
+<span class="sourceLineNo">122</span>    admin.removeReplicationPeer(ID_ONE).join();<a name="line.122"></a>
+<span class="sourceLineNo">123</span>  }<a name="line.123"></a>
+<span class="sourceLineNo">124</span><a name="line.124"></a>
+<span class="sourceLineNo">125</span>  @Test<a name="line.125"></a>
+<span class="sourceLineNo">126</span>  public void testEnableDisablePeer() throws Exception {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    ReplicationPeerConfig rpc1 = new ReplicationPeerConfig();<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    rpc1.setClusterKey(KEY_ONE);<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    admin.addReplicationPeer(ID_ONE, rpc1).join();<a name="line.129"></a>
+<span class="sourceLineNo">130</span>    List&lt;ReplicationPeerDescription&gt; peers = admin.listReplicationPeers().get();<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    assertEquals(1, peers.size());<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    assertTrue(peers.get(0).isEnabled());<a name="line.132"></a>
+<span class="sourceLineNo">133</span><a name="line.133"></a>
+<span class="sourceLineNo">134</span>    admin.disableReplicationPeer(ID_ONE).join();<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    peers = admin.listReplicationPeers().get();<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    assertEquals(1, peers.size());<a name="line.136"></a>
+<span class="sourceLineNo">137</span>    assertFalse(peers.get(0).isEnabled());<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    admin.removeReplicationPeer(ID_ONE).join();<a name="line.138"></a>
+<span class="sourceLineNo">139</span>  }<a name="line.139"></a>
+<span class="sourceLineNo">140</span><a name="line.140"></a>
+<span class="sourceLineNo">141</span>  @Test<a name="line.141"></a>
+<span class="sourceLineNo">142</span>  public void testAppendPeerTableCFs() throws Exception {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    ReplicationPeerConfig rpc1 = new ReplicationPeerConfig();<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    rpc1.setClusterKey(KEY_ONE);<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    final TableName tableName1 = TableName.valueOf(name.getMethodName() + "t1");<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    final TableName tableName2 = TableName.valueOf(name.getMethodName() + "t2");<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    final TableName tableName3 = TableName.valueOf(name.getMethodName() + "t3");<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    final TableName tableName4 = TableName.valueOf(name.getMethodName() + "t4");<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    final TableName tableName5 = TableName.valueOf(name.getMethodName() + "t5");<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    final TableName tableName6 = TableName.valueOf(name.getMethodName() + "t6");<a name="line.150"></a>
+<span class="sourceLineNo">151</span><a name="line.151"></a>
+<span class="sourceLineNo">152</span>    // Add a valid peer<a name="line.152"></a>
+<span class="sourceLineNo">153</span>    admin.addReplicationPeer(ID_ONE, rpc1).join();<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>    Map&lt;TableName, List&lt;String&gt;&gt; tableCFs = new HashMap&lt;&gt;();<a name="line.155"></a>
+<span class="sourceLineNo">156</span><a name="line.156"></a>
+<span class="sourceLineNo">157</span>    // append table t1 to replication<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    tableCFs.put(tableName1, null);<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    admin.appendReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    Map&lt;TableName, List&lt;String&gt;&gt; result = admin.getReplicationPeerConfig(ID_ONE).get()<a name="line.160"></a>
+<span class="sourceLineNo">161</span>        .getTableCFsMap();<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    assertEquals(1, result.size());<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    assertEquals(true, result.containsKey(tableName1));<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    assertNull(result.get(tableName1));<a name="line.164"></a>
+<span class="sourceLineNo">165</span><a name="line.165"></a>
+<span class="sourceLineNo">166</span>    // append table t2 to replication<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    tableCFs.clear();<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    tableCFs.put(tableName2, null);<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    admin.appendReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    result = admin.getReplicationPeerConfig(ID_ONE).get().getTableCFsMap();<a name="line.170"></a>
+<span class="sourceLineNo">171</span>    assertEquals(2, result.size());<a name="line.171"></a>
+<span class="sourceLineNo">172</span>    assertTrue("Should contain t1", result.containsKey(tableName1));<a name="line.172"></a>
+<span class="sourceLineNo">173</span>    assertTrue("Should contain t2", result.containsKey(tableName2));<a name="line.173"></a>
+<span class="sourceLineNo">174</span>    assertNull(result.get(tableName1));<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    assertNull(result.get(tableName2));<a name="line.175"></a>
+<span class="sourceLineNo">176</span><a name="line.176"></a>
+<span class="sourceLineNo">177</span>    // append table column family: f1 of t3 to replication<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    tableCFs.clear();<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    tableCFs.put(tableName3, new ArrayList&lt;&gt;());<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    tableCFs.get(tableName3).add("f1");<a name="line.180"></a>
+<span class="sourceLineNo">181</span>    admin.appendReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.181"></a>
+<span class="sourceLineNo">182</span>    result = admin.getReplicationPeerConfig(ID_ONE).get().getTableCFsMap();<a name="line.182"></a>
+<span class="sourceLineNo">183</span>    assertEquals(3, result.size());<a name="line.183"></a>
+<span class="sourceLineNo">184</span>    assertTrue("Should contain t1", result.containsKey(tableName1));<a name="line.184"></a>
+<span class="sourceLineNo">185</span>    assertTrue("Should contain t2", result.containsKey(tableName2));<a name="line.185"></a>
+<span class="sourceLineNo">186</span>    assertTrue("Should contain t3", result.containsKey(tableName3));<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    assertNull(result.get(tableName1));<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    assertNull(result.get(tableName2));<a name="line.188"></a>
+<span class="sourceLineNo">189</span>    assertEquals(1, result.get(tableName3).size());<a name="line.189"></a>
+<span class="sourceLineNo">190</span>    assertEquals("f1", result.get(tableName3).get(0));<a name="line.190"></a>
+<span class="sourceLineNo">191</span><a name="line.191"></a>
+<span class="sourceLineNo">192</span>    // append table column family: f1,f2 of t4 to replication<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    tableCFs.clear();<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    tableCFs.put(tableName4, new ArrayList&lt;&gt;());<a name="line.194"></a>
+<span class="sourceLineNo">195</span>    tableCFs.get(tableName4).add("f1");<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    tableCFs.get(tableName4).add("f2");<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    admin.appendReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    result = admin.getReplicationPeerConfig(ID_ONE).get().getTableCFsMap();<a name="line.198"></a>
+<span class="sourceLineNo">199</span>    assertEquals(4, result.size());<a name="line.199"></a>
+<span class="sourceLineNo">200</span>    assertTrue("Should contain t1", result.containsKey(tableName1));<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    assertTrue("Should contain t2", result.containsKey(tableName2));<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    assertTrue("Should contain t3", result.containsKey(tableName3));<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    assertTrue("Should contain t4", result.containsKey(tableName4));<a name="line.203"></a>
+<span class="sourceLineNo">204</span>    assertNull(result.get(tableName1));<a name="line.204"></a>
+<span class="sourceLineNo">205</span>    assertNull(result.get(tableName2));<a name="line.205"></a>
+<span class="sourceLineNo">206</span>    assertEquals(1, result.get(tableName3).size());<a name="line.206"></a>
+<span class="sourceLineNo">207</span>    assertEquals("f1", result.get(tableName3).get(0));<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    assertEquals(2, result.get(tableName4).size());<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    assertEquals("f1", result.get(tableName4).get(0));<a name="line.209"></a>
+<span class="sourceLineNo">210</span>    assertEquals("f2", result.get(tableName4).get(1));<a name="line.210"></a>
+<span class="sourceLineNo">211</span><a name="line.211"></a>
+<span class="sourceLineNo">212</span>    // append "table5" =&gt; [], then append "table5" =&gt; ["f1"]<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    tableCFs.clear();<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    tableCFs.put(tableName5, new ArrayList&lt;&gt;());<a name="line.214"></a>
 <span class="sourceLineNo">215</span>    admin.appendReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    result = admin.getReplicationPeerConfig(ID_ONE).get().getTableCFsMap();<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    assertEquals(5, result.size());<a name="line.217"></a>
-<span class="sourceLineNo">218</span>    assertTrue("Should contain t5", result.containsKey(tableName5));<a name="line.218"></a>
-<span class="sourceLineNo">219</span>    // null means replication all cfs of tab5<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    assertNull(result.get(tableName5));<a name="line.220"></a>
-<span class="sourceLineNo">221</span><a name="line.221"></a>
-<span class="sourceLineNo">222</span>    // append "table6" =&gt; ["f1"], then append "table6" =&gt; []<a name="line.222"></a>
-<span class="sourceLineNo">223</span>    tableCFs.clear();<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    tableCFs.put(tableName6, new ArrayList&lt;&gt;());<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    tableCFs.get(tableName6).add("f1");<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    admin.appendReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.226"></a>
+<span class="sourceLineNo">216</span>    tableCFs.clear();<a name="line.216"></a>
+<span class="sourceLineNo">217</span>    tableCFs.put(tableName5, new ArrayList&lt;&gt;());<a name="line.217"></a>
+<span class="sourceLineNo">218</span>    tableCFs.get(tableName5).add("f1");<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    admin.appendReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.219"></a>
+<span class="sourceLineNo">220</span>    result = admin.getReplicationPeerConfig(ID_ONE).get().getTableCFsMap();<a name="line.220"></a>
+<span class="sourceLineNo">221</span>    assertEquals(5, result.size());<a name="line.221"></a>
+<span class="sourceLineNo">222</span>    assertTrue("Should contain t5", result.containsKey(tableName5));<a name="line.222"></a>
+<span class="sourceLineNo">223</span>    // null means replication all cfs of tab5<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    assertNull(result.get(tableName5));<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>    // append "table6" =&gt; ["f1"], then append "table6" =&gt; []<a name="line.226"></a>
 <span class="sourceLineNo">227</span>    tableCFs.clear();<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    tableCFs.put(tableName6, new ArrayList&lt;&gt;());<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    admin.appendReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    result = admin.getReplicationPeerConfig(ID_ONE).get().getTableCFsMap();<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    assertEquals(6, result.size());<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    assertTrue("Should contain t6", result.containsKey(tableName6));<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    // null means replication all cfs of tab6<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    assertNull(result.get(tableName6));<a name="line.234"></a>
-<span class="sourceLineNo">235</span><a name="line.235"></a>
-<span class="sourceLineNo">236</span>    admin.removeReplicationPeer(ID_ONE).join();<a name="line.236"></a>
-<span class="sourceLineNo">237</span>  }<a name="line.237"></a>
-<span class="sourceLineNo">238</span><a name="line.238"></a>
-<span class="sourceLineNo">239</span>  @Test<a name="line.239"></a>
-<span class="sourceLineNo">240</span>  public void testRemovePeerTableCFs() throws Exception {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>    ReplicationPeerConfig rpc1 = new ReplicationPeerConfig();<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    rpc1.setClusterKey(KEY_ONE);<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    final TableName tableName1 = TableName.valueOf(name.getMethodName() + "t1");<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    final TableName tableName2 = TableName.valueOf(name.getMethodName() + "t2");<a name="line.244"></a>
-<span class="sourceLineNo">245</span>    final TableName tableName3 = TableName.valueOf(name.getMethodName() + "t3");<a name="line.245"></a>
-<span class="sourceLineNo">246</span>    final TableName tableName4 = TableName.valueOf(name.getMethodName() + "t4");<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    // Add a valid peer<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    admin.addReplicationPeer(ID_ONE, rpc1).join();<a name="line.248"></a>
-<span class="sourceLineNo">249</span>    Map&lt;TableName, List&lt;String&gt;&gt; tableCFs = new HashMap&lt;&gt;();<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    try {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      tableCFs.put(tableName3, null);<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      admin.removeReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.252"></a>
-<span class="sourceLineNo">253</span>      fail("Test case should fail as removing table-cfs from a peer whose table-cfs is null");<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    } catch (CompletionException e) {<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      assertTrue(e.getCause() instanceof ReplicationException);<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    }<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    assertNull(admin.getReplicationPeerConfig(ID_ONE).get().getTableCFsMap());<a name="line.257"></a>
-<span class="sourceLineNo">258</span><a name="line.258"></a>
-<span class="sourceLineNo">259</span>    tableCFs.clear();<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    tableCFs.put(tableName1, null);<a name="line.260"></a>
-<span class="sourceLineNo">261</span>    tableCFs.put(tableName2, new ArrayList&lt;&gt;());<a name="line.261"></a>
-<span class="sourceLineNo">262</span>    tableCFs.get(tableName2).add("cf1");<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    admin.appendReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    try {<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      tableCFs.clear();<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      tableCFs.put(tableName3, null);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      admin.removeReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      fail("Test case should fail as removing table-cfs from a peer whose table-cfs didn't contain t3");<a name="line.268"></a>
-<span class="sourceLineNo">269</span>    } catch (CompletionException e) {<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      assertTrue(e.getCause() instanceof ReplicationException);<a name="line.270"></a>
-<span class="sourceLineNo">271</span>    }<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    Map&lt;TableName, List&lt;String&gt;&gt; result = admin.getReplicationPeerConfig(ID_ONE).get()<a name="line.272"></a>
-<span class="sourceLineNo">273</span>        .getTableCFsMap();<a name="line.273"></a>
-<span class="sourceLineNo">274</span>    assertEquals(2, result.size());<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    assertTrue("Should contain t1", result.containsKey(tableName1));<a name="line.275"></a>
-<span class="sourceLineNo">276</span>    assertTrue("Should contain t2", result.containsKey(tableName2));<a name="line.276"></a>
-<span class="sourceLineNo">277</span>    assertNull(result.get(tableName1));<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    assertEquals(1, result.get(tableName2).size());<a name="line.278"></a>
-<span class="sourceLineNo">279</span>    assertEquals("cf1", result.get(tableName2).get(0));<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>    try {<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      tableCFs.clear();<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      tableCFs.put(tableName1, new ArrayList&lt;&gt;());<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      tableCFs.get(tableName1).add("cf1");<a name="line.284"></a>
-<span class="sourceLineNo">285</span>      admin.removeReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.285"></a>
-<span class="sourceLineNo">286</span>      fail("Test case should fail, because table t1 didn't specify cfs in peer config");<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    } catch (CompletionException e) {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>      assertTrue(e.getCause() instanceof ReplicationException);<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    }<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    tableCFs.clear();<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    tableCFs.put(tableName1, null);<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    admin.removeReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    result = admin.getReplicationPeerConfig(ID_ONE).get().getTableCFsMap();<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    assertEquals(1, result.size());<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    assertEquals(1, result.get(tableName2).size());<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    assertEquals("cf1", result.get(tableName2).get(0));<a name="line.296"></a>
-<span class="sourceLineNo">297</span><a name="line.297"></a>
-<span class="sourceLineNo">298</span>    try {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      tableCFs.clear();<a name="line.299"></a>
-<span class="sourceLineNo">300</span>      tableCFs.put(tableName2, null);<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      admin.removeReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.301"></a>
-<span class="sourceLineNo">302</span>      fail("Test case should fail, because table t2 hase specified cfs in peer config");<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    } catch (CompletionException e) {<a name="line.303"></a>
-<span class="sourceLineNo">304</span>      assertTrue(e.getCause() instanceof ReplicationException);<a name="line.304"></a>
-<span class="sourceLineNo">305</span>    }<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    tableCFs.clear();<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    tableCFs.put(tableName2, new ArrayList&lt;&gt;());<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    tableCFs.get(tableName2).add("cf1");<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    admin.removeReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    assertNull(admin.getReplicationPeerConfig(ID_ONE).get().getTableCFsMap());<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>    tableCFs.clear();<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    tableCFs.put(tableName4, new ArrayList&lt;&gt;());<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    admin.appendReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    admin.removeReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    assertNull(admin.getReplicationPeerConfig(ID_ONE).get().getTableCFsMap());<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>    admin.removeReplicationPeer(ID_ONE);<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>  @Test<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  public void testSetPeerNamespaces() throws Exception {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    String ns1 = "ns1";<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    String ns2 = "ns2";<a name="line.324"></a>
-<span class="sourceLineNo">325</span><a name="line.325"></a>
-<span class="sourceLineNo">326</span>    ReplicationPeerConfig rpc = new ReplicationPeerConfig();<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    rpc.setClusterKey(KEY_ONE);<a name="line.327"></a>
-<span class="sourceLineNo">328</span>    admin.addReplicationPeer(ID_ONE, rpc).join();<a name="line.328"></a>
+<span class="sourceLineNo">229</span>    tableCFs.get(tableName6).add("f1");<a name="line.229"></a>
+<span class="sourceLineNo">230</span>    admin.appendReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.230"></a>
+<span class="sourceLineNo">231</span>    tableCFs.clear();<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    tableCFs.put(tableName6, new ArrayList&lt;&gt;());<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    admin.appendReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    result = admin.getReplicationPeerConfig(ID_ONE).get().getTableCFsMap();<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    assertEquals(6, result.size());<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    assertTrue("Should contain t6", result.containsKey(tableName6));<a name="line.236"></a>
+<span class="sourceLineNo">237</span>    // null means replication all cfs of tab6<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    assertNull(result.get(tableName6));<a name="line.238"></a>
+<span class="sourceLineNo">239</span><a name="line.239"></a>
+<span class="sourceLineNo">240</span>    admin.removeReplicationPeer(ID_ONE).join();<a name="line.240"></a>
+<span class="sourceLineNo">241</span>  }<a name="line.241"></a>
+<span class="sourceLineNo">242</span><a name="line.242"></a>
+<span class="sourceLineNo">243</span>  @Test<a name="line.243"></a>
+<span class="sourceLineNo">244</span>  public void testRemovePeerTableCFs() throws Exception {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    ReplicationPeerConfig rpc1 = new ReplicationPeerConfig();<a name="line.245"></a>
+<span class="sourceLineNo">246</span>    rpc1.setClusterKey(KEY_ONE);<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    final TableName tableName1 = TableName.valueOf(name.getMethodName() + "t1");<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    final TableName tableName2 = TableName.valueOf(name.getMethodName() + "t2");<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    final TableName tableName3 = TableName.valueOf(name.getMethodName() + "t3");<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    final TableName tableName4 = TableName.valueOf(name.getMethodName() + "t4");<a name="line.250"></a>
+<span class="sourceLineNo">251</span>    // Add a valid peer<a name="line.251"></a>
+<span class="sourceLineNo">252</span>    admin.addReplicationPeer(ID_ONE, rpc1).join();<a name="line.252"></a>
+<span class="sourceLineNo">253</span>    Map&lt;TableName, List&lt;String&gt;&gt; tableCFs = new HashMap&lt;&gt;();<a name="line.253"></a>
+<span class="sourceLineNo">254</span>    try {<a name="line.254"></a>
+<span class="sourceLineNo">255</span>      tableCFs.put(tableName3, null);<a name="line.255"></a>
+<span class="sourceLineNo">256</span>      admin.removeReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.256"></a>
+<span class="sourceLineNo">257</span>      fail("Test case should fail as removing table-cfs from a peer whose table-cfs is null");<a name="line.257"></a>
+<span class="sourceLineNo">258</span>    } catch (CompletionException e) {<a name="line.258"></a>
+<span class="sourceLineNo">259</span>      assertTrue(e.getCause() instanceof ReplicationException);<a name="line.259"></a>
+<span class="sourceLineNo">260</span>    }<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    assertNull(admin.getReplicationPeerConfig(ID_ONE).get().getTableCFsMap());<a name="line.261"></a>
+<span class="sourceLineNo">262</span><a name="line.262"></a>
+<span class="sourceLineNo">263</span>    tableCFs.clear();<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    tableCFs.put(tableName1, null);<a name="line.264"></a>
+<span class="sourceLineNo">265</span>    tableCFs.put(tableName2, new ArrayList&lt;&gt;());<a name="line.265"></a>
+<span class="sourceLineNo">266</span>    tableCFs.get(tableName2).add("cf1");<a name="line.266"></a>
+<span class="sourceLineNo">267</span>    admin.appendReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.267"></a>
+<span class="sourceLineNo">268</span>    try {<a name="line.268"></a>
+<span class="sourceLineNo">269</span>      tableCFs.clear();<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      tableCFs.put(tableName3, null);<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      admin.removeReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      fail("Test case should fail as removing table-cfs from a peer whose table-cfs didn't contain t3");<a name="line.272"></a>
+<span class="sourceLineNo">273</span>    } catch (CompletionException e) {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      assertTrue(e.getCause() instanceof ReplicationException);<a name="line.274"></a>
+<span class="sourceLineNo">275</span>    }<a name="line.275"></a>
+<span class="sourceLineNo">276</span>    Map&lt;TableName, List&lt;String&gt;&gt; result = admin.getReplicationPeerConfig(ID_ONE).get()<a name="line.276"></a>
+<span class="sourceLineNo">277</span>        .getTableCFsMap();<a name="line.277"></a>
+<span class="sourceLineNo">278</span>    assertEquals(2, result.size());<a name="line.278"></a>
+<span class="sourceLineNo">279</span>    assertTrue("Should contain t1", result.containsKey(tableName1));<a name="line.279"></a>
+<span class="sourceLineNo">280</span>    assertTrue("Should contain t2", result.containsKey(tableName2));<a name="line.280"></a>
+<span class="sourceLineNo">281</span>    assertNull(result.get(tableName1));<a name="line.281"></a>
+<span class="sourceLineNo">282</span>    assertEquals(1, result.get(tableName2).size());<a name="line.282"></a>
+<span class="sourceLineNo">283</span>    assertEquals("cf1", result.get(tableName2).get(0));<a name="line.283"></a>
+<span class="sourceLineNo">284</span><a name="line.284"></a>
+<span class="sourceLineNo">285</span>    try {<a name="line.285"></a>
+<span class="sourceLineNo">286</span>      tableCFs.clear();<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      tableCFs.put(tableName1, new ArrayList&lt;&gt;());<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      tableCFs.get(tableName1).add("cf1");<a name="line.288"></a>
+<span class="sourceLineNo">289</span>      admin.removeReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.289"></a>
+<span class="sourceLineNo">290</span>      fail("Test case should fail, because table t1 didn't specify cfs in peer config");<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    } catch (CompletionException e) {<a name="line.291"></a>
+<span class="sourceLineNo">292</span>      assertTrue(e.getCause() instanceof ReplicationException);<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    }<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    tableCFs.clear();<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    tableCFs.put(tableName1, null);<a name="line.295"></a>
+<span class="sourceLineNo">296</span>    admin.removeReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    result = admin.getReplicationPeerConfig(ID_ONE).get().getTableCFsMap();<a name="line.297"></a>
+<span class="sourceLineNo">298</span>    assertEquals(1, result.size());<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    assertEquals(1, result.get(tableName2).size());<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    assertEquals("cf1", result.get(tableName2).get(0));<a name="line.300"></a>
+<span class="sourceLineNo">301</span><a name="line.301"></a>
+<span class="sourceLineNo">302</span>    try {<a name="line.302"></a>
+<span class="sourceLineNo">303</span>      tableCFs.clear();<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      tableCFs.put(tableName2, null);<a name="line.304"></a>
+<span class="sourceLineNo">305</span>      admin.removeReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.305"></a>
+<span class="sourceLineNo">306</span>      fail("Test case should fail, because table t2 hase specified cfs in peer config");<a name="line.306"></a>
+<span class="sourceLineNo">307</span>    } catch (CompletionException e) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      assertTrue(e.getCause() instanceof ReplicationException);<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    }<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    tableCFs.clear();<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    tableCFs.put(tableName2, new ArrayList&lt;&gt;());<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    tableCFs.get(tableName2).add("cf1");<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    admin.removeReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    assertNull(admin.getReplicationPeerConfig(ID_ONE).get().getTableCFsMap());<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>    tableCFs.clear();<a name="line.316"></a>
+<span class="sourceLineNo">317</span>    tableCFs.put(tableName4, new ArrayList&lt;&gt;());<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    admin.appendReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.318"></a>
+<span class="sourceLineNo">319</span>    admin.removeReplicationPeerTableCFs(ID_ONE, tableCFs).join();<a name="line.319"></a>
+<span class="sourceLineNo">320</span>    assertNull(admin.getReplicationPeerConfig(ID_ONE).get().getTableCFsMap());<a name="line.320"></a>
+<span class="sourceLineNo">321</span><a name="line.321"></a>
+<span class="sourceLineNo">322</span>    admin.removeReplicationPeer(ID_ONE);<a name="line.322"></a>
+<span class="sourceLineNo">323</span>  }<a name="line.323"></a>
+<span class="sourceLineNo">324</span><a name="line.324"></a>
+<span class="sourceLineNo">325</span>  @Test<a name="line.325"></a>
+<span class="sourceLineNo">326</span>  public void testSetPeerNamespaces() throws Exception {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>    String ns1 = "ns1";<a name="line.327"></a>
+<span class="sourceLineNo">328</span>    String ns2 = "ns2";<a name="line.328"></a>
 <span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>    // add ns1 and ns2 to peer config<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    rpc = admin.getReplicationPeerConfig(ID_ONE).get();<a name="line.331"></a>
-<span class="sourceLineNo">332</span>    Set&lt;String&gt; namespaces = new HashSet&lt;&gt;();<a name="line.332"></a>
-<span class="sourceLineNo">333</span>    namespaces.add(ns1);<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    namespaces.add(ns2);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    rpc.setNamespaces(namespaces);<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    admin.updateReplicationPeerConfig(ID_ONE, rpc).join();<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    namespaces = admin.getReplicationPeerConfig(ID_ONE).get().getNamespaces();<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    assertEquals(2, namespaces.size());<a name="line.338"></a>
-<span class="sourceLineNo">339</span>    assertTrue(namespaces.contains(ns1));<a name="line.339"></a>
-<span class="sourceLineNo">340</span>    assertTrue(namespaces.contains(ns2));<a name="line.340"></a>
-<span class="sourceLineNo">341</span><a name="line.341"></a>
-<span class="sourceLineNo">342</span>    // update peer config only contains ns1<a name="line.342"></a>
-<span class="sourceLineNo">343</span>    rpc = admin.getReplicationPeerConfig(ID_ONE).get();<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    namespaces.clear();<a name="line.344"></a>
-<span class="sourceLineNo">345</span>    namespaces.add(ns1);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    rpc.setNamespaces(namespaces);<a name="line.346"></a>
-<span class="sourceLineNo">347</span>    admin.updateReplicationPeerConfig(ID_ONE, rpc).join();<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    namespaces = admin.getReplicationPeerConfig(ID_ONE).get().getNamespaces();<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    assertEquals(1, namespaces.size());<a name="line.349"></a>
-<span class="sourceLineNo">350</span>    assertTrue(namespaces.contains(ns1));<a name="line.350"></a>
-<span class="sourceLineNo">351</span><a name="line.351"></a>
-<span class="sourceLineNo">352</span>    admin.removeReplicationPeer(ID_ONE).join();<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>  @Test<a name="line.355"></a>
-<span class="sourceLineNo">356</span>  public void testNamespacesAndTableCfsConfigConflict() throws Exception {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>    String ns1 = "ns1";<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    String ns2 = "ns2";<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    final TableName tableName1 = TableName.valueOf(ns1 + ":" + name.getMethodName());<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    final TableName tableName2 = TableName.valueOf(ns2 + ":" + name.getMethodName() + "2");<a name="line.360"></a>
-<span class="sourceLineNo">361</span><a name="line.361"></a>
-<span class="sourceLineNo">362</span>    ReplicationPeerConfig rpc = new ReplicationPeerConfig();<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    rpc.setClusterKey(KEY_ONE);<a name="line.363"></a>
-<span class="sourceLineNo">364</span>    admin.addReplicationPeer(ID_ONE, rpc).join();<a name="line.364"></a>
+<span class="sourceLineNo">330</span>    ReplicationPeerConfig rpc = new ReplicationPeerConfig();<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    rpc.setClusterKey(KEY_ONE);<a name="line.331"></a>
+<span class="sourceLineNo">332</span>    admin.addReplicationPeer(ID_ONE, rpc).join();<a name="line.332"></a>
+<span class="sourceLineNo">333</span><a name="line.333"></a>
+<span class="sourceLineNo">334</span>    // add ns1 and ns2 to peer config<a name="line.334"></a>
+<span class="sourceLineNo">335</span>    rpc = admin.getReplicationPeerConfig(ID_ONE).get();<a name="line.335"></a>
+<span class="sourceLineNo">336</span>    Set&lt;String&gt; namespaces = new HashSet&lt;&gt;();<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    namespaces.add(ns1);<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    namespaces.add(ns2);<a name="line.338"></a>
+<span class="sourceLineNo">339</span>    rpc.setNamespaces(namespaces);<a name="line.339"></a>
+<span class="sourceLineNo">340</span>    admin.updateReplicationPeerConfig(ID_ONE, rpc).join();<a name="line.340"></a>
+<span class="sourceLineNo">341</span>    namespaces = admin.getReplicationPeerConfig(ID_ONE).get().getNamespaces();<a name="line.341"></a>
+<span class="sourceLineNo">342</span>    assertEquals(2, namespaces.size());<a name="line.342"></a>
+<span class="sourceLineNo">343</span>    assertTrue(namespaces.contains(ns1));<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    assertTrue(namespaces.contains(ns2));<a name="line.344"></a>
+<span class="sourceLineNo">345</span><a name="line.345"></a>
+<span class="sourceLineNo">346</span>    // update peer config only contains ns1<a name="line.346"></a>
+<span class="sourceLineNo">347</span>    rpc = admin.getReplicationPeerConfig(ID_ONE).get();<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    namespaces.clear();<a name="line.348"></a>
+<span class="sourceLineNo">349</span>    namespaces.add(ns1);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>    rpc.setNamespaces(namespaces);<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    admin.updateReplicationPeerConfig(ID_ONE, rpc).join();<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    namespaces = admin.getReplicationPeerConfig(ID_ONE).get().getNamespaces();<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    assertEquals(1, namespaces.size());<a name="line.353"></a>
+<span class="sourceLineNo">354</span>    assertTrue(namespaces.contains(ns1));<a name="line.354"></a>
+<span class="sourceLineNo">355</span><a name="line.355"></a>
+<span class="sourceLineNo">356</span>    admin.removeReplicationPeer(ID_ONE).join();<a name="line.356"></a>
+<span class="sourceLineNo">357</span>  }<a name="line.357"></a>
+<span class="sourceLineNo">358</span><a name="line.358"></a>
+<span class="sourceLineNo">359</span>  @Test<a name="line.359"></a>
+<span class="sourceLineNo">360</span>  public void testNamespacesAndTableCfsConfigConflict() throws Exception {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    String ns1 = "ns1";<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    String ns2 = "ns2";<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    final TableName tableName1 = TableName.valueOf(ns1 + ":" + name.getMethodName());<a name="line.363"></a>
+<span class="sourceLineNo">364</span>    final TableName tableName2 = TableName.valueOf(ns2 + ":" + name.getMethodName() + "2");<a name="line.364"></a>
 <span class="sourceLineNo">365</span><a name="line.365"></a>
-<span class="sourceLineNo">366</span>    rpc = admin.getReplicationPeerConfig(ID_ONE).get();<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    Set&lt;String&gt; namespaces = new HashSet&lt;String&gt;();<a name="line.367"></a>
-<span class="sourceLineNo">368</span>    namespaces.add(ns1);<a name="line.368"></a>
-<span class="sourceLineNo">369</span>    rpc.setNamespaces(namespaces);<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    admin.updateReplicationPeerConfig(ID_ONE, rpc).get();<a name="line.370"></a>
-<span class="sourceLineNo">371</span>    rpc = admin.getReplicationPeerConfig(ID_ONE).get();<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    Map&lt;TableName, List&lt;String&gt;&gt; tableCfs = new HashMap&lt;&gt;();<a name="line.372"></a>
-<span class="sourceLineNo">373</span>    tableCfs.put(tableName1, new ArrayList&lt;&gt;());<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    rpc.setTableCFsMap(tableCfs);<a name="line.374"></a>
-<span class="sourceLineNo">375</span>    try {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>      admin.updateReplicationPeerConfig(ID_ONE, rpc).join();<a name="line.376"></a>
-<span class="sourceLineNo">377</span>      fail("Test case should fail, because table " + tableName1 + " conflict with namespace " + ns1);<a name="line.377"></a>
-<span class="sourceLineNo">378</span>    } catch (CompletionException e) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      // OK<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>    rpc = admin.getReplicationPeerConfig(ID_ONE).get();<a name="line.382"></a>
-<span class="sourceLineNo">383</span>    tableCfs.clear();<a name="line.383"></a>
-<span class="sourceLineNo">384</span>    tableCfs.put(tableName2, new ArrayList&lt;&gt;());<a name="line.384"></a>
-<span class="sourceLineNo">385</span>    rpc.setTableCFsMap(tableCfs);<a name="line.385"></a>
-<span class="sourceLineNo">386</span>    admin.updateReplicationPeerConfig(ID_ONE, rpc).get();<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    rpc = admin.getReplicationPeerConfig(ID_ONE).get();<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    namespaces.clear();<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    namespaces.add(ns2);<a name="line.389"></a>
-<span class="sourceLineNo">390</span>    rpc.setNamespaces(namespaces);<a name="line.390"></a>
-<span class="sourceLineNo">391</span>    try {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      admin.updateReplicationPeerConfig(ID_ONE, rpc).join();<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      fail("Test case should fail, because namespace " + ns2 + " conflict with table " + tableName2);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    } catch (CompletionException e) {<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      // OK<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    }<a name="line.396"></a>
-<span class="sourceLineNo">397</span><a name="line.397"></a>
-<span class="sourceLineNo">398</span>    admin.removeReplicationPeer(ID_ONE).join();<a name="line.398"></a>
-<span class="sourceLineNo">399</span>  }<a name="line.399"></a>
-<span class="sourceLineNo">400</span><a name="line.400"></a>
-<span class="sourceLineNo">401</span>  @Test<a name="line.401"></a>
-<span class="sourceLineNo">402</span>  public void testPeerBandwidth() throws Exception {<a name="line.402"></a>
-<span class="sourceLineNo">403</span>    ReplicationPeerConfig rpc = new ReplicationPeerConfig();<a name="line.403"></a>
-<span class="sourceLineNo">404</span>    rpc.setClusterKey(KEY_ONE);<a name="line.404"></a>
-<span class="sourceLineNo">405</span><a name="line.405"></a>
-<span class="sourceLineNo">406</span>    admin.addReplicationPeer(ID_ONE, rpc).join();<a name="line.406"></a>
-<span class="sourceLineNo">407</span>    rpc = admin.getReplicationPeerConfig(ID_ONE).get();<a name="line.407"></a>
-<span class="sourceLineNo">408</span>    assertEquals(0, rpc.getBandwidth());<a name="line.408"></a>
+<span class="sourceLineNo">366</span>    ReplicationPeerConfig rpc = new ReplicationPeerConfig();<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    rpc.setClusterKey(KEY_ONE);<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    admin.addReplicationPeer(ID_ONE, rpc).join();<a name="line.368"></a>
+<span class="sourceLineNo">369</span><a name="line.369"></a>
+<span class="sourceLineNo">370</span>    rpc = admin.getReplicationPeerConfig(ID_ONE).get();<a name="line.370"></a>
+<span class="sourceLineNo">371</span>    Set&lt;String&gt; namespaces = new HashSet&lt;String&gt;();<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    namespaces.add(ns1);<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    rpc.setNamespaces(namespaces);<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    admin.updateReplicationPeerConfig(ID_ONE, rpc).get();<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    rpc = admin.getReplicationPeerConfig(ID_ONE).get();<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    Map&lt;TableName, List&lt;String&gt;&gt; tableCfs = new HashMap&lt;&gt;();<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    tableCfs.put(tableName1, new ArrayList&lt;&gt;());<a name="line.377"></a>
+<span class="sourceLineNo">378</span>    rpc.setTableCFsMap(tableCfs);<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    try {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      admin.updateReplicationPeerConfig(ID_ONE, rpc).join();<a name="line.380"></a>
+<span class="sourceLineNo">381</span>      fail("Test case should fail, because table " + tableName1 + " conflict with namespace " + ns1);<a name="line.381"></a>
+<span class="sourceLineNo">382</span>    } catch (CompletionException e) {<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      // OK<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    }<a name="line.384"></a>
+<span class="sourceLineNo">385</span><a name="line.385"></a>
+<span class="sourceLineNo">386</span>    rpc = admin.getReplicationPeerConfig(ID_ONE).get();<a name="line.386"></a>
+<span class="sourceLineNo">387</span>    tableCfs.clear();<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    tableCfs.put(tableName2, new ArrayList&lt;&gt;());<a name="line.388"></a>
+<span class="sourceLineNo">389</span>    rpc.setTableCFsMap(tableCfs);<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    admin.updateReplicationPeerConfig(ID_ONE, rpc).get();<a name="line.390"></a>
+<span class="sourceLineNo">391</span>    rpc = admin.getReplicationPeerConfig(ID_ONE).get();<a name="line.391"></a>
+<span class="sourceLineNo">392</span>    namespaces.clear();<a name="line.392"></a>
+<span class="sourceLineNo">393</span>    namespaces.add(ns2);<a name="line.393"></a>
+<span class="sourceLineNo">394</span>    rpc.setNamespaces(namespaces);<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    try {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      admin.updateReplicationPeerConfig(ID_ONE, rpc).join();<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      fail("Test case should fail, because namespace " + ns2 + " conflict with table " + tableName2);<a name="line.397"></a>
+<span class="sourceLineNo">398</span>    } catch (CompletionException e) {<a name="line.398"></a>
+<span class="sourceLineNo">399</span>      // OK<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>    admin.removeReplicationPeer(ID_ONE).join();<a name="line.402"></a>
+<span class="sourceLineNo">403</span>  }<a name="line.403"></a>
+<span class="sourceLineNo">404</span><a name="line.404"></a>
+<span class="sourceLineNo">405</span>  @Test<a name="line.405"></a>
+<span class="sourceLineNo">406</span>  public void testPeerBandwidth() throws Exception {<a name="line.406"></a>
+<span class="sourceLineNo">407</span>    ReplicationPeerConfig rpc = new ReplicationPeerConfig();<a name="line.407"></a>
+<span class="sourceLineNo">408</span>    rpc.setClusterKey(KEY_ONE);<a name="line.408"></a>
 <span class="sourceLineNo">409</span><a name="line.409"></a>
-<span class="sourceLineNo">410</span>    rpc.setBandwidth(2097152);<a name="line.410"></a>
-<span class="sourceLineNo">411</span>    admin.updateReplicationPeerConfig(ID_ONE, rpc).join();<a name="line.411"></a>
-<span class="sourceLineNo">412</span>    assertEquals(2097152, admin.getReplicationPeerConfig(ID_ONE).join().getBandwidth());<a name="line.412"></a>
+<span class="sourceLineNo">410</span>    admin.addReplicationPeer(ID_ONE, rpc).join();<a name="line.410"></a>
+<span class="sourceLineNo">411</span>    rpc = admin.getReplicationPeerConfig(ID_ONE).get();<a name="line.411"></a>
+<span class="sourceLineNo">412</span>    assertEquals(0, rpc.getBandwidth());<a name="line.412"></a>
 <span class="sourceLineNo">413</span><a name="line.413"></a>
-<span class="sourceLineNo">414</span>    admin.removeReplicationPeer(ID_ONE).join();<a name="line.414"></a>
-<span class="sourceLineNo">415</span>  }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>}<a name="line.416"></a>
+<span class="sourceLineNo">414</span>    rpc.setBandwidth(2097152);<a name="line.414"></a>
+<span class="sourceLineNo">415</span>    admin.updateReplicationPeerConfig(ID_ONE, rpc).join();<a name="line.415"></a>
+<span class="sourceLineNo">416</span>    assertEquals(2097152, admin.getReplicationPeerConfig(ID_ONE).join().getBandwidth());<a name="line.416"></a>
+<span class="sourceLineNo">417</span><a name="line.417"></a>
+<span class="sourceLineNo">418</span>    admin.removeReplicationPeer(ID_ONE).join();<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>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncSnapshotAdminApi.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncSnapshotAdminApi.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncSnapshotAdminApi.html
index aa19a52..cc0d7dc 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncSnapshotAdminApi.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncSnapshotAdminApi.html
@@ -28,7 +28,7 @@
 <span class="sourceLineNo">020</span><a name="line.20"></a>
 <span class="sourceLineNo">021</span>import org.apache.hadoop.hbase.TableName;<a name="line.21"></a>
 <span class="sourceLineNo">022</span>import org.apache.hadoop.hbase.testclassification.ClientTests;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.23"></a>
+<span class="sourceLineNo">023</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.23"></a>
 <span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.24"></a>
 <span class="sourceLineNo">025</span>import org.junit.After;<a name="line.25"></a>
 <span class="sourceLineNo">026</span>import org.junit.Assert;<a name="line.26"></a>
@@ -43,7 +43,7 @@
 <span class="sourceLineNo">035</span>import java.util.List;<a name="line.35"></a>
 <span class="sourceLineNo">036</span>import java.util.regex.Pattern;<a name="line.36"></a>
 <span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>@Category({ MediumTests.class, ClientTests.class })<a name="line.38"></a>
+<span class="sourceLineNo">038</span>@Category({ LargeTests.class, ClientTests.class })<a name="line.38"></a>
 <span class="sourceLineNo">039</span>public class TestAsyncSnapshotAdminApi extends TestAsyncAdminBase {<a name="line.39"></a>
 <span class="sourceLineNo">040</span><a name="line.40"></a>
 <span class="sourceLineNo">041</span>  String snapshotName1 = "snapshotName1";<a name="line.41"></a>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html b/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html
index ac13492..ce4327f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.OperationStatusCode.html
@@ -1101,284 +1101,280 @@
 <span class="sourceLineNo">1093</span>    "hbase.regionserver.wal.enablecompression";<a name="line.1093"></a>
 <span class="sourceLineNo">1094</span><a name="line.1094"></a>
 <span class="sourceLineNo">1095</span>  /** Configuration name of WAL storage policy<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>   * Valid values are:<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span>   *  NONE: no preference in destination of block replicas<a name="line.1097"></a>
-<span class="sourceLineNo">1098</span>   *  ONE_SSD: place only one block replica in SSD and the remaining in default storage<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   *  and ALL_SSD: place all block replicas on SSD<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   *<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>   * See http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html*/<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>  public static final String WAL_STORAGE_POLICY = "hbase.wal.storage.policy";<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>  public static final String DEFAULT_WAL_STORAGE_POLICY = "NONE";<a name="line.1103"></a>
+<span class="sourceLineNo">1096</span>   * Valid values are: HOT, COLD, WARM, ALL_SSD, ONE_SSD, LAZY_PERSIST<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span>   * See http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html*/<a name="line.1097"></a>
+<span class="sourceLineNo">1098</span>  public static final String WAL_STORAGE_POLICY = "hbase.wal.storage.policy";<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span>  public static final String DEFAULT_WAL_STORAGE_POLICY = "HOT";<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span><a name="line.1100"></a>
+<span class="sourceLineNo">1101</span>  /** Region in Transition metrics threshold time */<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span>  public static final String METRICS_RIT_STUCK_WARNING_THRESHOLD =<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span>      "hbase.metrics.rit.stuck.warning.threshold";<a name="line.1103"></a>
 <span class="sourceLineNo">1104</span><a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>  /** Region in Transition metrics threshold time */<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>  public static final String METRICS_RIT_STUCK_WARNING_THRESHOLD =<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>      "hbase.metrics.rit.stuck.warning.threshold";<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span><a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>  public static final String LOAD_BALANCER_SLOP_KEY = "hbase.regions.slop";<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span><a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>  /** delimiter used between portions of a region name */<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>  public static final int DELIMITER = ',';<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span><a name="line.1113"></a>
-<span class="sourceLineNo">1114</span>  /**<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>   * QOS attributes: these attributes are used to demarcate RPC call processing<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>   * by different set of handlers. For example, HIGH_QOS tagged methods are<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>   * handled by high priority handlers.<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>   */<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>  // normal_QOS &lt; replication_QOS &lt; replay_QOS &lt; QOS_threshold &lt; admin_QOS &lt; high_QOS<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span>  public static final int NORMAL_QOS = 0;<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  public static final int REPLICATION_QOS = 5;<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>  public static final int REPLAY_QOS = 6;<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>  public static final int QOS_THRESHOLD = 10;<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>  public static final int ADMIN_QOS = 100;<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>  public static final int HIGH_QOS = 200;<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>  public static final int SYSTEMTABLE_QOS = HIGH_QOS;<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span><a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>  /** Directory under /hbase where archived hfiles are stored */<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>  public static final String HFILE_ARCHIVE_DIRECTORY = "archive";<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span><a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>  /**<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>   * Name of the directory to store all snapshots. See SnapshotDescriptionUtils for<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>   * remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span>   * uni-directional.<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>   */<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>  public static final String SNAPSHOT_DIR_NAME = ".hbase-snapshot";<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span><a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  /* Name of old snapshot directory. See HBASE-8352 for details on why it needs to be renamed */<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span>  public static final String OLD_SNAPSHOT_DIR_NAME = ".snapshot";<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span><a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>  /** Temporary directory used for table creation and deletion */<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>  public static final String HBASE_TEMP_DIRECTORY = ".tmp";<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>  /**<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>   * The period (in milliseconds) between computing region server point in time metrics<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>   */<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>  public static final String REGIONSERVER_METRICS_PERIOD = "hbase.regionserver.metrics.period";<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>  public static final long DEFAULT_REGIONSERVER_METRICS_PERIOD = 5000;<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span>  /** Directories that are not HBase table directories */<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span>  public static final List&lt;String&gt; HBASE_NON_TABLE_DIRS =<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span>    Collections.unmodifiableList(Arrays.asList(new String[] {<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>      HBCK_SIDELINEDIR_NAME, HBASE_TEMP_DIRECTORY, MIGRATION_NAME<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>    }));<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span><a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>  /** Directories that are not HBase user table directories */<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>  public static final List&lt;String&gt; HBASE_NON_USER_TABLE_DIRS =<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>    Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>      new String[] { TableName.META_TABLE_NAME.getNameAsString() },<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>      HBASE_NON_TABLE_DIRS.toArray())));<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span><a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>  /** Health script related settings. */<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>  public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>  public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>  public static final String HEALTH_CHORE_WAKE_FREQ =<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>      "hbase.node.health.script.frequency";<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>  public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>  /**<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>   * The maximum number of health check failures a server can encounter consecutively.<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>   */<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span>  public static final String HEALTH_FAILURE_THRESHOLD =<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>      "hbase.node.health.failure.threshold";<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>  public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span><a name="line.1172"></a>
-<span class="sourceLineNo">1173</span><a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>  /**<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>   * Setting to activate, or not, the publication of the status by the master. Default<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>   *  notification is by a multicast message.<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span>   */<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>  public static final String STATUS_PUBLISHED = "hbase.status.published";<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>  public static final boolean STATUS_PUBLISHED_DEFAULT = false;<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span><a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>  /**<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>   * IP to use for the multicast status messages between the master and the clients.<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>   * The default address is chosen as one among others within the ones suitable for multicast<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>   * messages.<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span>   */<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span>  public static final String STATUS_MULTICAST_ADDRESS = "hbase.status.multicast.address.ip";<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span>  public static final String DEFAULT_STATUS_MULTICAST_ADDRESS = "226.1.1.3";<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span><a name="line.1188"></a>
-<span class="sourceLineNo">1189</span>  /**<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span>   * The address to use for binding the local socket for receiving multicast. Defaults to<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span>   * 0.0.0.0.<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-9961"&gt;HBASE-9961&lt;/a&gt;<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>   */<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>  public static final String STATUS_MULTICAST_BIND_ADDRESS =<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span>      "hbase.status.multicast.bind.address.ip";<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span>  public static final String DEFAULT_STATUS_MULTICAST_BIND_ADDRESS = "0.0.0.0";<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span><a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>  /**<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>   * The port to use for the multicast messages.<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span>   */<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span>  public static final String STATUS_MULTICAST_PORT = "hbase.status.multicast.address.port";<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>  public static final int DEFAULT_STATUS_MULTICAST_PORT = 16100;<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span><a name="line.1203"></a>
-<span class="sourceLineNo">1204</span>  public static final long NO_NONCE = 0;<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span><a name="line.1205"></a>
-<span class="sourceLineNo">1206</span>  /** Default cipher for encryption */<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span>  public static final String CIPHER_AES = "AES";<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span><a name="line.1208"></a>
-<span class="sourceLineNo">1209</span>  /** Configuration key for the crypto algorithm provider, a class name */<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span>  public static final String CRYPTO_CIPHERPROVIDER_CONF_KEY = "hbase.crypto.cipherprovider";<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span><a name="line.1211"></a>
-<span class="sourceLineNo">1212</span>  /** Configuration key for the crypto key provider, a class name */<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span>  public static final String CRYPTO_KEYPROVIDER_CONF_KEY = "hbase.crypto.keyprovider";<a name="line.1213"></a>
+<span class="sourceLineNo">1105</span>  public static final String LOAD_BALANCER_SLOP_KEY = "hbase.regions.slop";<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span><a name="line.1106"></a>
+<span class="sourceLineNo">1107</span>  /** delimiter used between portions of a region name */<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span>  public static final int DELIMITER = ',';<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span><a name="line.1109"></a>
+<span class="sourceLineNo">1110</span>  /**<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span>   * QOS attributes: these attributes are used to demarcate RPC call processing<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span>   * by different set of handlers. For example, HIGH_QOS tagged methods are<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span>   * handled by high priority handlers.<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>   */<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span>  // normal_QOS &lt; replication_QOS &lt; replay_QOS &lt; QOS_threshold &lt; admin_QOS &lt; high_QOS<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>  public static final int NORMAL_QOS = 0;<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span>  public static final int REPLICATION_QOS = 5;<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span>  public static final int REPLAY_QOS = 6;<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span>  public static final int QOS_THRESHOLD = 10;<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span>  public static final int ADMIN_QOS = 100;<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>  public static final int HIGH_QOS = 200;<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span>  public static final int SYSTEMTABLE_QOS = HIGH_QOS;<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span><a name="line.1123"></a>
+<span class="sourceLineNo">1124</span>  /** Directory under /hbase where archived hfiles are stored */<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span>  public static final String HFILE_ARCHIVE_DIRECTORY = "archive";<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span><a name="line.1126"></a>
+<span class="sourceLineNo">1127</span>  /**<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span>   * Name of the directory to store all snapshots. See SnapshotDescriptionUtils for<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span>   * remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span>   * uni-directional.<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>   */<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span>  public static final String SNAPSHOT_DIR_NAME = ".hbase-snapshot";<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span><a name="line.1133"></a>
+<span class="sourceLineNo">1134</span>  /* Name of old snapshot directory. See HBASE-8352 for details on why it needs to be renamed */<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span>  public static final String OLD_SNAPSHOT_DIR_NAME = ".snapshot";<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span><a name="line.1136"></a>
+<span class="sourceLineNo">1137</span>  /** Temporary directory used for table creation and deletion */<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span>  public static final String HBASE_TEMP_DIRECTORY = ".tmp";<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span>  /**<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span>   * The period (in milliseconds) between computing region server point in time metrics<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span>   */<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span>  public static final String REGIONSERVER_METRICS_PERIOD = "hbase.regionserver.metrics.period";<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span>  public static final long DEFAULT_REGIONSERVER_METRICS_PERIOD = 5000;<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span>  /** Directories that are not HBase table directories */<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span>  public static final List&lt;String&gt; HBASE_NON_TABLE_DIRS =<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span>    Collections.unmodifiableList(Arrays.asList(new String[] {<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>      HBCK_SIDELINEDIR_NAME, HBASE_TEMP_DIRECTORY, MIGRATION_NAME<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span>    }));<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span><a name="line.1149"></a>
+<span class="sourceLineNo">1150</span>  /** Directories that are not HBase user table directories */<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span>  public static final List&lt;String&gt; HBASE_NON_USER_TABLE_DIRS =<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>    Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span>      new String[] { TableName.META_TABLE_NAME.getNameAsString() },<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span>      HBASE_NON_TABLE_DIRS.toArray())));<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span><a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>  /** Health script related settings. */<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span>  public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>  public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span>  public static final String HEALTH_CHORE_WAKE_FREQ =<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span>      "hbase.node.health.script.frequency";<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span>  public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span>  /**<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span>   * The maximum number of health check failures a server can encounter consecutively.<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span>   */<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>  public static final String HEALTH_FAILURE_THRESHOLD =<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span>      "hbase.node.health.failure.threshold";<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span>  public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span><a name="line.1168"></a>
+<span class="sourceLineNo">1169</span><a name="line.1169"></a>
+<span class="sourceLineNo">1170</span>  /**<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span>   * Setting to activate, or not, the publication of the status by the master. Default<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span>   *  notification is by a multicast message.<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span>   */<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span>  public static final String STATUS_PUBLISHED = "hbase.status.published";<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>  public static final boolean STATUS_PUBLISHED_DEFAULT = false;<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span><a name="line.1176"></a>
+<span class="sourceLineNo">1177</span>  /**<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span>   * IP to use for the multicast status messages between the master and the clients.<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span>   * The default address is chosen as one among others within the ones suitable for multicast<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span>   * messages.<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span>   */<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span>  public static final String STATUS_MULTICAST_ADDRESS = "hbase.status.multicast.address.ip";<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span>  public static final String DEFAULT_STATUS_MULTICAST_ADDRESS = "226.1.1.3";<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span><a name="line.1184"></a>
+<span class="sourceLineNo">1185</span>  /**<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span>   * The address to use for binding the local socket for receiving multicast. Defaults to<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span>   * 0.0.0.0.<a name="line.1187"></a>
+<span class="sourceLineNo">1188</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-9961"&gt;HBASE-9961&lt;/a&gt;<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span>   */<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span>  public static final String STATUS_MULTICAST_BIND_ADDRESS =<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span>      "hbase.status.multicast.bind.address.ip";<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span>  public static final String DEFAULT_STATUS_MULTICAST_BIND_ADDRESS = "0.0.0.0";<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span><a name="line.1193"></a>
+<span class="sourceLineNo">1194</span>  /**<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span>   * The port to use for the multicast messages.<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span>   */<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span>  public static final String STATUS_MULTICAST_PORT = "hbase.status.multicast.address.port";<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span>  public static final int DEFAULT_STATUS_MULTICAST_PORT = 16100;<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span><a name="line.1199"></a>
+<span class="sourceLineNo">1200</span>  public static final long NO_NONCE = 0;<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span>  /** Default cipher for encryption */<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span>  public static final String CIPHER_AES = "AES";<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span><a name="line.1204"></a>
+<span class="sourceLineNo">1205</span>  /** Configuration key for the crypto algorithm provider, a class name */<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span>  public static final String CRYPTO_CIPHERPROVIDER_CONF_KEY = "hbase.crypto.cipherprovider";<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span><a name="line.1207"></a>
+<span class="sourceLineNo">1208</span>  /** Configuration key for the crypto key provider, a class name */<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span>  public static final String CRYPTO_KEYPROVIDER_CONF_KEY = "hbase.crypto.keyprovider";<a name="line.1209"></a>
+<span class="sourceLineNo">1210</span><a name="line.1210"></a>
+<span class="sourceLineNo">1211</span>  /** Configuration key for the crypto key provider parameters */<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span>  public static final String CRYPTO_KEYPROVIDER_PARAMETERS_KEY =<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span>      "hbase.crypto.keyprovider.parameters";<a name="line.1213"></a>
 <span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span>  /** Configuration key for the crypto key provider parameters */<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span>  public static final String CRYPTO_KEYPROVIDER_PARAMETERS_KEY =<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span>      "hbase.crypto.keyprovider.parameters";<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span><a name="line.1218"></a>
-<span class="sourceLineNo">1219</span>  /** Configuration key for the name of the master key for the cluster, a string */<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span>  public static final String CRYPTO_MASTERKEY_NAME_CONF_KEY = "hbase.crypto.master.key.name";<a name="line.1220"></a>
+<span class="sourceLineNo">1215</span>  /** Configuration key for the name of the master key for the cluster, a string */<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span>  public static final String CRYPTO_MASTERKEY_NAME_CONF_KEY = "hbase.crypto.master.key.name";<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span><a name="line.1217"></a>
+<span class="sourceLineNo">1218</span>  /** Configuration key for the name of the alternate master key for the cluster, a string */<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span>  public static final String CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY =<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span>    "hbase.crypto.master.alternate.key.name";<a name="line.1220"></a>
 <span class="sourceLineNo">1221</span><a name="line.1221"></a>
-<span class="sourceLineNo">1222</span>  /** Configuration key for the name of the alternate master key for the cluster, a string */<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span>  public static final String CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY =<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span>    "hbase.crypto.master.alternate.key.name";<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span><a name="line.1225"></a>
-<span class="sourceLineNo">1226</span>  /** Configuration key for the algorithm to use when encrypting the WAL, a string */<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span>  public static final String CRYPTO_WAL_ALGORITHM_CONF_KEY = "hbase.crypto.wal.algorithm";<a name="line.1227"></a>
-<span class="sourceLineNo">1228</span><a name="line.1228"></a>
-<span class="sourceLineNo">1229</span>  /** Configuration key for the name of the master WAL encryption key for the cluster, a string */<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span>  public static final String CRYPTO_WAL_KEY_NAME_CONF_KEY = "hbase.crypto.wal.key.name";<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span><a name="line.1231"></a>
-<span class="sourceLineNo">1232</span>  /** Configuration key for the algorithm used for creating jks key, a string */<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span>  public static final String CRYPTO_KEY_ALGORITHM_CONF_KEY = "hbase.crypto.key.algorithm";<a name="line.1233"></a>
+<span class="sourceLineNo">1222</span>  /** Configuration key for the algorithm to use when encrypting the WAL, a string */<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span>  public static final String CRYPTO_WAL_ALGORITHM_CONF_KEY = "hbase.crypto.wal.algorithm";<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span><a name="line.1224"></a>
+<span class="sourceLineNo">1225</span>  /** Configuration key for the name of the master WAL encryption key for the cluster, a string */<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span>  public static final String CRYPTO_WAL_KEY_NAME_CONF_KEY = "hbase.crypto.wal.key.name";<a name="line.1226"></a>
+<span class="sourceLineNo">1227</span><a name="line.1227"></a>
+<span class="sourceLineNo">1228</span>  /** Configuration key for the algorithm used for creating jks key, a string */<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span>  public static final String CRYPTO_KEY_ALGORITHM_CONF_KEY = "hbase.crypto.key.algorithm";<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span><a name="line.1230"></a>
+<span class="sourceLineNo">1231</span>  /** Configuration key for the name of the alternate cipher algorithm for the cluster, a string */<a name="line.1231"></a>
+<span class="sourceLineNo">1232</span>  public static final String CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY =<a name="line.1232"></a>
+<span class="sourceLineNo">1233</span>      "hbase.crypto.alternate.key.algorithm";<a name="line.1233"></a>
 <span class="sourceLineNo">1234</span><a name="line.1234"></a>
-<span class="sourceLineNo">1235</span>  /** Configuration key for the name of the alternate cipher algorithm for the cluster, a string */<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span>  public static final String CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY =<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span>      "hbase.crypto.alternate.key.algorithm";<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span><a name="line.1238"></a>
-<span class="sourceLineNo">1239</span>  /** Configuration key for enabling WAL encryption, a boolean */<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span>  public static final String ENABLE_WAL_ENCRYPTION = "hbase.regionserver.wal.encryption";<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span><a name="line.1241"></a>
-<span class="sourceLineNo">1242</span>  /** Configuration key for setting RPC codec class name */<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span>  public static final String RPC_CODEC_CONF_KEY = "hbase.client.rpc.codec";<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span><a name="line.1244"></a>
-<span class="sourceLineNo">1245</span>  /** Configuration key for setting replication codec class name */<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span>  public static final String REPLICATION_CODEC_CONF_KEY = "hbase.replication.rpc.codec";<a name="line.1246"></a>
+<span class="sourceLineNo">1235</span>  /** Configuration key for enabling WAL encryption, a boolean */<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span>  public static final String ENABLE_WAL_ENCRYPTION = "hbase.regionserver.wal.encryption";<a name="line.1236"></a>
+<span class="sourceLineNo">1237</span><a name="line.1237"></a>
+<span class="sourceLineNo">1238</span>  /** Configuration key for setting RPC codec class name */<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span>  public static final String RPC_CODEC_CONF_KEY = "hbase.client.rpc.codec";<a name="line.1239"></a>
+<span class="sourceLineNo">1240</span><a name="line.1240"></a>
+<span class="sourceLineNo">1241</span>  /** Configuration key for setting replication codec class name */<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span>  public static final String REPLICATION_CODEC_CONF_KEY = "hbase.replication.rpc.codec";<a name="line.1242"></a>
+<span class="sourceLineNo">1243</span><a name="line.1243"></a>
+<span class="sourceLineNo">1244</span>  /** Maximum number of threads used by the replication source for shipping edits to the sinks */<a name="line.1244"></a>
+<span class="sourceLineNo">1245</span>  public static final String REPLICATION_SOURCE_MAXTHREADS_KEY =<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span>      "hbase.replication.source.maxthreads";<a name="line.1246"></a>
 <span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span>  /** Maximum number of threads used by the replication source for shipping edits to the sinks */<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span>  public static final String REPLICATION_SOURCE_MAXTHREADS_KEY =<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span>      "hbase.replication.source.maxthreads";<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span><a name="line.1251"></a>
-<span class="sourceLineNo">1252</span>  public static final int REPLICATION_SOURCE_MAXTHREADS_DEFAULT = 10;<a name="line.1252"></a>
+<span class="sourceLineNo">1248</span>  public static final int REPLICATION_SOURCE_MAXTHREADS_DEFAULT = 10;<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span><a name="line.1249"></a>
+<span class="sourceLineNo">1250</span>  /** Config for pluggable consensus provider */<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span>  public static final String HBASE_COORDINATED_STATE_MANAGER_CLASS =<a name="line.1251"></a>
+<span class="sourceLineNo">1252</span>    "hbase.coordinated.state.manager.class";<a name="line.1252"></a>
 <span class="sourceLineNo">1253</span><a name="line.1253"></a>
-<span class="sourceLineNo">1254</span>  /** Config for pluggable consensus provider */<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span>  public static final String HBASE_COORDINATED_STATE_MANAGER_CLASS =<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span>    "hbase.coordinated.state.manager.class";<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span><a name="line.1257"></a>
-<span class="sourceLineNo">1258</span>  /** Configuration key for SplitLog manager timeout */<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span>  public static final String HBASE_SPLITLOG_MANAGER_TIMEOUT = "hbase.splitlog.manager.timeout";<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span><a name="line.1260"></a>
-<span class="sourceLineNo">1261</span>  /**<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span>   * Configuration keys for Bucket cache<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span>   */<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span>  // TODO moving these bucket cache implementation specific configs to this level is violation of<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span>  // encapsulation. But as these has to be referred from hbase-common and bucket cache<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span>  // sits in hbase-server, there were no other go! Can we move the cache implementation to<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span>  // hbase-common?<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span><a name="line.1268"></a>
-<span class="sourceLineNo">1269</span>  /**<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span>   * Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span>   * to the file that will host the file-based cache.  See BucketCache#getIOEngineFromName() for<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span>   * list of supported ioengine options.<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span>   * &lt;p&gt;Set this option and a non-zero {@link #BUCKET_CACHE_SIZE_KEY} to enable bucket cache.<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span>   */<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span>  public static final String BUCKET_CACHE_IOENGINE_KEY = "hbase.bucketcache.ioengine";<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span><a name="line.1276"></a>
-<span class="sourceLineNo">1277</span>  /**<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span>   * When using bucket cache, this is a float that EITHER represents a percentage of total heap<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span>   * memory size to give to the cache (if &amp;lt; 1.0) OR, it is the capacity in<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span>   * megabytes of the cache.<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span>   */<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span>  public static final String BUCKET_CACHE_SIZE_KEY = "hbase.bucketcache.size";<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span><a name="line.1283"></a>
-<span class="sourceLineNo">1284</span>  /**<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span>   * HConstants for fast fail on the client side follow<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span>   */<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span>  /**<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span>   * Config for enabling/disabling the fast fail mode.<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span>   */<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span>  public static final String HBASE_CLIENT_FAST_FAIL_MODE_ENABLED =<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span>      "hbase.client.fast.fail.mode.enabled";<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span><a name="line.1292"></a>
-<span class="sourceLineNo">1293</span>  public static final boolean HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT =<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span>      false;<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span><a name="line.1295"></a>
-<span class="sourceLineNo">1296</span>  public static final String HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS =<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span>      "hbase.client.fastfail.threshold";<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span><a name="line.1298"></a>
-<span class="sourceLineNo">1299</span>  public static final long HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT =<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span>      60000;<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span><a name="line.1301"></a>
-<span class="sourceLineNo">1302</span>  public static final String HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS =<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>      "hbase.client.fast.fail.cleanup.duration";<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span><a name="line.1304"></a>
-<span class="sourceLineNo">1305</span>  public static final long HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT =<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span>      600000;<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span><a name="line.1307"></a>
-<span class="sourceLineNo">1308</span>  public static final String HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL =<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span>      "hbase.client.fast.fail.interceptor.impl";<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span><a name="line.1310"></a>
-<span class="sourceLineNo">1311</span>  /** Config key for if the server should send backpressure and if the client should listen to<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span>   * that backpressure from the server */<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span>  public static final String ENABLE_CLIENT_BACKPRESSURE = "hbase.client.backpressure.enabled";<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span>  public static final boolean DEFAULT_ENABLE_CLIENT_BACKPRESSURE = false;<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span><a name="line.1315"></a>
-<span class="sourceLineNo">1316</span>  public static final String HEAP_OCCUPANCY_LOW_WATERMARK_KEY =<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span>      "hbase.heap.occupancy.low_water_mark";<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span>  public static final float DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK = 0.95f;<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span>  public static final String HEAP_OCCUPANCY_HIGH_WATERMARK_KEY =<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span>      "hbase.heap.occupancy.high_water_mark";<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span>  public static final float DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK = 0.98f;<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span><a name="line.1322"></a>
-<span class="sourceLineNo">1323</span>  /**<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span>   * The max number of threads used for splitting storefiles in parallel during<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span>   * the region split process.<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span>   */<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span>  public static final String REGION_SPLIT_THREADS_MAX =<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span>    "hbase.regionserver.region.split.threads.max";<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span><a name="line.1329"></a>
-<span class="sourceLineNo">1330</span>  /** Canary config keys */<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>  public static final String HBASE_CANARY_WRITE_DATA_TTL_KEY = "hbase.canary.write.data.ttl";<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span><a name="line.1332"></a>
-<span class="sourceLineNo">1333</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY =<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span>      "hbase.canary.write.perserver.regions.lowerLimit";<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span><a name="line.1335"></a>
-<span class="sourceLineNo">1336</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY =<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span>      "hbase.canary.write.perserver.regions.upperLimit";<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span><a name="line.1338"></a>
-<span class="sourceLineNo">1339</span>  public static final String HBASE_CANARY_WRITE_VALUE_SIZE_KEY = "hbase.canary.write.value.size";<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span><a name="line.1340"></a>
-<span class="sourceLineNo">1341</span>  public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>      "hbase.canary.write.table.check.period";<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span>  <a name="line.1343"></a>
-<span class="sourceLineNo">1344</span>  public static final String HBASE_CANARY_READ_RAW_SCAN_KEY = "hbase.canary.read.raw.enabled";<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span><a name="line.1345"></a>
-<span class="sourceLineNo">1346</span>  /**<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span>   * Configuration keys for programmatic JAAS configuration for secured ZK interaction<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>   */<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span>  public static final String ZK_CLIENT_KEYTAB_FILE = "hbase.zookeeper.client.keytab.file";<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>  public static final String ZK_CLIENT_KERBEROS_PRINCIPAL =<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span>      "hbase.zookeeper.client.kerberos.principal";<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span>  public static final String ZK_SERVER_KEYTAB_FILE = "hbase.zookeeper.server.keytab.file";<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span>  public static final String ZK_SERVER_KERBEROS_PRINCIPAL =<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span>      "hbase.zookeeper.server.kerberos.principal";<a name="line.1354"></a>
-<span class="sourceLineNo">1355</span><a name="line.1355"></a>
-<span class="sourceLineNo">1356</span>  /** Config key for hbase temporary directory in hdfs */<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span>  public static final String TEMPORARY_FS_DIRECTORY_KEY = "hbase.fs.tmp.dir";<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span>  public static final String DEFAULT_TEMPORARY_HDFS_DIRECTORY = "/user/"<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span>      + System.getProperty("user.name") + "/hbase-staging";<a name="line.1359"></a>
+<span class="sourceLineNo">1254</span>  /** Configuration key for SplitLog manager timeout */<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span>  public static final String HBASE_SPLITLOG_MANAGER_TIMEOUT = "hbase.splitlog.manager.timeout";<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span><a name="line.1256"></a>
+<span class="sourceLineNo">1257</span>  /**<a name="line.1257"></a>
+<span class="sourceLineNo">1258</span>   * Configuration keys for Bucket cache<a name="line.1258"></a>
+<span class="sourceLineNo">1259</span>   */<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span>  // TODO moving these bucket cache implementation specific configs to this level is violation of<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span>  // encapsulation. But as these has to be referred from hbase-common and bucket cache<a name="line.1261"></a>
+<span class="sourceLineNo">1262</span>  // sits in hbase-server, there were no other go! Can we move the cache implementation to<a name="line.1262"></a>
+<span class="sourceLineNo">1263</span>  // hbase-common?<a name="line.1263"></a>
+<span class="sourceLineNo">1264</span><a name="line.1264"></a>
+<span class="sourceLineNo">1265</span>  /**<a name="line.1265"></a>
+<span class="sourceLineNo">1266</span>   * Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path<a name="line.1266"></a>
+<span class="sourceLineNo">1267</span>   * to the file that will host the file-based cache.  See BucketCache#getIOEngineFromName() for<a name="line.1267"></a>
+<span class="sourceLineNo">1268</span>   * list of supported ioengine options.<a name="line.1268"></a>
+<span class="sourceLineNo">1269</span>   * &lt;p&gt;Set this option and a non-zero {@link #BUCKET_CACHE_SIZE_KEY} to enable bucket cache.<a name="line.1269"></a>
+<span class="sourceLineNo">1270</span>   */<a name="line.1270"></a>
+<span class="sourceLineNo">1271</span>  public static final String BUCKET_CACHE_IOENGINE_KEY = "hbase.bucketcache.ioengine";<a name="line.1271"></a>
+<span class="sourceLineNo">1272</span><a name="line.1272"></a>
+<span class="sourceLineNo">1273</span>  /**<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span>   * When using bucket cache, this is a float that EITHER represents a percentage of total heap<a name="line.1274"></a>
+<span class="sourceLineNo">1275</span>   * memory size to give to the cache (if &amp;lt; 1.0) OR, it is the capacity in<a name="line.1275"></a>
+<span class="sourceLineNo">1276</span>   * megabytes of the cache.<a name="line.1276"></a>
+<span class="sourceLineNo">1277</span>   */<a name="line.1277"></a>
+<span class="sourceLineNo">1278</span>  public static final String BUCKET_CACHE_SIZE_KEY = "hbase.bucketcache.size";<a name="line.1278"></a>
+<span class="sourceLineNo">1279</span><a name="line.1279"></a>
+<span class="sourceLineNo">1280</span>  /**<a name="line.1280"></a>
+<span class="sourceLineNo">1281</span>   * HConstants for fast fail on the client side follow<a name="line.1281"></a>
+<span class="sourceLineNo">1282</span>   */<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span>  /**<a name="line.1283"></a>
+<span class="sourceLineNo">1284</span>   * Config for enabling/disabling the fast fail mode.<a name="line.1284"></a>
+<span class="sourceLineNo">1285</span>   */<a name="line.1285"></a>
+<span class="sourceLineNo">1286</span>  public static final String HBASE_CLIENT_FAST_FAIL_MODE_ENABLED =<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span>      "hbase.client.fast.fail.mode.enabled";<a name="line.1287"></a>
+<span class="sourceLineNo">1288</span><a name="line.1288"></a>
+<span class="sourceLineNo">1289</span>  public static final boolean HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT =<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span>      false;<a name="line.1290"></a>
+<span class="sourceLineNo">1291</span><a name="line.1291"></a>
+<span class="sourceLineNo">1292</span>  public static final String HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS =<a name="line.1292"></a>
+<span class="sourceLineNo">1293</span>      "hbase.client.fastfail.threshold";<a name="line.1293"></a>
+<span class="sourceLineNo">1294</span><a name="line.1294"></a>
+<span class="sourceLineNo">1295</span>  public static final long HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT =<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span>      60000;<a name="line.1296"></a>
+<span class="sourceLineNo">1297</span><a name="line.1297"></a>
+<span class="sourceLineNo">1298</span>  public static final String HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS =<a name="line.1298"></a>
+<span class="sourceLineNo">1299</span>      "hbase.client.fast.fail.cleanup.duration";<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span><a name="line.1300"></a>
+<span class="sourceLineNo">1301</span>  public static final long HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT =<a name="line.1301"></a>
+<span class="sourceLineNo">1302</span>      600000;<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span><a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>  public static final String HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL =<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span>      "hbase.client.fast.fail.interceptor.impl";<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span><a name="line.1306"></a>
+<span class="sourceLineNo">1307</span>  /** Config key for if the server should send backpressure and if the client should listen to<a name="line.1307"></a>
+<span class="sourceLineNo">1308</span>   * that backpressure from the server */<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span>  public static final String ENABLE_CLIENT_BACKPRESSURE = "hbase.client.backpressure.enabled";<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span>  public static final boolean DEFAULT_ENABLE_CLIENT_BACKPRESSURE = false;<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span><a name="line.1311"></a>
+<span class="sourceLineNo">1312</span>  public static final String HEAP_OCCUPANCY_LOW_WATERMARK_KEY =<a name="line.1312"></a>
+<span class="sourceLineNo">1313</span>      "hbase.heap.occupancy.low_water_mark";<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span>  public static final float DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK = 0.95f;<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span>  public static final String HEAP_OCCUPANCY_HIGH_WATERMARK_KEY =<a name="line.1315"></a>
+<span class="sourceLineNo">1316</span>      "hbase.heap.occupancy.high_water_mark";<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span>  public static final float DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK = 0.98f;<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span><a name="line.1318"></a>
+<span class="sourceLineNo">1319</span>  /**<a name="line.1319"></a>
+<span class="sourceLineNo">1320</span>   * The max number of threads used for splitting storefiles in parallel during<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span>   * the region split process.<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span>   */<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span>  public static final String REGION_SPLIT_THREADS_MAX =<a name="line.1323"></a>
+<span class="sourceLineNo">1324</span>    "hbase.regionserver.region.split.threads.max";<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span><a name="line.1325"></a>
+<span class="sourceLineNo">1326</span>  /** Canary config keys */<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span>  public static final String HBASE_CANARY_WRITE_DATA_TTL_KEY = "hbase.canary.write.data.ttl";<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span><a name="line.1328"></a>
+<span class="sourceLineNo">1329</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY =<a name="line.1329"></a>
+<span class="sourceLineNo">1330</span>      "hbase.canary.write.perserver.regions.lowerLimit";<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span><a name="line.1331"></a>
+<span class="sourceLineNo">1332</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY =<a name="line.1332"></a>
+<span class="sourceLineNo">1333</span>      "hbase.canary.write.perserver.regions.upperLimit";<a name="line.1333"></a>
+<span class="sourceLineNo">1334</span><a name="line.1334"></a>
+<span class="sourceLineNo">1335</span>  public static final String HBASE_CANARY_WRITE_VALUE_SIZE_KEY = "hbase.canary.write.value.size";<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span><a name="line.1336"></a>
+<span class="sourceLineNo">1337</span>  public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span>      "hbase.canary.write.table.check.period";<a name="line.1338"></a>
+<span class="sourceLineNo">1339</span>  <a name="line.1339"></a>
+<span class="sourceLineNo">1340</span>  public static final String HBASE_CANARY_READ_RAW_SCAN_KEY = "hbase.canary.read.raw.enabled";<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span><a name="line.1341"></a>
+<span class="sourceLineNo">1342</span>  /**<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span>   * Configuration keys for programmatic JAAS configuration for secured ZK interaction<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span>   */<a name="line.1344"></a>
+<span class="sourceLineNo">1345</span>  public static final String ZK_CLIENT_KEYTAB_FILE = "hbase.zookeeper.client.keytab.file";<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span>  public static final String ZK_CLIENT_KERBEROS_PRINCIPAL =<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span>      "hbase.zookeeper.client.kerberos.principal";<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span>  public static final String ZK_SERVER_KEYTAB_FILE = "hbase.zookeeper.server.keytab.file";<a name="line.1348"></a>
+<span class="sourceLineNo">1349</span>  public static final String ZK_SERVER_KERBEROS_PRINCIPAL =<a name="line.1349"></a>
+<span class="sourceLineNo">1350</span>      "hbase.zookeeper.server.kerberos.principal";<a name="line.1350"></a>
+<span class="sourceLineNo">1351</span><a name="line.1351"></a>
+<span class="sourceLineNo">1352</span>  /** Config key for hbase temporary directory in hdfs */<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span>  public static final String TEMPORARY_FS_DIRECTORY_KEY = "hbase.fs.tmp.dir";<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span>  public static final String DEFAULT_TEMPORARY_HDFS_DIRECTORY = "/user/"<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span>      + System.getProperty("user.name") + "/hbase-staging";<a name="line.1355"></a>
+<span class="sourceLineNo">1356</span><a name="line.1356"></a>
+<span class="sourceLineNo">1357</span>  public static final String SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT =<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span>      "hbase.snapshot.restore.take.failsafe.snapshot";<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span>  public static final boolean DEFAULT_SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT = false;<a name="line.1359"></a>
 <span class="sourceLineNo">1360</span><a name="line.1360"></a>
-<span class="sourceLineNo">1361</span>  public static final String SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT =<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span>      "hbase.snapshot.restore.take.failsafe.snapshot";<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>  public static final boolean DEFAULT_SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT = false;<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span><a name="line.1364"></a>
-<span class="sourceLineNo">1365</span>  public static final String SNAPSHOT_RESTORE_FAILSAFE_NAME =<a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>      "hbase.snapshot.restore.failsafe.name";<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span>  public static final String DEFAULT_SNAPSHOT_RESTORE_FAILSAFE_NAME =<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>      "hbase-failsafe-{snapshot.name}-{restore.timestamp}";<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span><a name="line.1369"></a>
-<span class="sourceLineNo">1370</span>  private HConstants() {<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span>    // Can't be instantiated with this ctor.<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span>  }<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>}<a name="line.1373"></a>
+<span class="sourceLineNo">1361</span>  public static final String SNAPSHOT_RESTORE_FAILSAFE_NAME =<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span>      "hbase.snapshot.restore.failsafe.name";<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span>  public static final String DEFAULT_SNAPSHOT_RESTORE_FAILSAFE_NAME =<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span>      "hbase-failsafe-{snapshot.name}-{restore.timestamp}";<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span><a name="line.1365"></a>
+<span class="sourceLineNo">1366</span>  private HConstants() {<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span>    // Can't be instantiated with this ctor.<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span>  }<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span>}<a name="line.1369"></a>
 
 
 


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

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


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

Branch: refs/heads/asf-site
Commit: f8f0a03262a9457c313bc82e7650510997fee61c
Parents: 8097dd9
Author: jenkins <bu...@apache.org>
Authored: Sat May 27 14:59:04 2017 +0000
Committer: jenkins <bu...@apache.org>
Committed: Sat May 27 14:59:04 2017 +0000

----------------------------------------------------------------------
 acid-semantics.html                             |     4 +-
 apache_hbase_reference_guide.pdf                |     4 +-
 apache_hbase_reference_guide.pdfmarks           |     4 +-
 apidocs/constant-values.html                    |     2 +-
 apidocs/index-all.html                          |     8 +-
 apidocs/org/apache/hadoop/hbase/HConstants.html |   184 +-
 .../hbase/quotas/ThrottlingException.Type.html  |     4 +-
 .../org/apache/hadoop/hbase/HConstants.html     |   538 +-
 bulk-loads.html                                 |     4 +-
 checkstyle-aggregate.html                       | 21660 ++++++++---------
 checkstyle.rss                                  |     8 +-
 coc.html                                        |     4 +-
 cygwin.html                                     |     4 +-
 dependencies.html                               |     4 +-
 dependency-convergence.html                     |     4 +-
 dependency-info.html                            |     4 +-
 dependency-management.html                      |     4 +-
 devapidocs/allclasses-frame.html                |     1 -
 devapidocs/allclasses-noframe.html              |     1 -
 devapidocs/constant-values.html                 |     8 +-
 devapidocs/index-all.html                       |    50 +-
 .../org/apache/hadoop/hbase/HConstants.html     |   186 +-
 .../hadoop/hbase/backup/package-tree.html       |     2 +-
 .../class-use/InterfaceAudience.Private.html    |    16 +-
 .../hbase/classification/package-tree.html      |     8 +-
 .../hadoop/hbase/client/package-tree.html       |    24 +-
 .../hadoop/hbase/filter/package-tree.html       |     4 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     6 +-
 .../apache/hadoop/hbase/ipc/NettyRpcServer.html |     2 +-
 .../hbase/ipc/NettyServerRpcConnection.html     |     2 +-
 .../RpcServer.BlockingServiceAndInterface.html  |    12 +-
 .../hadoop/hbase/ipc/RpcServer.CallCleanup.html |     4 +-
 .../org/apache/hadoop/hbase/ipc/RpcServer.html  |   203 +-
 .../ServerRpcConnection.ByteBuffByteInput.html  |    20 +-
 .../hadoop/hbase/ipc/ServerRpcConnection.html   |   186 +-
 .../hadoop/hbase/ipc/SimpleRpcServer.html       |     2 +-
 .../hbase/ipc/SimpleServerRpcConnection.html    |     2 +-
 .../ipc/class-use/FatalConnectionException.html |     4 +-
 .../apache/hadoop/hbase/ipc/package-tree.html   |     2 +-
 .../hadoop/hbase/mapreduce/package-tree.html    |     2 +-
 .../hadoop/hbase/master/package-tree.html       |     4 +-
 .../org/apache/hadoop/hbase/package-tree.html   |    10 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     6 +-
 .../hadoop/hbase/quotas/package-tree.html       |     8 +-
 ...SRpcServices.RegionScannerCloseCallBack.html |     8 +-
 .../RSRpcServices.RegionScannerHolder.html      |    22 +-
 ...pcServices.RegionScannerShippedCallBack.html |    12 +-
 ...RpcServices.RegionScannersCloseCallBack.html |    10 +-
 .../RSRpcServices.ScannerListener.html          |     8 +-
 .../hbase/regionserver/RSRpcServices.html       |   261 +-
 .../hadoop/hbase/regionserver/package-tree.html |    18 +-
 .../regionserver/querymatcher/package-tree.html |     4 +-
 .../hbase/regionserver/wal/package-tree.html    |     2 +-
 ...SaslRpcServer.SaslDigestCallbackHandler.html |    31 +-
 ...aseSaslRpcServer.SaslGssCallbackHandler.html |    12 +-
 .../hbase/security/HBaseSaslRpcServer.html      |   185 +-
 .../security/SaslUtil.QualityOfProtection.html  |    18 +-
 .../apache/hadoop/hbase/security/SaslUtil.html  |    41 +-
 .../hbase/security/class-use/AuthMethod.html    |     7 +-
 .../security/class-use/HBaseSaslRpcServer.html  |    44 +-
 .../hadoop/hbase/security/package-frame.html    |     1 -
 .../hadoop/hbase/security/package-summary.html  |     8 +-
 .../hadoop/hbase/security/package-tree.html     |     2 +-
 .../hadoop/hbase/security/package-use.html      |     9 +-
 .../hadoop/hbase/thrift/package-tree.html       |     2 +-
 .../tmpl/master/MasterStatusTmpl.ImplData.html  |   240 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |    96 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |    48 +-
 .../regionserver/RSStatusTmpl.ImplData.html     |    60 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |    24 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    12 +-
 .../apache/hadoop/hbase/util/package-tree.html  |    10 +-
 .../apache/hadoop/hbase/HConstants.Modify.html  |   538 +-
 .../hbase/HConstants.OperationStatusCode.html   |   538 +-
 .../org/apache/hadoop/hbase/HConstants.html     |   538 +-
 .../org/apache/hadoop/hbase/Version.html        |     6 +-
 .../RpcServer.BlockingServiceAndInterface.html  |  1491 +-
 .../hadoop/hbase/ipc/RpcServer.CallCleanup.html |  1491 +-
 .../org/apache/hadoop/hbase/ipc/RpcServer.html  |  1491 +-
 .../ServerRpcConnection.ByteBuffByteInput.html  |  1642 +-
 .../hadoop/hbase/ipc/ServerRpcConnection.html   |  1642 +-
 ...SRpcServices.RegionScannerCloseCallBack.html |  6708 ++---
 .../RSRpcServices.RegionScannerHolder.html      |  6708 ++---
 ...pcServices.RegionScannerShippedCallBack.html |  6708 ++---
 ...RpcServices.RegionScannersCloseCallBack.html |  6708 ++---
 .../RSRpcServices.ScannerListener.html          |  6708 ++---
 .../hbase/regionserver/RSRpcServices.html       |  6708 ++---
 ...SaslRpcServer.SaslDigestCallbackHandler.html |   374 +-
 ...aseSaslRpcServer.SaslGssCallbackHandler.html |   374 +-
 .../hbase/security/HBaseSaslRpcServer.html      |   374 +-
 .../security/SaslUtil.QualityOfProtection.html  |   209 +-
 .../apache/hadoop/hbase/security/SaslUtil.html  |   209 +-
 .../tmpl/master/MasterStatusTmpl.ImplData.html  |   240 +-
 .../tmpl/master/MasterStatusTmpl.Intf.html      |   240 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |   240 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |    68 +-
 .../regionserver/RSStatusTmpl.ImplData.html     |    60 +-
 .../tmpl/regionserver/RSStatusTmpl.Intf.html    |    60 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |    60 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    20 +-
 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      |    12 +-
 .../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                           |    10 +-
 .../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                   |     8 +-
 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/allclasses-frame.html            |     1 +
 testdevapidocs/allclasses-noframe.html          |     1 +
 testdevapidocs/constant-values.html             |    19 +
 testdevapidocs/index-all.html                   |    28 +
 .../hbase/class-use/HBaseTestingUtility.html    |    26 +-
 .../hbase/client/TestAlwaysSetScannerId.html    |    24 +-
 .../hadoop/hbase/client/TestAsyncAdminBase.html |     4 +-
 .../client/TestAsyncNamespaceAdminApi.html      |    20 +-
 .../client/TestAsyncProcedureAdminApi.html      |    16 +-
 .../client/TestAsyncReplicationAdminApi.html    |    32 +-
 .../hbase/client/TestAsyncTableAdminApi.html    |    64 +-
 .../client/TestScanWithoutFetchingData.html     |   450 +
 .../hadoop/hbase/client/TestScannerTimeout.html |     4 +-
 .../apache/hadoop/hbase/client/TestShell.html   |     4 +-
 .../class-use/TestScanWithoutFetchingData.html  |   125 +
 .../hadoop/hbase/client/package-frame.html      |     1 +
 .../hadoop/hbase/client/package-summary.html    |    46 +-
 .../hadoop/hbase/client/package-tree.html       |     1 +
 .../hadoop/hbase/io/hfile/package-tree.html     |     2 +-
 ....TestFailingRpcServer.FailingConnection.html |   130 +-
 .../AbstractTestIPC.TestFailingRpcServer.html   |     2 +-
 .../org/apache/hadoop/hbase/package-tree.html   |     6 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     2 +-
 .../hadoop/hbase/regionserver/package-tree.html |     4 +-
 .../apache/hadoop/hbase/test/package-tree.html  |     4 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     4 +-
 testdevapidocs/overview-tree.html               |     1 +
 .../hbase/client/TestAlwaysSetScannerId.html    |   171 +-
 .../hadoop/hbase/client/TestAsyncAdminBase.html |    39 +-
 .../client/TestAsyncNamespaceAdminApi.html      |   322 +-
 .../client/TestAsyncProcedureAdminApi.html      |   161 +-
 .../hbase/client/TestAsyncRegionAdminApi.html   |     4 +-
 .../client/TestAsyncReplicationAdminApi.html    |   784 +-
 .../hbase/client/TestAsyncSnapshotAdminApi.html |     4 +-
 .../hbase/client/TestAsyncTableAdminApi.html    |  1633 +-
 .../hadoop/hbase/client/TestLeaseRenewal.html   |    25 +-
 .../client/TestScanWithoutFetchingData.html     |   203 +
 256 files changed, 41315 insertions(+), 40303 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/acid-semantics.html
----------------------------------------------------------------------
diff --git a/acid-semantics.html b/acid-semantics.html
index 6c5255d..b74f72f 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 153275e..348442e 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:20170526144758+00'00')
-/ModDate (D:20170526144758+00'00')
+/CreationDate (D:20170527144729+00'00')
+/ModDate (D:20170527144729+00'00')
 >>
 endobj
 2 0 obj

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/apache_hbase_reference_guide.pdfmarks
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdfmarks b/apache_hbase_reference_guide.pdfmarks
index 8121927..52f8b35 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:20170526144921)
-  /CreationDate (D:20170526144921)
+  /ModDate (D:20170527144853)
+  /CreationDate (D:20170527144853)
   /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/f8f0a032/apidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/apidocs/constant-values.html b/apidocs/constant-values.html
index 17b28f4..93a2ad5 100644
--- a/apidocs/constant-values.html
+++ b/apidocs/constant-values.html
@@ -1085,7 +1085,7 @@
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td><code><a href="org/apache/hadoop/hbase/HConstants.html#DEFAULT_WAL_STORAGE_POLICY">DEFAULT_WAL_STORAGE_POLICY</a></code></td>
-<td class="colLast"><code>"NONE"</code></td>
+<td class="colLast"><code>"HOT"</code></td>
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.HConstants.DEFAULT_ZK_SESSION_TIMEOUT">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/apidocs/index-all.html
----------------------------------------------------------------------
diff --git a/apidocs/index-all.html b/apidocs/index-all.html
index 3ccce50..e120177 100644
--- a/apidocs/index-all.html
+++ b/apidocs/index-all.html
@@ -16353,12 +16353,8 @@ the order they are declared.</div>
 <dt><span class="memberNameLink"><a href="org/apache/hadoop/hbase/HConstants.html#WAL_STORAGE_POLICY">WAL_STORAGE_POLICY</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/HConstants.html" title="class in org.apache.hadoop.hbase">HConstants</a></dt>
 <dd>
 <div class="block">Configuration name of WAL storage policy
- Valid values are:
-  NONE: no preference in destination of block replicas
-  ONE_SSD: place only one block replica in SSD and the remaining in default storage
-  and ALL_SSD: place all block replicas on SSD
-
- See http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html</div>
+ Valid values are: HOT, COLD, WARM, ALL_SSD, ONE_SSD, LAZY_PERSIST
+ See http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html</div>
 </dd>
 <dt><a href="org/apache/hadoop/hbase/mapreduce/WALInputFormat.html" title="class in org.apache.hadoop.hbase.mapreduce"><span class="typeNameLink">WALInputFormat</span></a> - Class in <a href="org/apache/hadoop/hbase/mapreduce/package-summary.html">org.apache.hadoop.hbase.mapreduce</a></dt>
 <dd>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 bf111c5..374286c 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -422,15 +422,15 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaTableAccessor.QueryType.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">MetaTableAccessor.QueryType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.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/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/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/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/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/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/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/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/HConstants.Modify.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">HConstants.Modify</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/CompatibilitySingletonFactory.SingletonStorage.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">CompatibilitySingletonFactory.SingletonStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/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/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/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/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="typeNameLink">KeyValue.Type</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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..6db1eb9 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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.procedure2.<a href="../../../../../org/apache/hadoop/hbase/procedure2/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/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/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>
+<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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 5421ba1..48f0943 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -199,12 +199,12 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/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/QuotaSnapshotStore.ViolationState.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaSnapshotStore.ViolationState</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottleType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">ThrottlingException.Type</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/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/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceViolationPolicy</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/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/SpaceViolationPolicy.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">SpaceViolationPolicy</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">OperationQuota.OperationType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaSnapshotStore.ViolationState.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="typeNameLink">QuotaSnapshotStore.ViolationState</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html
index e6bcf37..c70bfcd 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.289">RSRpcServices.RegionScannerCloseCallBack</a>
+<pre>private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.303">RSRpcServices.RegionScannerCloseCallBack</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/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a></pre>
 <div class="block">An Rpc callback for closing a RegionScanner.</div>
@@ -209,7 +209,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>scanner</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html#line.291">scanner</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html#line.305">scanner</a></pre>
 </li>
 </ul>
 </li>
@@ -226,7 +226,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RegionScannerCloseCallBack</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html#line.293">RegionScannerCloseCallBack</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;scanner)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html#line.307">RegionScannerCloseCallBack</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;scanner)</pre>
 </li>
 </ul>
 </li>
@@ -243,7 +243,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html#line.298">run</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html#line.312">run</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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html#run--">RpcCallback</a></code></span></div>
 <div class="block">Called at the end of an Rpc Call <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc"><code>RpcCallContext</code></a></div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html
index 7229e0d..ac1f4b8 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.355">RSRpcServices.RegionScannerHolder</a>
+<pre>private static final class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.369">RSRpcServices.RegionScannerHolder</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></pre>
 <div class="block">Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.</div>
 </li>
@@ -234,7 +234,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>nextCallSeq</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.357">nextCallSeq</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.371">nextCallSeq</a></pre>
 </li>
 </ul>
 <a name="scannerName">
@@ -243,7 +243,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>scannerName</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.358">scannerName</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.372">scannerName</a></pre>
 </li>
 </ul>
 <a name="s">
@@ -252,7 +252,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>s</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.359">s</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.373">s</a></pre>
 </li>
 </ul>
 <a name="r">
@@ -261,7 +261,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>r</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.360">r</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.374">r</a></pre>
 </li>
 </ul>
 <a name="closeCallBack">
@@ -270,7 +270,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>closeCallBack</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.361">closeCallBack</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.375">closeCallBack</a></pre>
 </li>
 </ul>
 <a name="shippedCallback">
@@ -279,7 +279,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>shippedCallback</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.362">shippedCallback</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.376">shippedCallback</a></pre>
 </li>
 </ul>
 <a name="rowOfLastPartialResult">
@@ -288,7 +288,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>rowOfLastPartialResult</h4>
-<pre>private&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.363">rowOfLastPartialResult</a></pre>
+<pre>private&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.377">rowOfLastPartialResult</a></pre>
 </li>
 </ul>
 </li>
@@ -305,7 +305,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RegionScannerHolder</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.365">RegionScannerHolder</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>&nbsp;scannerName,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.379">RegionScannerHolder</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>&nbsp;scannerName,
                            <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;s,
                            <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r,
                            <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a>&nbsp;closeCallBack,
@@ -326,7 +326,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getNextCallSeq</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.374">getNextCallSeq</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.388">getNextCallSeq</a>()</pre>
 </li>
 </ul>
 <a name="incNextCallSeq-long-">
@@ -335,7 +335,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>incNextCallSeq</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.378">incNextCallSeq</a>(long&nbsp;currentSeq)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html#line.392">incNextCallSeq</a>(long&nbsp;currentSeq)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html
index 162b3e6..8fe395a 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.306">RSRpcServices.RegionScannerShippedCallBack</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.320">RSRpcServices.RegionScannerShippedCallBack</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/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a></pre>
 <div class="block">An Rpc callback for doing shipped() call on a RegionScanner.</div>
@@ -219,7 +219,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>scannerName</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.308">scannerName</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.322">scannerName</a></pre>
 </li>
 </ul>
 <a name="scanner">
@@ -228,7 +228,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>scanner</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.309">scanner</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.323">scanner</a></pre>
 </li>
 </ul>
 <a name="lease">
@@ -237,7 +237,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>lease</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.Lease.html" title="class in org.apache.hadoop.hbase.regionserver">Leases.Lease</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.310">lease</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.Lease.html" title="class in org.apache.hadoop.hbase.regionserver">Leases.Lease</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.324">lease</a></pre>
 </li>
 </ul>
 </li>
@@ -254,7 +254,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RegionScannerShippedCallBack</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.312">RegionScannerShippedCallBack</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>&nbsp;scannerName,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.326">RegionScannerShippedCallBack</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>&nbsp;scannerName,
                                     <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;scanner,
                                     <a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.Lease.html" title="class in org.apache.hadoop.hbase.regionserver">Leases.Lease</a>&nbsp;lease)</pre>
 </li>
@@ -273,7 +273,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.319">run</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html#line.333">run</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"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html#run--">RpcCallback</a></code></span></div>
 <div class="block">Called at the end of an Rpc Call <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc"><code>RpcCallContext</code></a></div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html
index fe6e0af..3951891 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.333">RSRpcServices.RegionScannersCloseCallBack</a>
+<pre>static class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.347">RSRpcServices.RegionScannersCloseCallBack</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/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a></pre>
 <div class="block">An RpcCallBack that creates a list of scanners that needs to perform callBack operation on
@@ -214,7 +214,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>scanners</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.334">scanners</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.348">scanners</a></pre>
 </li>
 </ul>
 </li>
@@ -231,7 +231,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RegionScannersCloseCallBack</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.333">RegionScannersCloseCallBack</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.347">RegionScannersCloseCallBack</a>()</pre>
 </li>
 </ul>
 </li>
@@ -248,7 +248,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockList">
 <li class="blockList">
 <h4>addScanner</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.336">addScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;scanner)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.350">addScanner</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;scanner)</pre>
 </li>
 </ul>
 <a name="run--">
@@ -257,7 +257,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html"
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.341">run</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannersCloseCallBack.html#line.355">run</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html#run--">RpcCallback</a></code></span></div>
 <div class="block">Called at the end of an Rpc Call <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc"><code>RpcCallContext</code></a></div>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html
index 885c147..24eb255 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.388">RSRpcServices.ScannerListener</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.402">RSRpcServices.ScannerListener</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/regionserver/LeaseListener.html" title="interface in org.apache.hadoop.hbase.regionserver">LeaseListener</a></pre>
 <div class="block">Instantiated as a scanner lease. If the lease times out, the scanner is
@@ -210,7 +210,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/LeaseLis
 <ul class="blockListLast">
 <li class="blockList">
 <h4>scannerName</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html#line.389">scannerName</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html#line.403">scannerName</a></pre>
 </li>
 </ul>
 </li>
@@ -227,7 +227,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/LeaseLis
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ScannerListener</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html#line.391">ScannerListener</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>&nbsp;n)</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html#line.405">ScannerListener</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>&nbsp;n)</pre>
 </li>
 </ul>
 </li>
@@ -244,7 +244,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/regionserver/LeaseLis
 <ul class="blockListLast">
 <li class="blockList">
 <h4>leaseExpired</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html#line.396">leaseExpired</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.ScannerListener.html#line.410">leaseExpired</a>()</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/regionserver/LeaseListener.html#leaseExpired--">LeaseListener</a></code></span></div>
 <div class="block">When a lease expires, this method is called.</div>
 <dl>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/apidocs/org/apache/hadoop/hbase/HConstants.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/HConstants.html b/apidocs/org/apache/hadoop/hbase/HConstants.html
index de97f75..edbf3f4 100644
--- a/apidocs/org/apache/hadoop/hbase/HConstants.html
+++ b/apidocs/org/apache/hadoop/hbase/HConstants.html
@@ -1862,12 +1862,8 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <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/HConstants.html#WAL_STORAGE_POLICY">WAL_STORAGE_POLICY</a></span></code>
 <div class="block">Configuration name of WAL storage policy
- Valid values are:
-  NONE: no preference in destination of block replicas
-  ONE_SSD: place only one block replica in SSD and the remaining in default storage
-  and ALL_SSD: place all block replicas on SSD
-
- See http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html</div>
+ Valid values are: HOT, COLD, WARM, ALL_SSD, ONE_SSD, LAZY_PERSIST
+ See http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html</div>
 </td>
 </tr>
 <tr class="altColor">
@@ -5380,14 +5376,10 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>WAL_STORAGE_POLICY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1102">WAL_STORAGE_POLICY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1098">WAL_STORAGE_POLICY</a></pre>
 <div class="block">Configuration name of WAL storage policy
- Valid values are:
-  NONE: no preference in destination of block replicas
-  ONE_SSD: place only one block replica in SSD and the remaining in default storage
-  and ALL_SSD: place all block replicas on SSD
-
- See http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html</div>
+ Valid values are: HOT, COLD, WARM, ALL_SSD, ONE_SSD, LAZY_PERSIST
+ See http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.WAL_STORAGE_POLICY">Constant Field Values</a></dd>
@@ -5400,7 +5392,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_WAL_STORAGE_POLICY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1103">DEFAULT_WAL_STORAGE_POLICY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1099">DEFAULT_WAL_STORAGE_POLICY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_WAL_STORAGE_POLICY">Constant Field Values</a></dd>
@@ -5413,7 +5405,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>METRICS_RIT_STUCK_WARNING_THRESHOLD</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1106">METRICS_RIT_STUCK_WARNING_THRESHOLD</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1102">METRICS_RIT_STUCK_WARNING_THRESHOLD</a></pre>
 <div class="block">Region in Transition metrics threshold time</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5427,7 +5419,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>LOAD_BALANCER_SLOP_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1109">LOAD_BALANCER_SLOP_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1105">LOAD_BALANCER_SLOP_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.LOAD_BALANCER_SLOP_KEY">Constant Field Values</a></dd>
@@ -5440,7 +5432,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DELIMITER</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1112">DELIMITER</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1108">DELIMITER</a></pre>
 <div class="block">delimiter used between portions of a region name</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5454,7 +5446,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>NORMAL_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1120">NORMAL_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1116">NORMAL_QOS</a></pre>
 <div class="block">QOS attributes: these attributes are used to demarcate RPC call processing
  by different set of handlers. For example, HIGH_QOS tagged methods are
  handled by high priority handlers.</div>
@@ -5470,7 +5462,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1121">REPLICATION_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1117">REPLICATION_QOS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_QOS">Constant Field Values</a></dd>
@@ -5483,7 +5475,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLAY_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1122">REPLAY_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1118">REPLAY_QOS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLAY_QOS">Constant Field Values</a></dd>
@@ -5496,7 +5488,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>QOS_THRESHOLD</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1123">QOS_THRESHOLD</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1119">QOS_THRESHOLD</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.QOS_THRESHOLD">Constant Field Values</a></dd>
@@ -5509,7 +5501,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>ADMIN_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1124">ADMIN_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1120">ADMIN_QOS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.ADMIN_QOS">Constant Field Values</a></dd>
@@ -5522,7 +5514,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HIGH_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1125">HIGH_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1121">HIGH_QOS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HIGH_QOS">Constant Field Values</a></dd>
@@ -5535,7 +5527,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>SYSTEMTABLE_QOS</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1126">SYSTEMTABLE_QOS</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1122">SYSTEMTABLE_QOS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.SYSTEMTABLE_QOS">Constant Field Values</a></dd>
@@ -5548,7 +5540,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HFILE_ARCHIVE_DIRECTORY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1129">HFILE_ARCHIVE_DIRECTORY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1125">HFILE_ARCHIVE_DIRECTORY</a></pre>
 <div class="block">Directory under /hbase where archived hfiles are stored</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5562,7 +5554,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>SNAPSHOT_DIR_NAME</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1136">SNAPSHOT_DIR_NAME</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1132">SNAPSHOT_DIR_NAME</a></pre>
 <div class="block">Name of the directory to store all snapshots. See SnapshotDescriptionUtils for
  remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and
  uni-directional.</div>
@@ -5578,7 +5570,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>OLD_SNAPSHOT_DIR_NAME</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1139">OLD_SNAPSHOT_DIR_NAME</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1135">OLD_SNAPSHOT_DIR_NAME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.OLD_SNAPSHOT_DIR_NAME">Constant Field Values</a></dd>
@@ -5591,7 +5583,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_TEMP_DIRECTORY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1142">HBASE_TEMP_DIRECTORY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1138">HBASE_TEMP_DIRECTORY</a></pre>
 <div class="block">Temporary directory used for table creation and deletion</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5605,7 +5597,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REGIONSERVER_METRICS_PERIOD</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1146">REGIONSERVER_METRICS_PERIOD</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1142">REGIONSERVER_METRICS_PERIOD</a></pre>
 <div class="block">The period (in milliseconds) between computing region server point in time metrics</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5619,7 +5611,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_REGIONSERVER_METRICS_PERIOD</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1147">DEFAULT_REGIONSERVER_METRICS_PERIOD</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1143">DEFAULT_REGIONSERVER_METRICS_PERIOD</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_REGIONSERVER_METRICS_PERIOD">Constant Field Values</a></dd>
@@ -5632,7 +5624,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_NON_TABLE_DIRS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1149">HBASE_NON_TABLE_DIRS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1145">HBASE_NON_TABLE_DIRS</a></pre>
 <div class="block">Directories that are not HBase table directories</div>
 </li>
 </ul>
@@ -5642,7 +5634,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_NON_USER_TABLE_DIRS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1155">HBASE_NON_USER_TABLE_DIRS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1151">HBASE_NON_USER_TABLE_DIRS</a></pre>
 <div class="block">Directories that are not HBase user table directories</div>
 </li>
 </ul>
@@ -5652,7 +5644,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HEALTH_SCRIPT_LOC</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1161">HEALTH_SCRIPT_LOC</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1157">HEALTH_SCRIPT_LOC</a></pre>
 <div class="block">Health script related settings.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5666,7 +5658,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HEALTH_SCRIPT_TIMEOUT</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1162">HEALTH_SCRIPT_TIMEOUT</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1158">HEALTH_SCRIPT_TIMEOUT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HEALTH_SCRIPT_TIMEOUT">Constant Field Values</a></dd>
@@ -5679,7 +5671,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HEALTH_CHORE_WAKE_FREQ</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1163">HEALTH_CHORE_WAKE_FREQ</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1159">HEALTH_CHORE_WAKE_FREQ</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HEALTH_CHORE_WAKE_FREQ">Constant Field Values</a></dd>
@@ -5692,7 +5684,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HEALTH_SCRIPT_TIMEOUT</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1165">DEFAULT_HEALTH_SCRIPT_TIMEOUT</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1161">DEFAULT_HEALTH_SCRIPT_TIMEOUT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_HEALTH_SCRIPT_TIMEOUT">Constant Field Values</a></dd>
@@ -5705,7 +5697,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HEALTH_FAILURE_THRESHOLD</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1169">HEALTH_FAILURE_THRESHOLD</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1165">HEALTH_FAILURE_THRESHOLD</a></pre>
 <div class="block">The maximum number of health check failures a server can encounter consecutively.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5719,7 +5711,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HEALTH_FAILURE_THRESHOLD</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1171">DEFAULT_HEALTH_FAILURE_THRESHOLD</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1167">DEFAULT_HEALTH_FAILURE_THRESHOLD</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_HEALTH_FAILURE_THRESHOLD">Constant Field Values</a></dd>
@@ -5732,7 +5724,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>STATUS_PUBLISHED</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1178">STATUS_PUBLISHED</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1174">STATUS_PUBLISHED</a></pre>
 <div class="block">Setting to activate, or not, the publication of the status by the master. Default
   notification is by a multicast message.</div>
 <dl>
@@ -5747,7 +5739,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>STATUS_PUBLISHED_DEFAULT</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1179">STATUS_PUBLISHED_DEFAULT</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1175">STATUS_PUBLISHED_DEFAULT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.STATUS_PUBLISHED_DEFAULT">Constant Field Values</a></dd>
@@ -5760,7 +5752,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>STATUS_MULTICAST_ADDRESS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1186">STATUS_MULTICAST_ADDRESS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1182">STATUS_MULTICAST_ADDRESS</a></pre>
 <div class="block">IP to use for the multicast status messages between the master and the clients.
  The default address is chosen as one among others within the ones suitable for multicast
  messages.</div>
@@ -5776,7 +5768,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_STATUS_MULTICAST_ADDRESS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1187">DEFAULT_STATUS_MULTICAST_ADDRESS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1183">DEFAULT_STATUS_MULTICAST_ADDRESS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_STATUS_MULTICAST_ADDRESS">Constant Field Values</a></dd>
@@ -5789,7 +5781,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>STATUS_MULTICAST_BIND_ADDRESS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1194">STATUS_MULTICAST_BIND_ADDRESS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1190">STATUS_MULTICAST_BIND_ADDRESS</a></pre>
 <div class="block">The address to use for binding the local socket for receiving multicast. Defaults to
  0.0.0.0.</div>
 <dl>
@@ -5805,7 +5797,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_STATUS_MULTICAST_BIND_ADDRESS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1196">DEFAULT_STATUS_MULTICAST_BIND_ADDRESS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1192">DEFAULT_STATUS_MULTICAST_BIND_ADDRESS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_STATUS_MULTICAST_BIND_ADDRESS">Constant Field Values</a></dd>
@@ -5818,7 +5810,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>STATUS_MULTICAST_PORT</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1201">STATUS_MULTICAST_PORT</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1197">STATUS_MULTICAST_PORT</a></pre>
 <div class="block">The port to use for the multicast messages.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5832,7 +5824,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_STATUS_MULTICAST_PORT</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1202">DEFAULT_STATUS_MULTICAST_PORT</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1198">DEFAULT_STATUS_MULTICAST_PORT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_STATUS_MULTICAST_PORT">Constant Field Values</a></dd>
@@ -5845,7 +5837,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>NO_NONCE</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1204">NO_NONCE</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1200">NO_NONCE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.NO_NONCE">Constant Field Values</a></dd>
@@ -5858,7 +5850,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CIPHER_AES</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1207">CIPHER_AES</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1203">CIPHER_AES</a></pre>
 <div class="block">Default cipher for encryption</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5872,7 +5864,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_CIPHERPROVIDER_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1210">CRYPTO_CIPHERPROVIDER_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1206">CRYPTO_CIPHERPROVIDER_CONF_KEY</a></pre>
 <div class="block">Configuration key for the crypto algorithm provider, a class name</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5886,7 +5878,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_KEYPROVIDER_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1213">CRYPTO_KEYPROVIDER_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1209">CRYPTO_KEYPROVIDER_CONF_KEY</a></pre>
 <div class="block">Configuration key for the crypto key provider, a class name</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5900,7 +5892,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_KEYPROVIDER_PARAMETERS_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1216">CRYPTO_KEYPROVIDER_PARAMETERS_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1212">CRYPTO_KEYPROVIDER_PARAMETERS_KEY</a></pre>
 <div class="block">Configuration key for the crypto key provider parameters</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5914,7 +5906,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_MASTERKEY_NAME_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1220">CRYPTO_MASTERKEY_NAME_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1216">CRYPTO_MASTERKEY_NAME_CONF_KEY</a></pre>
 <div class="block">Configuration key for the name of the master key for the cluster, a string</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5928,7 +5920,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1223">CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1219">CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY</a></pre>
 <div class="block">Configuration key for the name of the alternate master key for the cluster, a string</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5942,7 +5934,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_WAL_ALGORITHM_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1227">CRYPTO_WAL_ALGORITHM_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1223">CRYPTO_WAL_ALGORITHM_CONF_KEY</a></pre>
 <div class="block">Configuration key for the algorithm to use when encrypting the WAL, a string</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5956,7 +5948,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_WAL_KEY_NAME_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1230">CRYPTO_WAL_KEY_NAME_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1226">CRYPTO_WAL_KEY_NAME_CONF_KEY</a></pre>
 <div class="block">Configuration key for the name of the master WAL encryption key for the cluster, a string</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5970,7 +5962,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_KEY_ALGORITHM_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1233">CRYPTO_KEY_ALGORITHM_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1229">CRYPTO_KEY_ALGORITHM_CONF_KEY</a></pre>
 <div class="block">Configuration key for the algorithm used for creating jks key, a string</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5984,7 +5976,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1236">CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1232">CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY</a></pre>
 <div class="block">Configuration key for the name of the alternate cipher algorithm for the cluster, a string</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -5998,7 +5990,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>ENABLE_WAL_ENCRYPTION</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1240">ENABLE_WAL_ENCRYPTION</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1236">ENABLE_WAL_ENCRYPTION</a></pre>
 <div class="block">Configuration key for enabling WAL encryption, a boolean</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6012,7 +6004,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>RPC_CODEC_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1243">RPC_CODEC_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1239">RPC_CODEC_CONF_KEY</a></pre>
 <div class="block">Configuration key for setting RPC codec class name</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6026,7 +6018,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_CODEC_CONF_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1246">REPLICATION_CODEC_CONF_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1242">REPLICATION_CODEC_CONF_KEY</a></pre>
 <div class="block">Configuration key for setting replication codec class name</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6040,7 +6032,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_SOURCE_MAXTHREADS_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1249">REPLICATION_SOURCE_MAXTHREADS_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1245">REPLICATION_SOURCE_MAXTHREADS_KEY</a></pre>
 <div class="block">Maximum number of threads used by the replication source for shipping edits to the sinks</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6054,7 +6046,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REPLICATION_SOURCE_MAXTHREADS_DEFAULT</h4>
-<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1252">REPLICATION_SOURCE_MAXTHREADS_DEFAULT</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1248">REPLICATION_SOURCE_MAXTHREADS_DEFAULT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.REPLICATION_SOURCE_MAXTHREADS_DEFAULT">Constant Field Values</a></dd>
@@ -6067,7 +6059,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_COORDINATED_STATE_MANAGER_CLASS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1255">HBASE_COORDINATED_STATE_MANAGER_CLASS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1251">HBASE_COORDINATED_STATE_MANAGER_CLASS</a></pre>
 <div class="block">Config for pluggable consensus provider</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6081,7 +6073,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_SPLITLOG_MANAGER_TIMEOUT</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1259">HBASE_SPLITLOG_MANAGER_TIMEOUT</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1255">HBASE_SPLITLOG_MANAGER_TIMEOUT</a></pre>
 <div class="block">Configuration key for SplitLog manager timeout</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6095,7 +6087,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>BUCKET_CACHE_IOENGINE_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1275">BUCKET_CACHE_IOENGINE_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1271">BUCKET_CACHE_IOENGINE_KEY</a></pre>
 <div class="block">Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path
  to the file that will host the file-based cache.  See BucketCache#getIOEngineFromName() for
  list of supported ioengine options.
@@ -6112,7 +6104,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>BUCKET_CACHE_SIZE_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1282">BUCKET_CACHE_SIZE_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1278">BUCKET_CACHE_SIZE_KEY</a></pre>
 <div class="block">When using bucket cache, this is a float that EITHER represents a percentage of total heap
  memory size to give to the cache (if &lt; 1.0) OR, it is the capacity in
  megabytes of the cache.</div>
@@ -6128,7 +6120,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_FAST_FAIL_MODE_ENABLED</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1290">HBASE_CLIENT_FAST_FAIL_MODE_ENABLED</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1286">HBASE_CLIENT_FAST_FAIL_MODE_ENABLED</a></pre>
 <div class="block">Config for enabling/disabling the fast fail mode.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6142,7 +6134,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1293">HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1289">HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT">Constant Field Values</a></dd>
@@ -6155,7 +6147,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1296">HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1292">HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS">Constant Field Values</a></dd>
@@ -6168,7 +6160,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1299">HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1295">HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT">Constant Field Values</a></dd>
@@ -6181,7 +6173,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1302">HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1298">HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS">Constant Field Values</a></dd>
@@ -6194,7 +6186,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT</h4>
-<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1305">HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT</a></pre>
+<pre>public static final&nbsp;long <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1301">HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT">Constant Field Values</a></dd>
@@ -6207,7 +6199,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1308">HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1304">HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL">Constant Field Values</a></dd>
@@ -6220,7 +6212,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>ENABLE_CLIENT_BACKPRESSURE</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1313">ENABLE_CLIENT_BACKPRESSURE</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1309">ENABLE_CLIENT_BACKPRESSURE</a></pre>
 <div class="block">Config key for if the server should send backpressure and if the client should listen to
  that backpressure from the server</div>
 <dl>
@@ -6235,7 +6227,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_ENABLE_CLIENT_BACKPRESSURE</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1314">DEFAULT_ENABLE_CLIENT_BACKPRESSURE</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1310">DEFAULT_ENABLE_CLIENT_BACKPRESSURE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_ENABLE_CLIENT_BACKPRESSURE">Constant Field Values</a></dd>
@@ -6248,7 +6240,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HEAP_OCCUPANCY_LOW_WATERMARK_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1316">HEAP_OCCUPANCY_LOW_WATERMARK_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1312">HEAP_OCCUPANCY_LOW_WATERMARK_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HEAP_OCCUPANCY_LOW_WATERMARK_KEY">Constant Field Values</a></dd>
@@ -6261,7 +6253,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK</h4>
-<pre>public static final&nbsp;float <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1318">DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK</a></pre>
+<pre>public static final&nbsp;float <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1314">DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK">Constant Field Values</a></dd>
@@ -6274,7 +6266,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HEAP_OCCUPANCY_HIGH_WATERMARK_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1319">HEAP_OCCUPANCY_HIGH_WATERMARK_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1315">HEAP_OCCUPANCY_HIGH_WATERMARK_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HEAP_OCCUPANCY_HIGH_WATERMARK_KEY">Constant Field Values</a></dd>
@@ -6287,7 +6279,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK</h4>
-<pre>public static final&nbsp;float <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1321">DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK</a></pre>
+<pre>public static final&nbsp;float <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1317">DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK">Constant Field Values</a></dd>
@@ -6300,7 +6292,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>REGION_SPLIT_THREADS_MAX</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1327">REGION_SPLIT_THREADS_MAX</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1323">REGION_SPLIT_THREADS_MAX</a></pre>
 <div class="block">The max number of threads used for splitting storefiles in parallel during
  the region split process.</div>
 <dl>
@@ -6315,7 +6307,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CANARY_WRITE_DATA_TTL_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1331">HBASE_CANARY_WRITE_DATA_TTL_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1327">HBASE_CANARY_WRITE_DATA_TTL_KEY</a></pre>
 <div class="block">Canary config keys</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6329,7 +6321,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1333">HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1329">HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY">Constant Field Values</a></dd>
@@ -6342,7 +6334,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1336">HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1332">HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY">Constant Field Values</a></dd>
@@ -6355,7 +6347,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CANARY_WRITE_VALUE_SIZE_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1339">HBASE_CANARY_WRITE_VALUE_SIZE_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1335">HBASE_CANARY_WRITE_VALUE_SIZE_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CANARY_WRITE_VALUE_SIZE_KEY">Constant Field Values</a></dd>
@@ -6368,7 +6360,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1341">HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1337">HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY">Constant Field Values</a></dd>
@@ -6381,7 +6373,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>HBASE_CANARY_READ_RAW_SCAN_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1344">HBASE_CANARY_READ_RAW_SCAN_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1340">HBASE_CANARY_READ_RAW_SCAN_KEY</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.HBASE_CANARY_READ_RAW_SCAN_KEY">Constant Field Values</a></dd>
@@ -6394,7 +6386,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>ZK_CLIENT_KEYTAB_FILE</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1349">ZK_CLIENT_KEYTAB_FILE</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1345">ZK_CLIENT_KEYTAB_FILE</a></pre>
 <div class="block">Configuration keys for programmatic JAAS configuration for secured ZK interaction</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6408,7 +6400,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>ZK_CLIENT_KERBEROS_PRINCIPAL</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1350">ZK_CLIENT_KERBEROS_PRINCIPAL</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1346">ZK_CLIENT_KERBEROS_PRINCIPAL</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.ZK_CLIENT_KERBEROS_PRINCIPAL">Constant Field Values</a></dd>
@@ -6421,7 +6413,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>ZK_SERVER_KEYTAB_FILE</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1352">ZK_SERVER_KEYTAB_FILE</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1348">ZK_SERVER_KEYTAB_FILE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.ZK_SERVER_KEYTAB_FILE">Constant Field Values</a></dd>
@@ -6434,7 +6426,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>ZK_SERVER_KERBEROS_PRINCIPAL</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1353">ZK_SERVER_KERBEROS_PRINCIPAL</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1349">ZK_SERVER_KERBEROS_PRINCIPAL</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.ZK_SERVER_KERBEROS_PRINCIPAL">Constant Field Values</a></dd>
@@ -6447,7 +6439,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>TEMPORARY_FS_DIRECTORY_KEY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1357">TEMPORARY_FS_DIRECTORY_KEY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1353">TEMPORARY_FS_DIRECTORY_KEY</a></pre>
 <div class="block">Config key for hbase temporary directory in hdfs</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -6461,7 +6453,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_TEMPORARY_HDFS_DIRECTORY</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1358">DEFAULT_TEMPORARY_HDFS_DIRECTORY</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1354">DEFAULT_TEMPORARY_HDFS_DIRECTORY</a></pre>
 </li>
 </ul>
 <a name="SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT">
@@ -6470,7 +6462,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1361">SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1357">SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT">Constant Field Values</a></dd>
@@ -6483,7 +6475,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT</h4>
-<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1363">DEFAULT_SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT</a></pre>
+<pre>public static final&nbsp;boolean <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1359">DEFAULT_SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT">Constant Field Values</a></dd>
@@ -6496,7 +6488,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockList">
 <li class="blockList">
 <h4>SNAPSHOT_RESTORE_FAILSAFE_NAME</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1365">SNAPSHOT_RESTORE_FAILSAFE_NAME</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1361">SNAPSHOT_RESTORE_FAILSAFE_NAME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.SNAPSHOT_RESTORE_FAILSAFE_NAME">Constant Field Values</a></dd>
@@ -6509,7 +6501,7 @@ public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/
 <ul class="blockListLast">
 <li class="blockList">
 <h4>DEFAULT_SNAPSHOT_RESTORE_FAILSAFE_NAME</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1367">DEFAULT_SNAPSHOT_RESTORE_FAILSAFE_NAME</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../src-html/org/apache/hadoop/hbase/HConstants.html#line.1363">DEFAULT_SNAPSHOT_RESTORE_FAILSAFE_NAME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../constant-values.html#org.apache.hadoop.hbase.HConstants.DEFAULT_SNAPSHOT_RESTORE_FAILSAFE_NAME">Constant Field Values</a></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/apidocs/org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html
----------------------------------------------------------------------
diff --git a/apidocs/org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html b/apidocs/org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html
index f246845..bdde8d2 100644
--- a/apidocs/org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html
+++ b/apidocs/org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html
@@ -285,7 +285,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottlingException.Type</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html#line.40">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottlingException.Type</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html#line.24">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -305,7 +305,7 @@ for (ThrottlingException.Type c : ThrottlingException.Type.values())
 <ul class="blockListLast">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottlingException.Type</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html#line.40">valueOf</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>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html" title="enum in org.apache.hadoop.hbase.quotas">ThrottlingException.Type</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/quotas/ThrottlingException.Type.html#line.24">valueOf</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>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html
index be47cd3..5bf8c01 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html
@@ -38,763 +38,770 @@
 <span class="sourceLineNo">030</span>import java.nio.channels.ReadableByteChannel;<a name="line.30"></a>
 <span class="sourceLineNo">031</span>import java.nio.channels.WritableByteChannel;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import java.util.ArrayList;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.HashMap;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.List;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.Map;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.concurrent.atomic.LongAdder;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.commons.logging.Log;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.commons.logging.LogFactory;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.conf.Configuration;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.CallQueueTooBigException;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HConstants;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.Server;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.exceptions.RequestTooBigException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.io.ByteBufferPool;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.nio.MultiByteBuff;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.nio.SingleByteBuff;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.security.User;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.security.token.AuthenticationTokenSecretManager;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.MethodDescriptor;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.security.authorize.AuthorizationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.security.authorize.PolicyProvider;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.security.authorize.ServiceAuthorizationManager;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.security.token.SecretManager;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.codehaus.jackson.map.ObjectMapper;<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>/**<a name="line.79"></a>
-<span class="sourceLineNo">080</span> * An RPC server that hosts protobuf described Services.<a name="line.80"></a>
-<span class="sourceLineNo">081</span> *<a name="line.81"></a>
-<span class="sourceLineNo">082</span> */<a name="line.82"></a>
-<span class="sourceLineNo">083</span>@InterfaceAudience.LimitedPrivate({HBaseInterfaceAudience.COPROC, HBaseInterfaceAudience.PHOENIX})<a name="line.83"></a>
-<span class="sourceLineNo">084</span>@InterfaceStability.Evolving<a name="line.84"></a>
-<span class="sourceLineNo">085</span>public abstract class RpcServer implements RpcServerInterface,<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    ConfigurationObserver {<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  // LOG is being used in CallRunner and the log level is being changed in tests<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  public static final Log LOG = LogFactory.getLog(RpcServer.class);<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  protected static final CallQueueTooBigException CALL_QUEUE_TOO_BIG_EXCEPTION<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      = new CallQueueTooBigException();<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>  private final boolean authorize;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  protected boolean isSecurityEnabled;<a name="line.93"></a>
+<span class="sourceLineNo">033</span>import java.util.Collections;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.HashMap;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.List;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.Locale;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.Map;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.concurrent.atomic.LongAdder;<a name="line.38"></a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.commons.logging.Log;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.commons.logging.LogFactory;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.conf.Configuration;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.CallQueueTooBigException;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HConstants;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.Server;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.exceptions.RequestTooBigException;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.io.ByteBufferPool;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.nio.MultiByteBuff;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.nio.SingleByteBuff;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.security.SaslUtil;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.security.SaslUtil.QualityOfProtection;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.security.User;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.security.token.AuthenticationTokenSecretManager;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.MethodDescriptor;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.security.authorize.AuthorizationException;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.security.authorize.PolicyProvider;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.security.authorize.ServiceAuthorizationManager;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.security.token.SecretManager;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.codehaus.jackson.map.ObjectMapper;<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>/**<a name="line.82"></a>
+<span class="sourceLineNo">083</span> * An RPC server that hosts protobuf described Services.<a name="line.83"></a>
+<span class="sourceLineNo">084</span> *<a name="line.84"></a>
+<span class="sourceLineNo">085</span> */<a name="line.85"></a>
+<span class="sourceLineNo">086</span>@InterfaceAudience.LimitedPrivate({HBaseInterfaceAudience.COPROC, HBaseInterfaceAudience.PHOENIX})<a name="line.86"></a>
+<span class="sourceLineNo">087</span>@InterfaceStability.Evolving<a name="line.87"></a>
+<span class="sourceLineNo">088</span>public abstract class RpcServer implements RpcServerInterface,<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    ConfigurationObserver {<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  // LOG is being used in CallRunner and the log level is being changed in tests<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  public static final Log LOG = LogFactory.getLog(RpcServer.class);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  protected static final CallQueueTooBigException CALL_QUEUE_TOO_BIG_EXCEPTION<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      = new CallQueueTooBigException();<a name="line.93"></a>
 <span class="sourceLineNo">094</span><a name="line.94"></a>
-<span class="sourceLineNo">095</span>  public static final byte CURRENT_VERSION = 0;<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>  /**<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * Whether we allow a fallback to SIMPLE auth for insecure clients when security is enabled.<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   */<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  public static final String FALLBACK_TO_INSECURE_CLIENT_AUTH =<a name="line.100"></a>
-<span class="sourceLineNo">101</span>          "hbase.ipc.server.fallback-to-simple-auth-allowed";<a name="line.101"></a>
-<span class="sourceLineNo">102</span><a name="line.102"></a>
-<span class="sourceLineNo">103</span>  /**<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   * How many calls/handler are allowed in the queue.<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   */<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  protected static final int DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER = 10;<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  protected final CellBlockBuilder cellBlockBuilder;<a name="line.108"></a>
-<span class="sourceLineNo">109</span><a name="line.109"></a>
-<span class="sourceLineNo">110</span>  protected static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  protected static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  protected static final Log AUDITLOG = LogFactory.getLog("SecurityLogger."<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      + Server.class.getName());<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  protected ServiceAuthorizationManager authManager;<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   * after the call returns.<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   */<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  protected static final ThreadLocal&lt;RpcCall&gt; CurCall = new ThreadLocal&lt;&gt;();<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  protected static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC = new ThreadLocal&lt;&gt;();<a name="line.123"></a>
-<span class="sourceLineNo">124</span><a name="line.124"></a>
-<span class="sourceLineNo">125</span>  protected final InetSocketAddress bindAddress;<a name="line.125"></a>
-<span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span>  protected MetricsHBaseServer metrics;<a name="line.127"></a>
+<span class="sourceLineNo">095</span>  private final boolean authorize;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  protected boolean isSecurityEnabled;<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  public static final byte CURRENT_VERSION = 0;<a name="line.98"></a>
+<span class="sourceLineNo">099</span><a name="line.99"></a>
+<span class="sourceLineNo">100</span>  /**<a name="line.100"></a>
+<span class="sourceLineNo">101</span>   * Whether we allow a fallback to SIMPLE auth for insecure clients when security is enabled.<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   */<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  public static final String FALLBACK_TO_INSECURE_CLIENT_AUTH =<a name="line.103"></a>
+<span class="sourceLineNo">104</span>          "hbase.ipc.server.fallback-to-simple-auth-allowed";<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  /**<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * How many calls/handler are allowed in the queue.<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   */<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  protected static final int DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER = 10;<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>  protected final CellBlockBuilder cellBlockBuilder;<a name="line.111"></a>
+<span class="sourceLineNo">112</span><a name="line.112"></a>
+<span class="sourceLineNo">113</span>  protected static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  protected static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  protected static final Log AUDITLOG = LogFactory.getLog("SecurityLogger."<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      + Server.class.getName());<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  protected final Map&lt;String, String&gt; saslProps;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  protected ServiceAuthorizationManager authManager;<a name="line.119"></a>
+<span class="sourceLineNo">120</span><a name="line.120"></a>
+<span class="sourceLineNo">121</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   * after the call returns.<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   */<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  protected static final ThreadLocal&lt;RpcCall&gt; CurCall = new ThreadLocal&lt;&gt;();<a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125"></a>
+<span class="sourceLineNo">126</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  protected static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC = new ThreadLocal&lt;&gt;();<a name="line.127"></a>
 <span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>  protected final Configuration conf;<a name="line.129"></a>
+<span class="sourceLineNo">129</span>  protected final InetSocketAddress bindAddress;<a name="line.129"></a>
 <span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  /**<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * Maximum size in bytes of the currently queued and running Calls. If a new Call puts us over<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * this size, then we will reject the call (after parsing it though). It will go back to the<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * client and client will retry. Set this size with "hbase.ipc.server.max.callqueue.size". The<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * call queue size gets incremented after we parse a call and before we add it to the queue of<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * calls for the scheduler to use. It get decremented after we have 'run' the Call. The current<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * size is kept in {@link #callQueueSizeInBytes}.<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * @see #callQueueSizeInBytes<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * @see #DEFAULT_MAX_CALLQUEUE_SIZE<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  protected final long maxQueueSizeInBytes;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  protected static final int DEFAULT_MAX_CALLQUEUE_SIZE = 1024 * 1024 * 1024;<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>   * This is a running count of the size in bytes of all outstanding calls whether currently<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   * executing or queued waiting to be run.<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   */<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  protected final LongAdder callQueueSizeInBytes = new LongAdder();<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>  protected final boolean tcpNoDelay; // if T then disable Nagle's Algorithm<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.151"></a>
-<span class="sourceLineNo">152</span><a name="line.152"></a>
-<span class="sourceLineNo">153</span>  /**<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  volatile boolean running = true;<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>  /**<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * for business by the call to {@link #start()}.<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   */<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  volatile boolean started = false;<a name="line.164"></a>
-<span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.168"></a>
+<span class="sourceLineNo">131</span>  protected MetricsHBaseServer metrics;<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span>  protected final Configuration conf;<a name="line.133"></a>
+<span class="sourceLineNo">134</span><a name="line.134"></a>
+<span class="sourceLineNo">135</span>  /**<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * Maximum size in bytes of the currently queued and running Calls. If a new Call puts us over<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * this size, then we will reject the call (after parsing it though). It will go back to the<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   * client and client will retry. Set this size with "hbase.ipc.server.max.callqueue.size". The<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   * call queue size gets incremented after we parse a call and before we add it to the queue of<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   * calls for the scheduler to use. It get decremented after we have 'run' the Call. The current<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   * size is kept in {@link #callQueueSizeInBytes}.<a name="line.141"></a>
+<span class="sourceLineNo">142</span>   * @see #callQueueSizeInBytes<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   * @see #DEFAULT_MAX_CALLQUEUE_SIZE<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   */<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  protected final long maxQueueSizeInBytes;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>  protected static final int DEFAULT_MAX_CALLQUEUE_SIZE = 1024 * 1024 * 1024;<a name="line.146"></a>
+<span class="sourceLineNo">147</span><a name="line.147"></a>
+<span class="sourceLineNo">148</span>  /**<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   * This is a running count of the size in bytes of all outstanding calls whether currently<a name="line.149"></a>
+<span class="sourceLineNo">150</span>   * executing or queued waiting to be run.<a name="line.150"></a>
+<span class="sourceLineNo">151</span>   */<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  protected final LongAdder callQueueSizeInBytes = new LongAdder();<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>  protected final boolean tcpNoDelay; // if T then disable Nagle's Algorithm<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<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>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   */<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  volatile boolean running = true;<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>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   * for business by the call to {@link #start()}.<a name="line.166"></a>
+<span class="sourceLineNo">167</span>   */<a name="line.167"></a>
+<span class="sourceLineNo">168</span>  volatile boolean started = false;<a name="line.168"></a>
 <span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span>  protected static final String MAX_REQUEST_SIZE = "hbase.ipc.max.request.size";<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  protected static final RequestTooBigException REQUEST_TOO_BIG_EXCEPTION =<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      new RequestTooBigException();<a name="line.172"></a>
+<span class="sourceLineNo">170</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.172"></a>
 <span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>  protected static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  protected static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<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>   * Minimum allowable timeout (in milliseconds) in rpc request's header. This<a name="line.178"></a>
-<span class="sourceLineNo">179</span>   * configuration exists to prevent the rpc service regarding this request as timeout immediately.<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   */<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  protected static final String MIN_CLIENT_REQUEST_TIMEOUT = "hbase.ipc.min.client.request.timeout";<a name="line.181"></a>
-<span class="sourceLineNo">182</span>  protected static final int DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT = 20;<a name="line.182"></a>
-<span class="sourceLineNo">183</span><a name="line.183"></a>
-<span class="sourceLineNo">184</span>  /** Default value for above params */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  protected static final int DEFAULT_MAX_REQUEST_SIZE = DEFAULT_MAX_CALLQUEUE_SIZE / 4; // 256M<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  protected static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  protected static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.187"></a>
-<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span>  protected static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  protected final int maxRequestSize;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  protected final int warnResponseTime;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  protected final int warnResponseSize;<a name="line.193"></a>
+<span class="sourceLineNo">174</span>  protected static final String MAX_REQUEST_SIZE = "hbase.ipc.max.request.size";<a name="line.174"></a>
+<span class="sourceLineNo">175</span>  protected static final RequestTooBigException REQUEST_TOO_BIG_EXCEPTION =<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      new RequestTooBigException();<a name="line.176"></a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span>  protected static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  protected static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>  /**<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * Minimum allowable timeout (in milliseconds) in rpc request's header. This<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * configuration exists to prevent the rpc service regarding this request as timeout immediately.<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  protected static final String MIN_CLIENT_REQUEST_TIMEOUT = "hbase.ipc.min.client.request.timeout";<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  protected static final int DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT = 20;<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>  /** Default value for above params */<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  protected static final int DEFAULT_MAX_REQUEST_SIZE = DEFAULT_MAX_CALLQUEUE_SIZE / 4; // 256M<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  protected static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  protected static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.191"></a>
+<span class="sourceLineNo">192</span><a name="line.192"></a>
+<span class="sourceLineNo">193</span>  protected static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.193"></a>
 <span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span>  protected final int minClientRequestTimeout;<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  protected final Server server;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  protected final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  protected final RpcScheduler scheduler;<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>  protected UserProvider userProvider;<a name="line.202"></a>
+<span class="sourceLineNo">195</span>  protected final int maxRequestSize;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  protected final int warnResponseTime;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>  protected final int warnResponseSize;<a name="line.197"></a>
+<span class="sourceLineNo">198</span><a name="line.198"></a>
+<span class="sourceLineNo">199</span>  protected final int minClientRequestTimeout;<a name="line.199"></a>
+<span class="sourceLineNo">200</span><a name="line.200"></a>
+<span class="sourceLineNo">201</span>  protected final Server server;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>  protected final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.202"></a>
 <span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  protected final ByteBufferPool reservoir;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  // The requests and response will use buffers from ByteBufferPool, when the size of the<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  // request/response is at least this size.<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  // We make this to be 1/6th of the pool buffer size.<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  protected final int minSizeForReservoirUse;<a name="line.208"></a>
-<span class="sourceLineNo">209</span><a name="line.209"></a>
-<span class="sourceLineNo">210</span>  protected volatile boolean allowFallbackToSimpleAuth;<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>   * Used to get details for scan with a scanner_id&lt;br/&gt;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * TODO try to figure out a better way and remove reference from regionserver package later.<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   */<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  private RSRpcServices rsRpcServices;<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  @FunctionalInterface<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  protected static interface CallCleanup {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    void run();<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  }<a name="line.221"></a>
-<span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span>  /**<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   * Datastructure for passing a {@link BlockingService} and its associated class of<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * protobuf service interface.  For example, a server that fielded what is defined<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   * in the client protobuf service would pass in an implementation of the client blocking service<a name="line.226"></a>
-<span class="sourceLineNo">227</span>   * and then its ClientService.BlockingInterface.class.  Used checking connection setup.<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   */<a name="line.228"></a>
-<span class="sourceLineNo">229</span>  public static class BlockingServiceAndInterface {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    private final BlockingService service;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    private final Class&lt;?&gt; serviceInterface;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    public BlockingServiceAndInterface(final BlockingService service,<a name="line.232"></a>
-<span class="sourceLineNo">233</span>        final Class&lt;?&gt; serviceInterface) {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      this.service = service;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      this.serviceInterface = serviceInterface;<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    }<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    public Class&lt;?&gt; getServiceInterface() {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      return this.serviceInterface;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    }<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    public BlockingService getBlockingService() {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      return this.service;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    }<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  }<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  /**<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   * Constructs a server listening on the named port and address.<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * @param server hosting instance of {@link Server}. We will do authentications if an<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   * instance else pass null for no authentication check.<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * @param name Used keying this rpc servers' metrics and for naming the Listener thread.<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * @param services A list of services.<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * @param bindAddress Where to listen<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * @param conf<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   * @param scheduler<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   */<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  public RpcServer(final Server server, final String name,<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      final List&lt;BlockingServiceAndInterface&gt; services,<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      final InetSocketAddress bindAddress, Configuration conf,<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      RpcScheduler scheduler)<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      throws IOException {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    if (conf.getBoolean("hbase.ipc.server.reservoir.enabled", true)) {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      int poolBufSize = conf.getInt(ByteBufferPool.BUFFER_SIZE_KEY,<a name="line.261"></a>
-<span class="sourceLineNo">262</span>          ByteBufferPool.DEFAULT_BUFFER_SIZE);<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      // The max number of buffers to be pooled in the ByteBufferPool. The default value been<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      // selected based on the #handlers configured. When it is read request, 2 MB is the max size<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      // at which we will send back one RPC request. Means max we need 2 MB for creating the<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      // response cell block. (Well it might be much lesser than this because in 2 MB size calc, we<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      // include the heap size overhead of each cells also.) Considering 2 MB, we will need<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      // (2 * 1024 * 1024) / poolBufSize buffers to make the response cell block. Pool buffer size<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      // is by default 64 KB.<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      // In case of read request, at the end of the handler process, we will make the response<a name="line.270"></a>
-<span class="sourceLineNo">271</span>      // cellblock and add the Call to connection's response Q and a single Responder thread takes<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      // connections and responses from that one by one and do the socket write. So there is chances<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      // that by the time a handler originated response is actually done writing to socket and so<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      // released the BBs it used, the handler might have processed one more read req. On an avg 2x<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      // we consider and consider that also for the max buffers to pool<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      int bufsForTwoMB = (2 * 1024 * 1024) / poolBufSize;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      int maxPoolSize = conf.getInt(ByteBufferPool.MAX_POOL_SIZE_KEY,<a name="line.277"></a>
-<span class="sourceLineNo">278</span>          conf.getInt(HConstants.REGION_SERVER_HANDLER_COUNT,<a name="line.278"></a>
-<span class="sourceLineNo">279</span>              HConstants.DEFAULT_REGION_SERVER_HANDLER_COUNT) * bufsForTwoMB * 2);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      this.reservoir = new ByteBufferPool(poolBufSize, maxPoolSize);<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      this.minSizeForReservoirUse = getMinSizeForReservoirUse(this.reservoir);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    } else {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      reservoir = null;<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      this.minSizeForReservoirUse = Integer.MAX_VALUE;// reservoir itself not in place.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    }<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    this.server = server;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    this.services = services;<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    this.bindAddress = bindAddress;<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    this.conf = conf;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    // See declaration above for documentation on what this size is.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    this.maxQueueSizeInBytes =<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      this.conf.getLong("hbase.ipc.server.max.callqueue.size", DEFAULT_MAX_CALLQUEUE_SIZE);<a name="line.292"></a>
-<span class="sourceLineNo">293</span><a name="line.293"></a>
-<span class="sourceLineNo">294</span>    this.warnResponseTime = conf.getInt(WARN_RESPONSE_TIME, DEFAULT_WARN_RESPONSE_TIME);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    this.warnResponseSize = conf.getInt(WARN_RESPONSE_SIZE, DEFAULT_WARN_RESPONSE_SIZE);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    this.minClientRequestTimeout = conf.getInt(MIN_CLIENT_REQUEST_TIMEOUT,<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    this.maxRequestSize = conf.getInt(MAX_REQUEST_SIZE, DEFAULT_MAX_REQUEST_SIZE);<a name="line.298"></a>
-<span class="sourceLineNo">299</span><a name="line.299"></a>
-<span class="sourceLineNo">300</span>    this.metrics = new MetricsHBaseServer(name, new MetricsHBaseServerWrapperImpl(this));<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    this.tcpNoDelay = conf.getBoolean("hbase.ipc.server.tcpnodelay", true);<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    this.tcpKeepAlive = conf.getBoolean("hbase.ipc.server.tcpkeepalive", true);<a name="line.302"></a>
+<span class="sourceLineNo">204</span>  protected final RpcScheduler scheduler;<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected UserProvider userProvider;<a name="line.206"></a>
+<span class="sourceLineNo">207</span><a name="line.207"></a>
+<span class="sourceLineNo">208</span>  protected final ByteBufferPool reservoir;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  // The requests and response will use buffers from ByteBufferPool, when the size of the<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  // request/response is at least this size.<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  // We make this to be 1/6th of the pool buffer size.<a name="line.211"></a>
+<span class="sourceLineNo">212</span>  protected final int minSizeForReservoirUse;<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>  protected volatile boolean allowFallbackToSimpleAuth;<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span>  /**<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * Used to get details for scan with a scanner_id&lt;br/&gt;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   * TODO try to figure out a better way and remove reference from regionserver package later.<a name="line.218"></a>
+<span class="sourceLineNo">219</span>   */<a name="line.219"></a>
+<span class="sourceLineNo">220</span>  private RSRpcServices rsRpcServices;<a name="line.220"></a>
+<span class="sourceLineNo">221</span><a name="line.221"></a>
+<span class="sourceLineNo">222</span>  @FunctionalInterface<a name="line.222"></a>
+<span class="sourceLineNo">223</span>  protected static interface CallCleanup {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    void run();<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  }<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  /**<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   * Datastructure for passing a {@link BlockingService} and its associated class of<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * protobuf service interface.  For example, a server that fielded what is defined<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * in the client protobuf service would pass in an implementation of the client blocking service<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   * and then its ClientService.BlockingInterface.class.  Used checking connection setup.<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  public static class BlockingServiceAndInterface {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    private final BlockingService service;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    private final Class&lt;?&gt; serviceInterface;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    public BlockingServiceAndInterface(final BlockingService service,<a name="line.236"></a>
+<span class="sourceLineNo">237</span>        final Class&lt;?&gt; serviceInterface) {<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      this.service = service;<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      this.serviceInterface = serviceInterface;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    }<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    public Class&lt;?&gt; getServiceInterface() {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>      return this.serviceInterface;<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    }<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    public BlockingService getBlockingService() {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      return this.service;<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><a name="line.248"></a>
+<span class="sourceLineNo">249</span>  /**<a name="line.249"></a>
+<span class="sourceLineNo">250</span>   * Constructs a server listening on the named port and address.<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * @param server hosting instance of {@link Server}. We will do authentications if an<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   * instance else pass null for no authentication check.<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   * @param name Used keying this rpc servers' metrics and for naming the Listener thread.<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   * @param services A list of services.<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   * @param bindAddress Where to listen<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   * @param conf<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   * @param scheduler<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   */<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  public RpcServer(final Server server, final String name,<a name="line.259"></a>
+<span class="sourceLineNo">260</span>      final List&lt;BlockingServiceAndInterface&gt; services,<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      final InetSocketAddress bindAddress, Configuration conf,<a name="line.261"></a>
+<span class="sourceLineNo">262</span>      RpcScheduler scheduler)<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      throws IOException {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    if (conf.getBoolean("hbase.ipc.server.reservoir.enabled", true)) {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>      int poolBufSize = conf.getInt(ByteBufferPool.BUFFER_SIZE_KEY,<a name="line.265"></a>
+<span class="sourceLineNo">266</span>          ByteBufferPool.DEFAULT_BUFFER_SIZE);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      // The max number of buffers to be pooled in the ByteBufferPool. The default value been<a name="line.267"></a>
+<span class="sourceLineNo">268</span>      // selected based on the #handlers configured. When it is read request, 2 MB is the max size<a name="line.268"></a>
+<span class="sourceLineNo">269</span>      // at which we will send back one RPC request. Means max we need 2 MB for creating the<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      // response cell block. (Well it might be much lesser than this because in 2 MB size calc, we<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      // include the heap size overhead of each cells also.) Considering 2 MB, we will need<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      // (2 * 1024 * 1024) / poolBufSize buffers to make the response cell block. Pool buffer size<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      // is by default 64 KB.<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      // In case of read request, at the end of the handler process, we will make the response<a name="line.274"></a>
+<span class="sourceLineNo">275</span>      // cellblock and add the Call to connection's response Q and a single Responder thread takes<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      // connections and responses from that one by one and do the socket write. So there is chances<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      // that by the time a handler originated response is actually done writing to socket and so<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      // released the BBs it used, the handler might have processed one more read req. On an avg 2x<a name="line.278"></a>
+<span class="sourceLineNo">279</span>      // we consider and consider that also for the max buffers to pool<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      int bufsForTwoMB = (2 * 1024 * 1024) / poolBufSize;<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      int maxPoolSize = conf.getInt(ByteBufferPool.MAX_POOL_SIZE_KEY,<a name="line.281"></a>
+<span class="sourceLineNo">282</span>          conf.getInt(HConstants.REGION_SERVER_HANDLER_COUNT,<a name="line.282"></a>
+<span class="sourceLineNo">283</span>              HConstants.DEFAULT_REGION_SERVER_HANDLER_COUNT) * bufsForTwoMB * 2);<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      this.reservoir = new ByteBufferPool(poolBufSize, maxPoolSize);<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      this.minSizeForReservoirUse = getMinSizeForReservoirUse(this.reservoir);<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    } else {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      reservoir = null;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      this.minSizeForReservoirUse = Integer.MAX_VALUE;// reservoir itself not in place.<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    }<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    this.server = server;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    this.services = services;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    this.bindAddress = bindAddress;<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    this.conf = conf;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    // See declaration above for documentation on what this size is.<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    this.maxQueueSizeInBytes =<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      this.conf.getLong("hbase.ipc.server.max.callqueue.size", DEFAULT_MAX_CALLQUEUE_SIZE);<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span>    this.warnResponseTime = conf.getInt(WARN_RESPONSE_TIME, DEFAULT_WARN_RESPONSE_TIME);<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    this.warnResponseSize = conf.getInt(WARN_RESPONSE_SIZE, DEFAULT_WARN_RESPONSE_SIZE);<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    this.minClientRequestTimeout = conf.getInt(MIN_CLIENT_REQUEST_TIMEOUT,<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT);<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    this.maxRequestSize = conf.getInt(MAX_REQUEST_SIZE, DEFAULT_MAX_REQUEST_SIZE);<a name="line.302"></a>
 <span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>    this.cellBlockBuilder = new CellBlockBuilder(conf);<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>    this.authorize = conf.getBoolean(HADOOP_SECURITY_AUTHORIZATION, false);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    this.userProvider = UserProvider.instantiate(conf);<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    this.isSecurityEnabled = userProvider.isHBaseSecurityEnabled();<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    if (isSecurityEnabled) {<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      HBaseSaslRpcServer.init(conf);<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>    this.scheduler = scheduler;<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>  @VisibleForTesting<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  static int getMinSizeForReservoirUse(ByteBufferPool pool) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    return pool.getBufferSize() / 6;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  @Override<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  public void onConfigurationChange(Configuration newConf) {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    initReconfigurable(newConf);<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    if (scheduler instanceof ConfigurationObserver) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      ((ConfigurationObserver) scheduler).onConfigurationChange(newConf);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    }<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  protected void initReconfigurable(Configuration confToLoad) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    this.allowFallbackToSimpleAuth = confToLoad.getBoolean(FALLBACK_TO_INSECURE_CLIENT_AUTH, false);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    if (isSecurityEnabled &amp;&amp; allowFallbackToSimpleAuth) {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      LOG.warn("********* WARNING! *********");<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      LOG.warn("This server is configured to allow connections from INSECURE clients");<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      LOG.warn("(" + FALLBACK_TO_INSECURE_CLIENT_AUTH + " = true).");<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      LOG.warn("While this option is enabled, client identities cannot be secured, and user");<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      LOG.warn("impersonation is possible!");<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      LOG.warn("For secure operation, please disable SIMPLE authentication as soon as possible,");<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      LOG.warn("by setting " + FALLBACK_TO_INSECURE_CLIENT_AUTH + " = false in hbase-site.xml");<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      LOG.warn("****************************");<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><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  Configuration getConf() {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    return conf;<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 boolean isStarted() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    return this.started;<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 synchronized void refreshAuthManager(PolicyProvider pp) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    // Ignore warnings that this should be accessed in a static way instead of via an instance;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>    // it'll break if you go via static route.<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    this.authManager.refresh(this.conf, pp);<a name="line.356"></a>
+<span class="sourceLineNo">304</span>    this.metrics = new MetricsHBaseServer(name, new MetricsHBaseServerWrapperImpl(this));<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    this.tcpNoDelay = conf.getBoolean("hbase.ipc.server.tcpnodelay", true);<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    this.tcpKeepAlive = conf.getBoolean("hbase.ipc.server.tcpkeepalive", true);<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>    this.cellBlockBuilder = new CellBlockBuilder(conf);<a name="line.308"></a>
+<span class="sourceLineNo">309</span><a name="line.309"></a>
+<span class="sourceLineNo">310</span>    this.authorize = conf.getBoolean(HADOOP_SECURITY_AUTHORIZATION, false);<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    this.userProvider = UserProvider.instantiate(conf);<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    this.isSecurityEnabled = userProvider.isHBaseSecurityEnabled();<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    if (isSecurityEnabled) {<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      saslProps = SaslUtil.initSaslProperties(conf.get("hbase.rpc.protection",<a name="line.314"></a>
+<span class="sourceLineNo">315</span>        QualityOfProtection.AUTHENTICATION.name().toLowerCase(Locale.ROOT)));<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    } else {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      saslProps = Collections.emptyMap();<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    }<a name="line.318"></a>
+<span class="sourceLineNo">319</span><a name="line.319"></a>
+<span class="sourceLineNo">320</span>    this.scheduler = scheduler;<a name="line.320"></a>
+<span class="sourceLineNo">321</span>  }<a name="line.321"></a>
+<span class="sourceLineNo">322</span><a name="line.322"></a>
+<span class="sourceLineNo">323</span>  @VisibleForTesting<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  static int getMinSizeForReservoirUse(ByteBufferPool pool) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    return pool.getBufferSize() / 6;<a name="line.325"></a>
+<span class="sourceLineNo">326</span>  }<a name="line.326"></a>
+<span class="sourceLineNo">327</span><a name="line.327"></a>
+<span class="sourceLineNo">328</span>  @Override<a name="line.328"></a>
+<span class="sourceLineNo">329</span>  public void onConfigurationChange(Configuration newConf) {<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    initReconfigurable(newConf);<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    if (scheduler instanceof ConfigurationObserver) {<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      ((ConfigurationObserver) scheduler).onConfigurationChange(newConf);<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    }<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  }<a name="line.334"></a>
+<span class="sourceLineNo">335</span><a name="line.335"></a>
+<span class="sourceLineNo">336</span>  protected void initReconfigurable(Configuration confToLoad) {<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    this.allowFallbackToSimpleAuth = confToLoad.getBoolean(FALLBACK_TO_INSECURE_CLIENT_AUTH, false);<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    if (isSecurityEnabled &amp;&amp; allowFallbackToSimpleAuth) {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>      LOG.warn("********* WARNING! *********");<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      LOG.warn("This server is configured to allow connections from INSECURE clients");<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      LOG.warn("(" + FALLBACK_TO_INSECURE_CLIENT_AUTH + " = true).");<a name="line.341"></a>
+<span class="sourceLineNo">342</span>      LOG.warn("While this option is enabled, client identities cannot be secured, and user");<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      LOG.warn("impersonation is possible!");<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      LOG.warn("For secure operation, please disable SIMPLE authentication as soon as possible,");<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      LOG.warn("by setting " + FALLBACK_TO_INSECURE_CLIENT_AUTH + " = false in hbase-site.xml");<a name="line.345"></a>
+<span class="sourceLineNo">346</span>      LOG.warn("****************************");<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><a name="line.349"></a>
+<span class="sourceLineNo">350</span>  Configuration getConf() {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    return conf;<a name="line.351"></a>
+<span class="sourceLineNo">352</span>  }<a name="line.352"></a>
+<span class="sourceLineNo">353</span><a name="line.353"></a>
+<span class="sourceLineNo">354</span>  @Override<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  public boolean isStarted() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    return this.started;<a name="line.356"></a>
 <span class="sourceLineNo">357</span>  }<a name="line.357"></a>
 <span class="sourceLineNo">358</span><a name="line.358"></a>
-<span class="sourceLineNo">359</span>  protected AuthenticationTokenSecretManager createSecretManager() {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    if (!isSecurityEnabled) return null;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    if (server == null) return null;<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    Configuration conf = server.getConfiguration();<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    long keyUpdateInterval =<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        conf.getLong("hbase.auth.key.update.interval", 24*60*60*1000);<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    long maxAge =<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        conf.getLong("hbase.auth.token.max.lifetime", 7*24*60*60*1000);<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    return new AuthenticationTokenSecretManager(conf, server.getZooKeeper(),<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        server.getServerName().toString(), keyUpdateInterval, maxAge);<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>  public SecretManager&lt;? extends TokenIdentifier&gt; getSecretManager() {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    return this.secretManager;<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @SuppressWarnings("unchecked")<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public void setSecretManager(SecretManager&lt;? extends TokenIdentifier&gt; secretManager) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    this.secretManager = (SecretManager&lt;TokenIdentifier&gt;) secretManager;<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>  /**<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * This is a server side method, which is invoked over RPC. On success<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   * the return response has protobuf response payload. On failure, the<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   * exception name and the stack trace are returned in the protobuf response.<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   */<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  @Override<a name="line.385"></a>
-<span class="sourceLineNo">386</span>  public Pair&lt;Message, CellScanner&gt; call(RpcCall call,<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      MonitoredRPCHandler status) throws IOException {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    try {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      MethodDescriptor md = call.getMethod();<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      Message param = call.getParam();<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      status.setRPC(md.getName(), new Object[]{param},<a name="line.391"></a>
-<span class="sourceLineNo">392</span>        call.getReceiveTime());<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      // TODO: Review after we add in encoded data blocks.<a name="line.393"></a>
-<span class="sourceLineNo">394</span>      status.setRPCPacket(param);<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      status.resume("Servicing call");<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      //get an instance of the method arg type<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      HBaseRpcController controller = new HBaseRpcControllerImpl(call.getCellScanner());<a name="line.397"></a>
-<span class="sourceLineNo">398</span>      controller.setCallTimeout(call.getTimeout());<a name="line.398"></a>
-<span class="sourceLineNo">399</span>      Message result = call.getService().callBlockingMethod(md, controller, param);<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      long receiveTime = call.getReceiveTime();<a name="line.400"></a>
-<span class="sourceLineNo">401</span>      long startTime = call.getStartTime();<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      long endTime = System.currentTimeMillis();<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      int processingTime = (int) (endTime - startTime);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      int qTime = (int) (startTime - receiveTime);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      int totalTime = (int) (endTime - receiveTime);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      if (LOG.isTraceEnabled()) {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        LOG.trace(CurCall.get().toString() +<a name="line.407"></a>
-<span class="sourceLineNo">408</span>            ", response " + TextFormat.shortDebugString(result) +<a name="line.408"></a>
-<span class="sourceLineNo">409</span>            " queueTime: " + qTime +<a name="line.409"></a>
-<span class="sourceLineNo">410</span>            " processingTime: " + processingTime +<a name="line.410"></a>
-<span class="sourceLineNo">411</span>            " totalTime: " + totalTime);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      // Use the raw request call size for now.<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      long requestSize = call.getSize();<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      long responseSize = result.getSerializedSize();<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      if (call.isClientCellBlockSupported()) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        // Include the payload size in HBaseRpcController<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        responseSize += call.getResponseCellSize();<a name="line.418"></a>
+<span class="sourceLineNo">359</span>  @Override<a name="line.359"></a>
+<span class="sourceLineNo">360</span>  public synchronized void refreshAuthManager(PolicyProvider pp) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    // Ignore warnings that this should be accessed in a static way instead of via an instance;<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    // it'll break if you go via static route.<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    this.authManager.refresh(this.conf, pp);<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span>  protected AuthenticationTokenSecretManager createSecretManager() {<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    if (!isSecurityEnabled) return null;<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    if (server == null) return null;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    Configuration conf = server.getConfiguration();<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    long keyUpdateInterval =<a name="line.370"></a>
+<span class="sourceLineNo">371</span>        conf.getLong("hbase.auth.key.update.interval", 24*60*60*1000);<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    long maxAge =<a name="line.372"></a>
+<span class="sourceLineNo">373</span>        conf.getLong("hbase.auth.token.max.lifetime", 7*24*60*60*1000);<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    return new AuthenticationTokenSecretManager(conf, server.getZooKeeper(),<a name="line.374"></a>
+<span class="sourceLineNo">375</span>        server.getServerName().toString(), keyUpdateInterval, maxAge);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>  }<a name="line.376"></a>
+<span class="sourceLineNo">377</span><a name="line.377"></a>
+<span class="sourceLineNo">378</span>  public SecretManager&lt;? extends TokenIdentifier&gt; getSecretManager() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    return this.secretManager;<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>  @SuppressWarnings("unchecked")<a name="line.382"></a>
+<span class="sourceLineNo">383</span>  public void setSecretManager(SecretManager&lt;? extends TokenIdentifier&gt; secretManager) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    this.secretManager = (SecretManager&lt;TokenIdentifier&gt;) secretManager;<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>  /**<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   * This is a server side method, which is invoked over RPC. On success<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   * the return response has protobuf response payload. On failure, the<a name="line.389"></a>
+<span class="sourceLineNo">390</span>   * exception name and the stack trace are returned in the protobuf response.<a name="line.390"></a>
+<span class="sourceLineNo">391</span>   */<a name="line.391"></a>
+<span class="sourceLineNo">392</span>  @Override<a name="line.392"></a>
+<span class="sourceLineNo">393</span>  public Pair&lt;Message, CellScanner&gt; call(RpcCall call,<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      MonitoredRPCHandler status) throws IOException {<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    try {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      MethodDescriptor md = call.getMethod();<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      Message param = call.getParam();<a name="line.397"></a>
+<span class="sourceLineNo">398</span>      status.setRPC(md.getName(), new Object[]{param},<a name="line.398"></a>
+<span class="sourceLineNo">399</span>        call.getReceiveTime());<a name="line.399"></a>
+<span class="sourceLineNo">400</span>      // TODO: Review after we add in encoded data blocks.<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      status.setRPCPacket(param);<a name="line.401"></a>
+<span class="sourceLineNo">402</span>      status.resume("Servicing call");<a name="line.402"></a>
+<span class="sourceLineNo">403</span>      //get an instance of the method arg type<a name="line.403"></a>
+<span class="sourceLineNo">404</span>      HBaseRpcController controller = new HBaseRpcControllerImpl(call.getCellScanner());<a name="line.404"></a>
+<span class="sourceLineNo">405</span>      controller.setCallTimeout(call.getTimeout());<a name="line.405"></a>
+<span class="sourceLineNo">406</span>      Message result = call.getService().callBlockingMethod(md, controller, param);<a name="line.406"></a>
+<span class="sourceLineNo">407</span>      long receiveTime = call.getReceiveTime();<a name="line.407"></a>
+<span class="sourceLineNo">408</span>      long startTime = call.getStartTime();<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      long endTime = System.currentTimeMillis();<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      int processingTime = (int) (endTime - startTime);<a name="line.410"></a>
+<span class="sourceLineNo">411</span>      int qTime = (int) (startTime - receiveTime);<a name="line.411"></a>
+<span class="sourceLineNo">412</span>      int totalTime = (int) (endTime - receiveTime);<a name="line.412"></a>
+<span class="sourceLineNo">413</span>      if (LOG.isTraceEnabled()) {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>        LOG.trace(CurCall.get().toString() +<a name="line.414"></a>
+<span class="sourceLineNo">415</span>            ", response " + TextFormat.shortDebugString(result) +<a name="line.415"></a>
+<span class="sourceLineNo">416</span>            " queueTime: " + qTime +<a name="line.416"></a>
+<span class="sourceLineNo">417</span>            " processingTime: " + processingTime +<a name="line.417"></a>
+<span class="sourceLineNo">418</span>            " totalTime: " + totalTime);<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>      metrics.dequeuedCall(qTime);<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      metrics.processedCall(processingTime);<a name="line.422"></a>
-<span class="sourceLineNo">423</span>      metrics.totalCall(totalTime);<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      metrics.receivedRequest(requestSize);<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      metrics.sentResponse(responseSize);<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      // log any RPC responses that are slower than the configured warn<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      // response time or larger than configured warning size<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      boolean tooSlow = (processingTime &gt; warnResponseTime &amp;&amp; warnResponseTime &gt; -1);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      boolean tooLarge = (responseSize &gt; warnResponseSize &amp;&amp; warnResponseSize &gt; -1);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>      if (tooSlow || tooLarge) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        // when tagging, we let TooLarge trump TooSmall to keep output simple<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        // note that large responses will often also be slow.<a name="line.432"></a>
-<span class="sourceLineNo">433</span>        logResponse(param,<a name="line.433"></a>
-<span class="sourceLineNo">434</span>            md.getName(), md.getName() + "(" + param.getClass().getName() + ")",<a name="line.434"></a>
-<span class="sourceLineNo">435</span>            (tooLarge ? "TooLarge" : "TooSlow"),<a name="line.435"></a>
-<span class="sourceLineNo">436</span>            status.getClient(), startTime, processingTime, qTime,<a name="line.436"></a>
-<span class="sourceLineNo">437</span>            responseSize);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      }<a name="line.438"></a>
-<span class="sourceLineNo">439</span>      return new Pair&lt;&gt;(result, controller.cellScanner());<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    } catch (Throwable e) {<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      // The above callBlockingMethod will always return a SE.  Strip the SE wrapper before<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      // putting it on the wire.  Its needed to adhere to the pb Service Interface but we don't<a name="line.442"></a>
-<span class="sourceLineNo">443</span>      // need to pass it over the wire.<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      if (e instanceof ServiceException) {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>        if (e.getCause() == null) {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>          LOG.debug("Caught a ServiceException with null cause", e);<a name="line.446"></a>
-<span class="sourceLineNo">447</span>        } else {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>          e = e.getCause();<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>      // increment the number of requests that were exceptions.<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      metrics.exception(e);<a name="line.453"></a>
-<span class="sourceLineNo">454</span><a name="line.454"></a>
-<span class="sourceLineNo">455</span>      if (e instanceof LinkageError) throw new DoNotRetryIOException(e);<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      if (e instanceof IOException) throw (IOException)e;<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      LOG.error("Unexpected throwable object ", e);<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      throw new IOException(e.getMessage(), e);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    }<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  }<a name="line.460"></a>
+<span class="sourceLineNo">420</span>      // Use the raw request call size for now.<a name="line.420"></a>
+<span class="sourceLineNo">421</span>      long requestSize = call.getSize();<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      long responseSize = result.getSerializedSize();<a name="line.422"></a>
+<span class="sourceLineNo">423</span>      if (call.isClientCellBlockSupported()) {<a name="line.423"></a>
+<span class="sourceLineNo">424</span>        // Include the payload size in HBaseRpcController<a name="line.424"></a>
+<span class="sourceLineNo">425</span>        responseSize += call.getResponseCellSize();<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>      metrics.dequeuedCall(qTime);<a name="line.428"></a>
+<span class="sourceLineNo">429</span>      metrics.processedCall(processingTime);<a name="line.429"></a>
+<span class="sourceLineNo">430</span>      metrics.totalCall(totalTime);<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      metrics.receivedRequest(requestSize);<a name="line.431"></a>
+<span class="sourceLineNo">432</span>      metrics.sentResponse(responseSize);<a name="line.432"></a>
+<span class="sourceLineNo">433</span>      // log any RPC responses that are slower than the configured warn<a name="line.433"></a>
+<span class="sourceLineNo">434</span>      // response time or larger than configured warning size<a name="line.434"></a>
+<span class="sourceLineNo">435</span>      boolean tooSlow = (processingTime &gt; warnResponseTime &amp;&amp; warnResponseTime &gt; -1);<a name="line.435"></a>
+<span class="sourceLineNo">436</span>      boolean tooLarge = (responseSize &gt; warnResponseSize &amp;&amp; warnResponseSize &gt; -1);<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      if (tooSlow || tooLarge) {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>        // when tagging, we let TooLarge trump TooSmall to keep output simple<a name="line.438"></a>
+<span class="sourceLineNo">439</span>        // note that large responses will often also be slow.<a name="line.439"></a>
+<span class="sourceLineNo">440</span>        logResponse(param,<a name="line.440"></a>
+<span class="sourceLineNo">441</span>            md.getName(), md.getName() + "(" + param.getClass().getName() + ")",<a name="line.441"></a>
+<span class="sourceLineNo">442</span>            (tooLarge ? "TooLarge" : "TooSlow"),<a name="line.442"></a>
+<span class="sourceLineNo">443</span>            status.getClient(), startTime, processingTime, qTime,<a name="line.443"></a>
+<span class="sourceLineNo">444</span>            responseSize);<a name="line.444"></a>
+<span class="sourceLineNo">445</span>      }<a name="line.445"></a>
+<span class="sourceLineNo">446</span>      return new Pair&lt;&gt;(result, controller.cellScanner());<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    } catch (Throwable e) {<a name="line.447"></a>
+<span

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html
index 6c856aa..b884e7e 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html
@@ -114,7 +114,7 @@ var activeTableTab = "activeTableTab";
 <li class="blockList">
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.66">TestAsyncTableAdminApi</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.63">TestAsyncTableAdminApi</a>
 extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBase.html" title="class in org.apache.hadoop.hbase.client">TestAsyncAdminBase</a></pre>
 <div class="block">Class to test asynchronous table admin operations.</div>
 </li>
@@ -335,7 +335,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>name</h4>
-<pre>public&nbsp;org.junit.rules.TestName <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.69">name</a></pre>
+<pre>public&nbsp;org.junit.rules.TestName <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.66">name</a></pre>
 </li>
 </ul>
 </li>
@@ -352,7 +352,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>TestAsyncTableAdminApi</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.66">TestAsyncTableAdminApi</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.63">TestAsyncTableAdminApi</a>()</pre>
 </li>
 </ul>
 </li>
@@ -369,7 +369,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testTableExist</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.72">testTableExist</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.69">testTableExist</a>()
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -383,7 +383,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testListTables</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.85">testListTables</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.82">testListTables</a>()
                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -397,7 +397,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testGetTableDescriptor</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.134">testGetTableDescriptor</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.131">testGetTableDescriptor</a>()
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -411,7 +411,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testCreateTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.148">testCreateTable</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.145">testCreateTable</a>()
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -425,7 +425,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>getStateFromMeta</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.client.TableState.State&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.161">getStateFromMeta</a>(org.apache.hadoop.hbase.TableName&nbsp;table)
+<pre>private&nbsp;org.apache.hadoop.hbase.client.TableState.State&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.158">getStateFromMeta</a>(org.apache.hadoop.hbase.TableName&nbsp;table)
                                                                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -439,7 +439,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testCreateTableNumberOfRegions</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.169">testCreateTableNumberOfRegions</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.166">testCreateTableNumberOfRegions</a>()
                                     throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -453,7 +453,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testCreateTableWithRegions</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.219">testCreateTableWithRegions</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.216">testCreateTableWithRegions</a>()
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -467,7 +467,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>verifyRoundRobinDistribution</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.378">verifyRoundRobinDistribution</a>(org.apache.hadoop.hbase.client.ClusterConnection&nbsp;c,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.375">verifyRoundRobinDistribution</a>(org.apache.hadoop.hbase.client.ClusterConnection&nbsp;c,
                                           org.apache.hadoop.hbase.client.RegionLocator&nbsp;regionLocator,
                                           int&nbsp;expectedRegions)
                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -483,7 +483,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testCreateTableWithOnlyEmptyStartRow</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.401">testCreateTableWithOnlyEmptyStartRow</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.398">testCreateTableWithOnlyEmptyStartRow</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>
@@ -497,7 +497,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testCreateTableWithEmptyRowInTheSplitKeys</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.416">testCreateTableWithEmptyRowInTheSplitKeys</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.413">testCreateTableWithEmptyRowInTheSplitKeys</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>
@@ -511,7 +511,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testDeleteTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.433">testDeleteTable</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.430">testDeleteTable</a>()
                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -525,7 +525,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testDeleteTables</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.443">testDeleteTables</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.440">testDeleteTables</a>()
                       throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -539,7 +539,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testTruncateTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.463">testTruncateTable</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.460">testTruncateTable</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>
@@ -553,7 +553,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testTruncateTablePreservingSplits</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.468">testTruncateTablePreservingSplits</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.465">testTruncateTablePreservingSplits</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>
@@ -567,7 +567,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testTruncateTable</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.472">testTruncateTable</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.469">testTruncateTable</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
                                boolean&nbsp;preserveSplits)
                         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>
@@ -582,7 +582,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testDisableAndEnableTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.505">testDisableAndEnableTable</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.502">testDisableAndEnableTable</a>()
                                throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -596,7 +596,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testDisableAndEnableTables</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.561">testDisableAndEnableTables</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.558">testDisableAndEnableTables</a>()
                                 throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -610,7 +610,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testEnableTableRetainAssignment</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.618">testEnableTableRetainAssignment</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.615">testEnableTableRetainAssignment</a>()
                                      throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -624,7 +624,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testDisableCatalogTable</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.647">testDisableCatalogTable</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.644">testDisableCatalogTable</a>()
                              throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -638,7 +638,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testAddColumnFamily</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.662">testAddColumnFamily</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.659">testAddColumnFamily</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>
@@ -652,7 +652,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testAddSameColumnFamilyTwice</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.682">testAddSameColumnFamilyTwice</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.679">testAddSameColumnFamilyTwice</a>()
                                   throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -666,7 +666,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testModifyColumnFamily</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.710">testModifyColumnFamily</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.707">testModifyColumnFamily</a>()
                             throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -680,7 +680,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testModifyNonExistingColumnFamily</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.739">testModifyNonExistingColumnFamily</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.736">testModifyNonExistingColumnFamily</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>
@@ -694,7 +694,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testDeleteColumnFamily</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.769">testDeleteColumnFamily</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.766">testDeleteColumnFamily</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>
@@ -708,7 +708,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testDeleteSameColumnFamilyTwice</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.790">testDeleteSameColumnFamilyTwice</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.787">testDeleteSameColumnFamilyTwice</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>
@@ -722,7 +722,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>verifyTableDescriptor</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.818">verifyTableDescriptor</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.815">verifyTableDescriptor</a>(org.apache.hadoop.hbase.TableName&nbsp;tableName,
                                    byte[]...&nbsp;families)
                             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>
@@ -737,7 +737,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>verifyTableDescriptor</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.834">verifyTableDescriptor</a>(org.apache.hadoop.hbase.HTableDescriptor&nbsp;htd,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.831">verifyTableDescriptor</a>(org.apache.hadoop.hbase.HTableDescriptor&nbsp;htd,
                                    org.apache.hadoop.hbase.TableName&nbsp;tableName,
                                    byte[]...&nbsp;families)</pre>
 </li>
@@ -748,7 +748,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockList">
 <li class="blockList">
 <h4>testIsTableEnabledAndDisabled</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.845">testIsTableEnabledAndDisabled</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.842">testIsTableEnabledAndDisabled</a>()
                                    throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -762,7 +762,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/TestAsyncAdminBas
 <ul class="blockListLast">
 <li class="blockList">
 <h4>testTableAvailableWithRandomSplitKeys</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.859">testTableAvailableWithRandomSplitKeys</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestAsyncTableAdminApi.html#line.856">testTableAvailableWithRandomSplitKeys</a>()
                                            throws <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html
new file mode 100644
index 0000000..6d96b4e
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html
@@ -0,0 +1,450 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<!-- Generated by javadoc -->
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>TestScanWithoutFetchingData (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+<script type="text/javascript" src="../../../../../script.js"></script>
+</head>
+<body>
+<script type="text/javascript"><!--
+    try {
+        if (location.href.indexOf('is-external=true') == -1) {
+            parent.document.title="TestScanWithoutFetchingData (Apache HBase 2.0.0-SNAPSHOT Test API)";
+        }
+    }
+    catch(err) {
+    }
+//-->
+var methods = {"i0":10,"i1":9,"i2":9,"i3":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";
+var activeTableTab = "activeTableTab";
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar.top">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.top.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestScanWithoutFetchingData.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/hadoop/hbase/client/TestScannerTimeout.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/TestShell.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" target="_top">Frames</a></li>
+<li><a href="TestScanWithoutFetchingData.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_top");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.top">
+<!--   -->
+</a></div>
+<!-- ========= END OF TOP NAVBAR ========= -->
+<!-- ======== START OF CLASS DATA ======== -->
+<div class="header">
+<div class="subTitle">org.apache.hadoop.hbase.client</div>
+<h2 title="Class TestScanWithoutFetchingData" class="title">Class TestScanWithoutFetchingData</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.client.TestScanWithoutFetchingData</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<hr>
+<br>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#line.49">TestScanWithoutFetchingData</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></pre>
+<div class="block">Testcase to make sure that we do not close scanners if ScanRequest.numberOfRows is zero. See
+ HBASE-18042 for more details.</div>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<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">&nbsp;</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>private static byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#CF">CF</a></span></code>&nbsp;</td>
+</tr>
+<tr 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/TestScanWithoutFetchingData.html#COUNT">COUNT</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#CQ">CQ</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static org.apache.hadoop.hbase.HRegionInfo</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#HRI">HRI</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>private static org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.BlockingInterface</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#STUB">STUB</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private static org.apache.hadoop.hbase.TableName</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#TABLE_NAME">TABLE_NAME</a></span></code>&nbsp;</td>
+</tr>
+<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"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#UTIL">UTIL</a></span></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
+<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colOne" scope="col">Constructor and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#TestScanWithoutFetchingData--">TestScanWithoutFetchingData</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
+<!-- ========== METHOD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.summary">
+<!--   -->
+</a>
+<h3>Method Summary</h3>
+<table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr id="i0" class="altColor">
+<td class="colFirst"><code>private void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#assertResult-int-org.apache.hadoop.hbase.client.Result-">assertResult</a></span>(int&nbsp;row,
+            org.apache.hadoop.hbase.client.Result&nbsp;result)</code>&nbsp;</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#setUp--">setUp</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#tearDown--">tearDown</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#test--">test</a></span>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></h3>
+<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#clone--" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#equals-java.lang.Object-" title="class or interface in java.lang">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#finalize--" title="class or interface in java.lang">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#getClass--" title="class or interface in java.lang">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#hashCode--" title="class or interface in java.lang">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#notify--" title="class or interface in java.lang">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang
 /Object.html?is-external=true#notifyAll--" title="class or interface in java.lang">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#toString--" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait--" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?is-external=true#wait-long-int-" title="class or interface in java.lang">wait</a></code></li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+</div>
+<div class="details">
+<ul class="blockList">
+<li class="blockList">
+<!-- ============ FIELD DETAIL =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field.detail">
+<!--   -->
+</a>
+<h3>Field Detail</h3>
+<a name="UTIL">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>UTIL</h4>
+<pre>private static final&nbsp;<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/client/TestScanWithoutFetchingData.html#line.51">UTIL</a></pre>
+</li>
+</ul>
+<a name="TABLE_NAME">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>TABLE_NAME</h4>
+<pre>private static final&nbsp;org.apache.hadoop.hbase.TableName <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#line.53">TABLE_NAME</a></pre>
+</li>
+</ul>
+<a name="CF">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CF</h4>
+<pre>private static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#line.55">CF</a></pre>
+</li>
+</ul>
+<a name="CQ">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>CQ</h4>
+<pre>private static final&nbsp;byte[] <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#line.57">CQ</a></pre>
+</li>
+</ul>
+<a name="COUNT">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>COUNT</h4>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#line.59">COUNT</a></pre>
+<dl>
+<dt><span class="seeLabel">See Also:</span></dt>
+<dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.client.TestScanWithoutFetchingData.COUNT">Constant Field Values</a></dd>
+</dl>
+</li>
+</ul>
+<a name="HRI">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>HRI</h4>
+<pre>private static&nbsp;org.apache.hadoop.hbase.HRegionInfo <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#line.61">HRI</a></pre>
+</li>
+</ul>
+<a name="STUB">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>STUB</h4>
+<pre>private static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.BlockingInterface <a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#line.63">STUB</a></pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ========= CONSTRUCTOR DETAIL ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor.detail">
+<!--   -->
+</a>
+<h3>Constructor Detail</h3>
+<a name="TestScanWithoutFetchingData--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>TestScanWithoutFetchingData</h4>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#line.49">TestScanWithoutFetchingData</a>()</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method.detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="setUp--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>setUp</h4>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#line.66">setUp</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="tearDown--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>tearDown</h4>
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#line.79">tearDown</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="assertResult-int-org.apache.hadoop.hbase.client.Result-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>assertResult</h4>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#line.83">assertResult</a>(int&nbsp;row,
+                          org.apache.hadoop.hbase.client.Result&nbsp;result)</pre>
+</li>
+</ul>
+<a name="test--">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>test</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html#line.89">test</a>()
+          throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException,
+                 <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>org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException</code></dd>
+<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>
+</ul>
+</div>
+</div>
+<!-- ========= END OF CLASS DATA ========= -->
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar.bottom">
+<!--   -->
+</a>
+<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
+<a name="navbar.bottom.firstrow">
+<!--   -->
+</a>
+<ul class="navList" title="Navigation">
+<li><a href="../../../../../overview-summary.html">Overview</a></li>
+<li><a href="package-summary.html">Package</a></li>
+<li class="navBarCell1Rev">Class</li>
+<li><a href="class-use/TestScanWithoutFetchingData.html">Use</a></li>
+<li><a href="package-tree.html">Tree</a></li>
+<li><a href="../../../../../deprecated-list.html">Deprecated</a></li>
+<li><a href="../../../../../index-all.html">Index</a></li>
+<li><a href="../../../../../help-doc.html">Help</a></li>
+</ul>
+</div>
+<div class="subNav">
+<ul class="navList">
+<li><a href="../../../../../org/apache/hadoop/hbase/client/TestScannerTimeout.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/TestShell.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" target="_top">Frames</a></li>
+<li><a href="TestScanWithoutFetchingData.html" target="_top">No&nbsp;Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All&nbsp;Classes</a></li>
+</ul>
+<div>
+<script type="text/javascript"><!--
+  allClassesLink = document.getElementById("allclasses_navbar_bottom");
+  if(window==top) {
+    allClassesLink.style.display = "block";
+  }
+  else {
+    allClassesLink.style.display = "none";
+  }
+  //-->
+</script>
+</div>
+<div>
+<ul class="subNavList">
+<li>Summary:&nbsp;</li>
+<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.summary">Method</a></li>
+</ul>
+<ul class="subNavList">
+<li>Detail:&nbsp;</li>
+<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
+<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
+<li><a href="#method.detail">Method</a></li>
+</ul>
+</div>
+<a name="skip.navbar.bottom">
+<!--   -->
+</a></div>
+<!-- ======== END OF BOTTOM NAVBAR ======= -->
+<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2017 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/org/apache/hadoop/hbase/client/TestScannerTimeout.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestScannerTimeout.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestScannerTimeout.html
index f2d3013..a4b70a1 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/TestScannerTimeout.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestScannerTimeout.html
@@ -50,7 +50,7 @@ var activeTableTab = "activeTableTab";
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/client/TestScannersFromClientSide2.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/client/TestShell.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/client/TestScannerTimeout.html" target="_top">Frames</a></li>
@@ -483,7 +483,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/client/TestScannersFromClientSide2.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/client/TestShell.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/client/TestScannerTimeout.html" target="_top">Frames</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/org/apache/hadoop/hbase/client/TestShell.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/TestShell.html b/testdevapidocs/org/apache/hadoop/hbase/client/TestShell.html
index 87a8fc8..b395f29 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/TestShell.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/TestShell.html
@@ -49,7 +49,7 @@ var activeTableTab = "activeTableTab";
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/client/TestScannerTimeout.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/client/TestShellNoCluster.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -258,7 +258,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/client/AbstractTestShell
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/client/TestScannerTimeout.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Prev&nbsp;Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/client/TestShellNoCluster.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">Next&nbsp;Class</span></a></li>
 </ul>
 <ul class="navList">

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/org/apache/hadoop/hbase/client/package-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/package-frame.html b/testdevapidocs/org/apache/hadoop/hbase/client/package-frame.html
index 813d016..29821e3 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/package-frame.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/package-frame.html
@@ -194,6 +194,7 @@
 <li><a href="TestScannersFromClientSide.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TestScannersFromClientSide</a></li>
 <li><a href="TestScannersFromClientSide2.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TestScannersFromClientSide2</a></li>
 <li><a href="TestScannerTimeout.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TestScannerTimeout</a></li>
+<li><a href="TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TestScanWithoutFetchingData</a></li>
 <li><a href="TestShell.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TestShell</a></li>
 <li><a href="TestShellNoCluster.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TestShellNoCluster</a></li>
 <li><a href="TestShortCircuitConnection.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TestShortCircuitConnection</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/org/apache/hadoop/hbase/client/package-summary.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/package-summary.html b/testdevapidocs/org/apache/hadoop/hbase/client/package-summary.html
index 59cb90a..beabfe5 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/package-summary.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/package-summary.html
@@ -943,98 +943,104 @@
 </td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client">TestScanWithoutFetchingData</a></td>
+<td class="colLast">
+<div class="block">Testcase to make sure that we do not close scanners if ScanRequest.numberOfRows is zero.</div>
+</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestShell.html" title="class in org.apache.hadoop.hbase.client">TestShell</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestShellNoCluster.html" title="class in org.apache.hadoop.hbase.client">TestShellNoCluster</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestShortCircuitConnection.html" title="class in org.apache.hadoop.hbase.client">TestShortCircuitConnection</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSimpleRequestController.html" title="class in org.apache.hadoop.hbase.client">TestSimpleRequestController</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSizeFailures.html" title="class in org.apache.hadoop.hbase.client">TestSizeFailures</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSmallReversedScanner.html" title="class in org.apache.hadoop.hbase.client">TestSmallReversedScanner</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSnapshotCloneIndependence.html" title="class in org.apache.hadoop.hbase.client">TestSnapshotCloneIndependence</a></td>
 <td class="colLast">
 <div class="block">Test to verify that the cloned table is independent of the table from which it was cloned</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSnapshotFromAdmin.html" title="class in org.apache.hadoop.hbase.client">TestSnapshotFromAdmin</a></td>
 <td class="colLast">
 <div class="block">Test snapshot logic from the client</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSnapshotFromClient.html" title="class in org.apache.hadoop.hbase.client">TestSnapshotFromClient</a></td>
 <td class="colLast">
 <div class="block">Test create/using/deleting snapshots from the client</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSnapshotFromClientWithRegionReplicas.html" title="class in org.apache.hadoop.hbase.client">TestSnapshotFromClientWithRegionReplicas</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSnapshotMetadata.html" title="class in org.apache.hadoop.hbase.client">TestSnapshotMetadata</a></td>
 <td class="colLast">
 <div class="block">Test class to verify that metadata is consistent before and after a snapshot attempt.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSnapshotWithAcl.html" title="class in org.apache.hadoop.hbase.client">TestSnapshotWithAcl</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSnapshotWithAcl.AccessReadAction.html" title="class in org.apache.hadoop.hbase.client">TestSnapshotWithAcl.AccessReadAction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSnapshotWithAcl.AccessWriteAction.html" title="class in org.apache.hadoop.hbase.client">TestSnapshotWithAcl.AccessWriteAction</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestSplitOrMergeStatus.html" title="class in org.apache.hadoop.hbase.client">TestSplitOrMergeStatus</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestTableDescriptorBuilder.html" title="class in org.apache.hadoop.hbase.client">TestTableDescriptorBuilder</a></td>
 <td class="colLast">
 <div class="block">Test setting values in the descriptor</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestTableFavoredNodes.html" title="class in org.apache.hadoop.hbase.client">TestTableFavoredNodes</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestTableSnapshotScanner.html" title="class in org.apache.hadoop.hbase.client">TestTableSnapshotScanner</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestTimestampsFilter.html" title="class in org.apache.hadoop.hbase.client">TestTimestampsFilter</a></td>
 <td class="colLast">
 <div class="block">Run tests related to <code>TimestampsFilter</code> using HBase client APIs.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestUpdateConfiguration.html" title="class in org.apache.hadoop.hbase.client">TestUpdateConfiguration</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/client/TestZKAsyncRegistry.html" title="class in org.apache.hadoop.hbase.client">TestZKAsyncRegistry</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/org/apache/hadoop/hbase/client/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/client/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/client/package-tree.html
index 443c24d..1e7747c 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -401,6 +401,7 @@
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TestScannersFromClientSide.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestScannersFromClientSide</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TestScannersFromClientSide2.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestScannersFromClientSide2</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TestScannerTimeout.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestScannerTimeout</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TestScanWithoutFetchingData.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestScanWithoutFetchingData</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TestShortCircuitConnection.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestShortCircuitConnection</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TestSimpleRequestController.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestSimpleRequestController</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TestSizeFailures.html" title="class in org.apache.hadoop.hbase.client"><span class="typeNameLink">TestSizeFailures</span></a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 ee52e3c..2b17459 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -158,8 +158,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/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>
+<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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html b/testdevapidocs/org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html
index 0ff6135..273162b 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.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};
+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};
 var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -214,7 +214,7 @@ 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/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#saslContextEstablished">saslContextEstablished</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslServer.html?is-external=true" title="class or interface in javax.security.sasl">SaslServer</a></code></td>
+<td class="colFirst"><code>protected org.apache.hadoop.hbase.security.HBaseSaslRpcServer</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#saslServer">saslServer</a></span></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
@@ -303,108 +303,86 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
           org.apache.hadoop.hbase.ipc.RpcServer.CallCleanup&nbsp;arg10)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
-<td class="colFirst"><code>protected org.apache.hadoop.security.UserGroupInformation</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#createUser-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader-">createUser</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;arg0)</code>&nbsp;</td>
-</tr>
-<tr id="i4" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#decRpcCount--">decRpcCount</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i5" class="rowColor">
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#disposeSasl--">disposeSasl</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i6" class="altColor">
+<tr id="i5" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#doRawSaslReply-org.apache.hadoop.hbase.security.SaslStatus-org.apache.hadoop.io.Writable-java.lang.String-java.lang.String-">doRawSaslReply</a></span>(org.apache.hadoop.hbase.security.SaslStatus&nbsp;arg0,
               org.apache.hadoop.io.Writable&nbsp;arg1,
               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;arg2,
               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;arg3)</code>&nbsp;</td>
 </tr>
-<tr id="i7" class="rowColor">
+<tr id="i6" class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#doRespond-org.apache.hadoop.hbase.ipc.RpcResponse-">doRespond</a></span>(org.apache.hadoop.hbase.ipc.RpcResponse&nbsp;arg0)</code>&nbsp;</td>
 </tr>
-<tr id="i8" class="altColor">
-<td class="colFirst"><code>protected org.apache.hadoop.security.UserGroupInformation</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#getAuthorizedUgi-java.lang.String-">getAuthorizedUgi</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;arg0)</code>&nbsp;</td>
-</tr>
-<tr id="i9" class="rowColor">
+<tr id="i7" class="rowColor">
 <td class="colFirst"><code>protected org.apache.hadoop.hbase.ipc.RpcResponse</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#getErrorResponse-java.lang.String-java.lang.Exception-">getErrorResponse</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;arg0,
                 <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>&nbsp;arg1)</code>&nbsp;</td>
 </tr>
-<tr id="i10" class="altColor">
-<td class="colFirst"><code>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></code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#getFatalConnectionString-int-byte-">getFatalConnectionString</a></span>(int&nbsp;arg0,
-                        byte&nbsp;arg1)</code>&nbsp;</td>
-</tr>
-<tr id="i11" class="rowColor">
+<tr id="i8" class="altColor">
 <td class="colFirst"><code><a href="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/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#getHostAddress--">getHostAddress</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i12" class="altColor">
+<tr id="i9" class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#getHostInetAddress--">getHostInetAddress</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i13" class="rowColor">
+<tr id="i10" class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#getLastContact--">getLastContact</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i14" class="altColor">
+<tr id="i11" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#getRemotePort--">getRemotePort</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i15" class="rowColor">
+<tr id="i12" class="altColor">
 <td class="colFirst"><code>org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.VersionInfo</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#getVersionInfo--">getVersionInfo</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i16" class="altColor">
+<tr id="i13" class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#incRpcCount--">incRpcCount</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i17" class="rowColor">
+<tr id="i14" class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#isConnectionOpen--">isConnectionOpen</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i18" class="altColor">
+<tr id="i15" class="rowColor">
 <td class="colFirst"><code>(package private) boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#isIdle--">isIdle</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i19" 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/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#processOneRpc-org.apache.hadoop.hbase.nio.ByteBuff-">processOneRpc</a></span>(org.apache.hadoop.hbase.nio.ByteBuff&nbsp;arg0)</code>&nbsp;</td>
 </tr>
-<tr id="i20" class="altColor">
+<tr id="i17" class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#processPreamble-java.nio.ByteBuffer-">processPreamble</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;arg0)</code>&nbsp;</td>
 </tr>
-<tr id="i21" 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/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#processRequest-org.apache.hadoop.hbase.nio.ByteBuff-">processRequest</a></span>(org.apache.hadoop.hbase.nio.ByteBuff&nbsp;buf)</code>&nbsp;</td>
 </tr>
-<tr id="i22" class="altColor">
+<tr id="i19" class="rowColor">
 <td class="colFirst"><code>int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#readAndProcess--">readAndProcess</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i23" class="rowColor">
+<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/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#saslReadAndProcess-org.apache.hadoop.hbase.nio.ByteBuff-">saslReadAndProcess</a></span>(org.apache.hadoop.hbase.nio.ByteBuff&nbsp;arg0)</code>&nbsp;</td>
 </tr>
-<tr id="i24" class="altColor">
+<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/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#setLastContact-long-">setLastContact</a></span>(long&nbsp;arg0)</code>&nbsp;</td>
 </tr>
-<tr id="i25" class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#setupCellBlockCodecs-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader-">setupCellBlockCodecs</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;arg0)</code>&nbsp;</td>
-</tr>
-<tr id="i26" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#setupCryptoCipher-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeaderResponse.Builder-">setupCryptoCipher</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;arg0,
-                 org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeaderResponse.Builder&nbsp;arg1)</code>&nbsp;</td>
-</tr>
-<tr id="i27" class="rowColor">
+<tr id="i22" class="altColor">
 <td class="colFirst"><code><a href="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/ipc/AbstractTestIPC.TestFailingRpcServer.FailingConnection.html#toString--">toString</a></span>()</code>&nbsp;</td>
 </tr>
@@ -607,7 +585,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>saslServer</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslServer.html?is-external=true" title="class or interface in javax.security.sasl">SaslServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.0">saslServer</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.security.HBaseSaslRpcServer <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.0">saslServer</a></pre>
 </li>
 </ul>
 <a name="cryptoAES">
@@ -892,75 +870,13 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.VersionInfo&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.0">getVersionInfo</a>()</pre>
 </li>
 </ul>
-<a name="getFatalConnectionString-int-byte-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getFatalConnectionString</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.0">getFatalConnectionString</a>(int&nbsp;arg0,
-                                          byte&nbsp;arg1)</pre>
-</li>
-</ul>
-<a name="getAuthorizedUgi-java.lang.String-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>getAuthorizedUgi</h4>
-<pre>protected&nbsp;org.apache.hadoop.security.UserGroupInformation&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.0">getAuthorizedUgi</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>&nbsp;arg0)
-                                                                    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="setupCellBlockCodecs-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setupCellBlockCodecs</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.0">setupCellBlockCodecs</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;arg0)
-                             throws org.apache.hadoop.hbase.ipc.FatalConnectionException</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>org.apache.hadoop.hbase.ipc.FatalConnectionException</code></dd>
-</dl>
-</li>
-</ul>
-<a name="setupCryptoCipher-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeaderResponse.Builder-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>setupCryptoCipher</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.0">setupCryptoCipher</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;arg0,
-                                 org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeaderResponse.Builder&nbsp;arg1)
-                          throws org.apache.hadoop.hbase.ipc.FatalConnectionException</pre>
-<dl>
-<dt><span class="throwsLabel">Throws:</span></dt>
-<dd><code>org.apache.hadoop.hbase.ipc.FatalConnectionException</code></dd>
-</dl>
-</li>
-</ul>
-<a name="createUser-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader-">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>createUser</h4>
-<pre>protected&nbsp;org.apache.hadoop.security.UserGroupInformation&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.0">createUser</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;arg0)</pre>
-</li>
-</ul>
 <a name="disposeSasl--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>disposeSasl</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.0">disposeSasl</a>()</pre>
+<pre>protected final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.0">disposeSasl</a>()</pre>
 </li>
 </ul>
 <a name="doRawSaslReply-org.apache.hadoop.hbase.security.SaslStatus-org.apache.hadoop.io.Writable-java.lang.String-java.lang.String-">


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index 64b7d66..50a7ffe 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Checkstyle Results</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -289,7 +289,7 @@
 <td>2203</td>
 <td>0</td>
 <td>0</td>
-<td>14460</td></tr></table></div>
+<td>14436</td></tr></table></div>
 <div class="section">
 <h2><a name="Files"></a>Files</h2>
 <table border="0" class="table table-striped">
@@ -2547,7 +2547,7 @@
 <td><a href="#org.apache.hadoop.hbase.ipc.ServerRpcConnection.java">org/apache/hadoop/hbase/ipc/ServerRpcConnection.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>42</td></tr>
+<td>22</td></tr>
 <tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.SimpleRpcScheduler.java">org/apache/hadoop/hbase/ipc/SimpleRpcScheduler.java</a></td>
 <td>0</td>
@@ -4302,7 +4302,7 @@
 <td><a href="#org.apache.hadoop.hbase.regionserver.RSRpcServices.java">org/apache/hadoop/hbase/regionserver/RSRpcServices.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>124</td></tr>
+<td>122</td></tr>
 <tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RSStatusServlet.java">org/apache/hadoop/hbase/regionserver/RSStatusServlet.java</a></td>
 <td>0</td>
@@ -5394,1736 +5394,1731 @@
 <td>0</td>
 <td>4</td></tr>
 <tr class="a">
-<td><a href="#org.apache.hadoop.hbase.security.HBaseSaslRpcServer.java">org/apache/hadoop/hbase/security/HBaseSaslRpcServer.java</a></td>
-<td>0</td>
-<td>0</td>
-<td>2</td></tr>
-<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.SaslStatus.java">org/apache/hadoop/hbase/security/SaslStatus.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.SaslUtil.java">org/apache/hadoop/hbase/security/SaslUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.SecurityInfo.java">org/apache/hadoop/hbase/security/SecurityInfo.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.SecurityUtil.java">org/apache/hadoop/hbase/security/SecurityUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.Superusers.java">org/apache/hadoop/hbase/security/Superusers.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.User.java">org/apache/hadoop/hbase/security/User.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.UserProvider.java">org/apache/hadoop/hbase/security/UserProvider.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.AccessControlClient.java">org/apache/hadoop/hbase/security/access/AccessControlClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>48</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.AccessControlConstants.java">org/apache/hadoop/hbase/security/access/AccessControlConstants.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.AccessControlFilter.java">org/apache/hadoop/hbase/security/access/AccessControlFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.AccessControlLists.java">org/apache/hadoop/hbase/security/access/AccessControlLists.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>18</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.AccessControlUtil.java">org/apache/hadoop/hbase/security/access/AccessControlUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>41</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.AccessController.java">org/apache/hadoop/hbase/security/access/AccessController.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>34</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.AuthResult.java">org/apache/hadoop/hbase/security/access/AuthResult.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.CoprocessorWhitelistMasterObserver.java">org/apache/hadoop/hbase/security/access/CoprocessorWhitelistMasterObserver.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.Permission.java">org/apache/hadoop/hbase/security/access/Permission.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.SecureBulkLoadEndpoint.java">org/apache/hadoop/hbase/security/access/SecureBulkLoadEndpoint.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.ShadedAccessControlUtil.java">org/apache/hadoop/hbase/security/access/ShadedAccessControlUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>48</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.TableAuthManager.java">org/apache/hadoop/hbase/security/access/TableAuthManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>41</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.TablePermission.java">org/apache/hadoop/hbase/security/access/TablePermission.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.access.UserPermission.java">org/apache/hadoop/hbase/security/access/UserPermission.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.access.ZKPermissionWatcher.java">org/apache/hadoop/hbase/security/access/ZKPermissionWatcher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.token.AuthenticationKey.java">org/apache/hadoop/hbase/security/token/AuthenticationKey.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.token.AuthenticationTokenIdentifier.java">org/apache/hadoop/hbase/security/token/AuthenticationTokenIdentifier.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.token.AuthenticationTokenSecretManager.java">org/apache/hadoop/hbase/security/token/AuthenticationTokenSecretManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.token.FsDelegationToken.java">org/apache/hadoop/hbase/security/token/FsDelegationToken.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.token.TokenProvider.java">org/apache/hadoop/hbase/security/token/TokenProvider.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.token.TokenUtil.java">org/apache/hadoop/hbase/security/token/TokenUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.token.ZKSecretWatcher.java">org/apache/hadoop/hbase/security/token/ZKSecretWatcher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.CellVisibility.java">org/apache/hadoop/hbase/security/visibility/CellVisibility.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.DefaultVisibilityLabelServiceImpl.java">org/apache/hadoop/hbase/security/visibility/DefaultVisibilityLabelServiceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.DefinedSetFilterScanLabelGenerator.java">org/apache/hadoop/hbase/security/visibility/DefinedSetFilterScanLabelGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.EnforcingScanLabelGenerator.java">org/apache/hadoop/hbase/security/visibility/EnforcingScanLabelGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.ExpressionParser.java">org/apache/hadoop/hbase/security/visibility/ExpressionParser.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.FeedUserAuthScanLabelGenerator.java">org/apache/hadoop/hbase/security/visibility/FeedUserAuthScanLabelGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.ScanLabelGenerator.java">org/apache/hadoop/hbase/security/visibility/ScanLabelGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.SimpleScanLabelGenerator.java">org/apache/hadoop/hbase/security/visibility/SimpleScanLabelGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityClient.java">org/apache/hadoop/hbase/security/visibility/VisibilityClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>84</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityConstants.java">org/apache/hadoop/hbase/security/visibility/VisibilityConstants.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityController.java">org/apache/hadoop/hbase/security/visibility/VisibilityController.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityExpEvaluator.java">org/apache/hadoop/hbase/security/visibility/VisibilityExpEvaluator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityLabelFilter.java">org/apache/hadoop/hbase/security/visibility/VisibilityLabelFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityLabelServiceManager.java">org/apache/hadoop/hbase/security/visibility/VisibilityLabelServiceManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityLabelsCache.java">org/apache/hadoop/hbase/security/visibility/VisibilityLabelsCache.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityLabelsValidator.java">org/apache/hadoop/hbase/security/visibility/VisibilityLabelsValidator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityReplicationEndpoint.java">org/apache/hadoop/hbase/security/visibility/VisibilityReplicationEndpoint.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityScanDeleteTracker.java">org/apache/hadoop/hbase/security/visibility/VisibilityScanDeleteTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>49</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.VisibilityUtils.java">org/apache/hadoop/hbase/security/visibility/VisibilityUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.security.visibility.ZKVisibilityLabelWatcher.java">org/apache/hadoop/hbase/security/visibility/ZKVisibilityLabelWatcher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.AbstractMessage.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/AbstractMessage.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.AbstractParser.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/AbstractParser.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.AbstractProtobufList.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/AbstractProtobufList.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.Any.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/Any.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>19</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.AnyProto.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/AnyProto.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.Api.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/Api.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>27</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.ApiProto.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/ApiProto.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>24</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.BoolValue.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/BoolValue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.BooleanArrayList.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/BooleanArrayList.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteInput.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/ByteInput.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteInputByteString.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/ByteInputByteString.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteOutput.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/ByteOutput.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/ByteString.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>23</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.BytesValue.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/BytesValue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>14</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.CodedInputStream.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/CodedInputStream.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>192</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.CodedOutputStream.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/CodedOutputStream.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.DescriptorProtos.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/DescriptorProtos.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>773</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/Descriptors.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>76</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.DoubleArrayList.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/DoubleArrayList.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.DoubleValue.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/DoubleValue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.Duration.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/Duration.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.DurationProto.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/DurationProto.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.DynamicMessage.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/DynamicMessage.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.Empty.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/Empty.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.EmptyProto.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/EmptyProto.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.Enum.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/Enum.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>20</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.EnumValue.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/EnumValue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>18</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.ExtensionRegistry.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/ExtensionRegistry.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.ExtensionRegistryFactory.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/ExtensionRegistryFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.Field.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/Field.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>41</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMask.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldMask.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>22</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldMaskProto.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldMaskProto.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.FieldSet.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/FieldSet.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>32</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.FloatArrayList.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/FloatArrayList.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.FloatValue.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/FloatValue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.GeneratedMessage.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/GeneratedMessage.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.GeneratedMessageLite.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/GeneratedMessageLite.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.GeneratedMessageV3.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/GeneratedMessageV3.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.Int32Value.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/Int32Value.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.Int64Value.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/Int64Value.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.IntArrayList.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/IntArrayList.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.Internal.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/Internal.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.LazyField.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/LazyField.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.LazyFieldLite.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/LazyFieldLite.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.ListValue.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/ListValue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.LongArrayList.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/LongArrayList.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.MapEntry.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/MapEntry.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.MapEntryLite.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/MapEntryLite.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.MapField.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/MapField.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.MapFieldLite.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/MapFieldLite.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.MessageLiteToString.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/MessageLiteToString.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.MessageReflection.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/MessageReflection.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.Method.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/Method.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>28</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.Mixin.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/Mixin.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>22</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.NioByteString.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/NioByteString.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.NullValue.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/NullValue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.Option.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/Option.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>17</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.ProtobufArrayList.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/ProtobufArrayList.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.RopeByteString.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/RopeByteString.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcUtil.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/RpcUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.SmallSortedMap.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/SmallSortedMap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.SourceContext.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/SourceContext.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>17</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.SourceContextProto.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/SourceContextProto.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.StringValue.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/StringValue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>17</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.Struct.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/Struct.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>31</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.StructOrBuilder.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/StructOrBuilder.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.StructProto.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/StructProto.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>21</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.Syntax.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/Syntax.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/TextFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormatParseInfoTree.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/TextFormatParseInfoTree.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.Timestamp.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/Timestamp.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.TimestampProto.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/TimestampProto.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.Type.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/Type.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>30</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.TypeProto.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/TypeProto.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>43</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.UInt32Value.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/UInt32Value.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.UInt64Value.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/UInt64Value.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.UnknownFieldSet.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/UnknownFieldSet.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.Utf8.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/Utf8.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>44</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.Value.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/Value.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>27</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.WireFormat.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/WireFormat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>51</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.WrappersProto.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/WrappersProto.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.com.google.protobuf.compiler.PluginProtos.java">org/apache/hadoop/hbase/shaded/com/google/protobuf/compiler/PluginProtos.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>126</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil.java">org/apache/hadoop/hbase/shaded/protobuf/ProtobufUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>222</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.shaded.protobuf.RequestConverter.java">org/apache/hadoop/hbase/shaded/protobuf/RequestConverter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>194</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.shaded.protobuf.ResponseConverter.java">org/apache/hadoop/hbase/shaded/protobuf/ResponseConverter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>27</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.ClientSnapshotDescriptionUtils.java">org/apache/hadoop/hbase/snapshot/ClientSnapshotDescriptionUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.CreateSnapshot.java">org/apache/hadoop/hbase/snapshot/CreateSnapshot.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>42</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.ExportSnapshot.java">org/apache/hadoop/hbase/snapshot/ExportSnapshot.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>19</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.RestoreSnapshotHelper.java">org/apache/hadoop/hbase/snapshot/RestoreSnapshotHelper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>21</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.SnapshotDescriptionUtils.java">org/apache/hadoop/hbase/snapshot/SnapshotDescriptionUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.SnapshotInfo.java">org/apache/hadoop/hbase/snapshot/SnapshotInfo.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>18</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.SnapshotManifest.java">org/apache/hadoop/hbase/snapshot/SnapshotManifest.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.SnapshotManifestV2.java">org/apache/hadoop/hbase/snapshot/SnapshotManifestV2.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.snapshot.SnapshotReferenceUtil.java">org/apache/hadoop/hbase/snapshot/SnapshotReferenceUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.snapshot.TablePartiallyOpenException.java">org/apache/hadoop/hbase/snapshot/TablePartiallyOpenException.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.spark.SparkSQLPushDownFilter.java">org/apache/hadoop/hbase/spark/SparkSQLPushDownFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.spark.example.hbasecontext.JavaHBaseBulkDeleteExample.java">org/apache/hadoop/hbase/spark/example/hbasecontext/JavaHBaseBulkDeleteExample.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.spark.example.hbasecontext.JavaHBaseBulkLoadExample.java">org/apache/hadoop/hbase/spark/example/hbasecontext/JavaHBaseBulkLoadExample.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.spark.example.hbasecontext.JavaHBaseMapGetPutExample.java">org/apache/hadoop/hbase/spark/example/hbasecontext/JavaHBaseMapGetPutExample.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.thrift.DemoClient.java">org/apache/hadoop/hbase/thrift/DemoClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>241</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.thrift.HThreadedSelectorServerArgs.java">org/apache/hadoop/hbase/thrift/HThreadedSelectorServerArgs.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.thrift.HbaseHandlerMetricsProxy.java">org/apache/hadoop/hbase/thrift/HbaseHandlerMetricsProxy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.thrift.HttpDoAsClient.java">org/apache/hadoop/hbase/thrift/HttpDoAsClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.thrift.IncrementCoalescer.java">org/apache/hadoop/hbase/thrift/IncrementCoalescer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.thrift.MetricsThriftServerSource.java">org/apache/hadoop/hbase/thrift/MetricsThriftServerSource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.thrift.MetricsThriftServerSourceFactory.java">org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.thrift.MetricsThriftServerSourceImpl.java">org/apache/hadoop/hbase/thrift/MetricsThriftServerSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.thrift.TBoundedThreadPoolServer.java">org/apache/hadoop/hbase/thrift/TBoundedThreadPoolServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.thrift.ThriftMetrics.java">org/apache/hadoop/hbase/thrift/ThriftMetrics.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.thrift.ThriftServer.java">org/apache/hadoop/hbase/thrift/ThriftServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.thrift.ThriftServerRunner.java">org/apache/hadoop/hbase/thrift/ThriftServerRunner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>23</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.thrift.ThriftUtilities.java">org/apache/hadoop/hbase/thrift/ThriftUtilities.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>21</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.thrift2.DemoClient.java">org/apache/hadoop/hbase/thrift2/DemoClient.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.thrift2.ThriftServer.java">org/apache/hadoop/hbase/thrift2/ThriftServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.thrift2.ThriftUtilities.java">org/apache/hadoop/hbase/thrift2/ThriftUtilities.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.tool.Canary.java">org/apache/hadoop/hbase/tool/Canary.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>25</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.tool.WriteSinkCoprocessor.java">org/apache/hadoop/hbase/tool/WriteSinkCoprocessor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.trace.HBaseHTraceConfiguration.java">org/apache/hadoop/hbase/trace/HBaseHTraceConfiguration.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.trace.SpanReceiverHost.java">org/apache/hadoop/hbase/trace/SpanReceiverHost.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.CopyOnWriteArrayMap.java">org/apache/hadoop/hbase/types/CopyOnWriteArrayMap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.FixedLengthWrapper.java">org/apache/hadoop/hbase/types/FixedLengthWrapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedBlob.java">org/apache/hadoop/hbase/types/OrderedBlob.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedBlobVar.java">org/apache/hadoop/hbase/types/OrderedBlobVar.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedBytesBase.java">org/apache/hadoop/hbase/types/OrderedBytesBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedFloat32.java">org/apache/hadoop/hbase/types/OrderedFloat32.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedFloat64.java">org/apache/hadoop/hbase/types/OrderedFloat64.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedInt16.java">org/apache/hadoop/hbase/types/OrderedInt16.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedInt32.java">org/apache/hadoop/hbase/types/OrderedInt32.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedInt64.java">org/apache/hadoop/hbase/types/OrderedInt64.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedInt8.java">org/apache/hadoop/hbase/types/OrderedInt8.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedNumeric.java">org/apache/hadoop/hbase/types/OrderedNumeric.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.OrderedString.java">org/apache/hadoop/hbase/types/OrderedString.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.PBCell.java">org/apache/hadoop/hbase/types/PBCell.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.PBType.java">org/apache/hadoop/hbase/types/PBType.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.RawByte.java">org/apache/hadoop/hbase/types/RawByte.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.RawBytes.java">org/apache/hadoop/hbase/types/RawBytes.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.RawDouble.java">org/apache/hadoop/hbase/types/RawDouble.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.RawFloat.java">org/apache/hadoop/hbase/types/RawFloat.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.RawInteger.java">org/apache/hadoop/hbase/types/RawInteger.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.RawLong.java">org/apache/hadoop/hbase/types/RawLong.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.RawShort.java">org/apache/hadoop/hbase/types/RawShort.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.RawString.java">org/apache/hadoop/hbase/types/RawString.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.Struct.java">org/apache/hadoop/hbase/types/Struct.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.StructBuilder.java">org/apache/hadoop/hbase/types/StructBuilder.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.StructIterator.java">org/apache/hadoop/hbase/types/StructIterator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.TerminatedWrapper.java">org/apache/hadoop/hbase/types/TerminatedWrapper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.Union2.java">org/apache/hadoop/hbase/types/Union2.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.types.Union3.java">org/apache/hadoop/hbase/types/Union3.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.types.Union4.java">org/apache/hadoop/hbase/types/Union4.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.AbstractByteRange.java">org/apache/hadoop/hbase/util/AbstractByteRange.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.AbstractFileStatusFilter.java">org/apache/hadoop/hbase/util/AbstractFileStatusFilter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.AbstractHBaseTool.java">org/apache/hadoop/hbase/util/AbstractHBaseTool.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.AbstractPositionedByteRange.java">org/apache/hadoop/hbase/util/AbstractPositionedByteRange.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.Addressing.java">org/apache/hadoop/hbase/util/Addressing.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ArrayUtils.java">org/apache/hadoop/hbase/util/ArrayUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.AtomicUtils.java">org/apache/hadoop/hbase/util/AtomicUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.AvlUtil.java">org/apache/hadoop/hbase/util/AvlUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.Base64.java">org/apache/hadoop/hbase/util/Base64.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>28</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.BloomContext.java">org/apache/hadoop/hbase/util/BloomContext.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.BloomFilterChunk.java">org/apache/hadoop/hbase/util/BloomFilterChunk.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.BloomFilterFactory.java">org/apache/hadoop/hbase/util/BloomFilterFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.BloomFilterUtil.java">org/apache/hadoop/hbase/util/BloomFilterUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.BoundedPriorityBlockingQueue.java">org/apache/hadoop/hbase/util/BoundedPriorityBlockingQueue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.ByteBufferArray.java">org/apache/hadoop/hbase/util/ByteBufferArray.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ByteBufferUtils.java">org/apache/hadoop/hbase/util/ByteBufferUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>55</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.ByteRangeUtils.java">org/apache/hadoop/hbase/util/ByteRangeUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ByteStringer.java">org/apache/hadoop/hbase/util/ByteStringer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.Bytes.java">org/apache/hadoop/hbase/util/Bytes.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>85</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ChecksumType.java">org/apache/hadoop/hbase/util/ChecksumType.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.ClassLoaderBase.java">org/apache/hadoop/hbase/util/ClassLoaderBase.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ClassSize.java">org/apache/hadoop/hbase/util/ClassSize.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.Classes.java">org/apache/hadoop/hbase/util/Classes.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.CollectionBackedScanner.java">org/apache/hadoop/hbase/util/CollectionBackedScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.CollectionUtils.java">org/apache/hadoop/hbase/util/CollectionUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.CompressionTest.java">org/apache/hadoop/hbase/util/CompressionTest.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.ConcatenatedLists.java">org/apache/hadoop/hbase/util/ConcatenatedLists.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ConfigurationUtil.java">org/apache/hadoop/hbase/util/ConfigurationUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.ConnectionCache.java">org/apache/hadoop/hbase/util/ConnectionCache.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.CoprocessorClassLoader.java">org/apache/hadoop/hbase/util/CoprocessorClassLoader.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.Counter.java">org/apache/hadoop/hbase/util/Counter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.DirectMemoryUtils.java">org/apache/hadoop/hbase/util/DirectMemoryUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.DrainBarrier.java">org/apache/hadoop/hbase/util/DrainBarrier.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.DynamicClassLoader.java">org/apache/hadoop/hbase/util/DynamicClassLoader.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>26</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.EncryptionTest.java">org/apache/hadoop/hbase/util/EncryptionTest.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.EnvironmentEdgeManager.java">org/apache/hadoop/hbase/util/EnvironmentEdgeManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.ExceptionUtil.java">org/apache/hadoop/hbase/util/ExceptionUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.FSHDFSUtils.java">org/apache/hadoop/hbase/util/FSHDFSUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>23</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.FSMapRUtils.java">org/apache/hadoop/hbase/util/FSMapRUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.FSRegionScanner.java">org/apache/hadoop/hbase/util/FSRegionScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.FSTableDescriptors.java">org/apache/hadoop/hbase/util/FSTableDescriptors.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>15</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.FSUtils.java">org/apache/hadoop/hbase/util/FSUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>96</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.FSVisitor.java">org/apache/hadoop/hbase/util/FSVisitor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ForeignExceptionUtil.java">org/apache/hadoop/hbase/util/ForeignExceptionUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.GetJavaProperty.java">org/apache/hadoop/hbase/util/GetJavaProperty.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.HBaseConfTool.java">org/apache/hadoop/hbase/util/HBaseConfTool.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.HBaseFsck.java">org/apache/hadoop/hbase/util/HBaseFsck.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>98</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.HBaseFsckRepair.java">org/apache/hadoop/hbase/util/HBaseFsckRepair.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.HFileArchiveUtil.java">org/apache/hadoop/hbase/util/HFileArchiveUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.Hash.java">org/apache/hadoop/hbase/util/Hash.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.HashKey.java">org/apache/hadoop/hbase/util/HashKey.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.HashedBytes.java">org/apache/hadoop/hbase/util/HashedBytes.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.HttpServerUtil.java">org/apache/hadoop/hbase/util/HttpServerUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.IdLock.java">org/apache/hadoop/hbase/util/IdLock.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.IdReadWriteLock.java">org/apache/hadoop/hbase/util/IdReadWriteLock.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.IterableUtils.java">org/apache/hadoop/hbase/util/IterableUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.JSONBean.java">org/apache/hadoop/hbase/util/JSONBean.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>18</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.JVM.java">org/apache/hadoop/hbase/util/JVM.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.JVMClusterUtil.java">org/apache/hadoop/hbase/util/JVMClusterUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.JenkinsHash.java">org/apache/hadoop/hbase/util/JenkinsHash.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>39</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.JvmPauseMonitor.java">org/apache/hadoop/hbase/util/JvmPauseMonitor.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.KeyLocker.java">org/apache/hadoop/hbase/util/KeyLocker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.MD5Hash.java">org/apache/hadoop/hbase/util/MD5Hash.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ManualEnvironmentEdge.java">org/apache/hadoop/hbase/util/ManualEnvironmentEdge.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.MapreduceDependencyClasspathTool.java">org/apache/hadoop/hbase/util/MapreduceDependencyClasspathTool.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.Methods.java">org/apache/hadoop/hbase/util/Methods.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.ModifyRegionUtils.java">org/apache/hadoop/hbase/util/ModifyRegionUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.MunkresAssignment.java">org/apache/hadoop/hbase/util/MunkresAssignment.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.MurmurHash3.java">org/apache/hadoop/hbase/util/MurmurHash3.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>11</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.Order.java">org/apache/hadoop/hbase/util/Order.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.OrderedBytes.java">org/apache/hadoop/hbase/util/OrderedBytes.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>45</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.Pair.java">org/apache/hadoop/hbase/util/Pair.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.PairOfSameType.java">org/apache/hadoop/hbase/util/PairOfSameType.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>8</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.PoolMap.java">org/apache/hadoop/hbase/util/PoolMap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.PositionedByteRange.java">org/apache/hadoop/hbase/util/PositionedByteRange.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.PrettyPrinter.java">org/apache/hadoop/hbase/util/PrettyPrinter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.ProtoUtil.java">org/apache/hadoop/hbase/util/ProtoUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ReflectionUtils.java">org/apache/hadoop/hbase/util/ReflectionUtils.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.RegionMover.java">org/apache/hadoop/hbase/util/RegionMover.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>36</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.RegionSizeCalculator.java">org/apache/hadoop/hbase/util/RegionSizeCalculator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.RegionSplitCalculator.java">org/apache/hadoop/hbase/util/RegionSplitCalculator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.RegionSplitter.java">org/apache/hadoop/hbase/util/RegionSplitter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>14</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.RetryCounter.java">org/apache/hadoop/hbase/util/RetryCounter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.RollingStatCalculator.java">org/apache/hadoop/hbase/util/RollingStatCalculator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.ServerCommandLine.java">org/apache/hadoop/hbase/util/ServerCommandLine.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.ServerRegionReplicaUtil.java">org/apache/hadoop/hbase/util/ServerRegionReplicaUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.ShutdownHookManager.java">org/apache/hadoop/hbase/util/ShutdownHookManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.SimpleByteRange.java">org/apache/hadoop/hbase/util/SimpleByteRange.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.SimpleMutableByteRange.java">org/apache/hadoop/hbase/util/SimpleMutableByteRange.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.SimplePositionedByteRange.java">org/apache/hadoop/hbase/util/SimplePositionedByteRange.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.SimplePositionedMutableByteRange.java">org/apache/hadoop/hbase/util/SimplePositionedMutableByteRange.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.Sleeper.java">org/apache/hadoop/hbase/util/Sleeper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.StealJobQueue.java">org/apache/hadoop/hbase/util/StealJobQueue.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.Strings.java">org/apache/hadoop/hbase/util/Strings.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.Threads.java">org/apache/hadoop/hbase/util/Threads.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.Triple.java">org/apache/hadoop/hbase/util/Triple.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.UnsafeAccess.java">org/apache/hadoop/hbase/util/UnsafeAccess.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>35</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.UnsafeAvailChecker.java">org/apache/hadoop/hbase/util/UnsafeAvailChecker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.VersionInfo.java">org/apache/hadoop/hbase/util/VersionInfo.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.Writables.java">org/apache/hadoop/hbase/util/Writables.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.ZKDataMigrator.java">org/apache/hadoop/hbase/util/ZKDataMigrator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>19</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.byterange.ByteRangeSet.java">org/apache/hadoop/hbase/util/byterange/ByteRangeSet.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.hbck.HFileCorruptionChecker.java">org/apache/hadoop/hbase/util/hbck/HFileCorruptionChecker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.hbck.OfflineMetaRepair.java">org/apache/hadoop/hbase/util/hbck/OfflineMetaRepair.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.test.RedundantKVGenerator.java">org/apache/hadoop/hbase/util/test/RedundantKVGenerator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.vint.UFIntTool.java">org/apache/hadoop/hbase/util/vint/UFIntTool.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.util.vint.UVIntTool.java">org/apache/hadoop/hbase/util/vint/UVIntTool.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.util.vint.UVLongTool.java">org/apache/hadoop/hbase/util/vint/UVLongTool.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.wal.AbstractFSWALProvider.java">org/apache/hadoop/hbase/wal/AbstractFSWALProvider.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.wal.BoundedGroupingStrategy.java">org/apache/hadoop/hbase/wal/BoundedGroupingStrategy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.wal.DisabledWALProvider.java">org/apache/hadoop/hbase/wal/DisabledWALProvider.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.wal.WAL.java">org/apache/hadoop/hbase/wal/WAL.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.wal.WALFactory.java">org/apache/hadoop/hbase/wal/WALFactory.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.wal.WALKey.java">org/apache/hadoop/hbase/wal/WALKey.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.wal.WALPrettyPrinter.java">org/apache/hadoop/hbase/wal/WALPrettyPrinter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>16</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.wal.WALSplitter.java">org/apache/hadoop/hbase/wal/WALSplitter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>71</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.ClusterStatusTracker.java">org/apache/hadoop/hbase/zookeeper/ClusterStatusTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>5</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.DrainingServerTracker.java">org/apache/hadoop/hbase/zookeeper/DrainingServerTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.EmptyWatcher.java">org/apache/hadoop/hbase/zookeeper/EmptyWatcher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.HQuorumPeer.java">org/apache/hadoop/hbase/zookeeper/HQuorumPeer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.LoadBalancerTracker.java">org/apache/hadoop/hbase/zookeeper/LoadBalancerTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.MasterAddressTracker.java">org/apache/hadoop/hbase/zookeeper/MasterAddressTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.MetaTableLocator.java">org/apache/hadoop/hbase/zookeeper/MetaTableLocator.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>62</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.MetricsZooKeeper.java">org/apache/hadoop/hbase/zookeeper/MetricsZooKeeper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.MetricsZooKeeperSource.java">org/apache/hadoop/hbase/zookeeper/MetricsZooKeeperSource.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.MetricsZooKeeperSourceImpl.java">org/apache/hadoop/hbase/zookeeper/MetricsZooKeeperSourceImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>14</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.MiniZooKeeperCluster.java">org/apache/hadoop/hbase/zookeeper/MiniZooKeeperCluster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>13</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.java">org/apache/hadoop/hbase/zookeeper/RecoverableZooKeeper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>36</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.RegionNormalizerTracker.java">org/apache/hadoop/hbase/zookeeper/RegionNormalizerTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.RegionServerTracker.java">org/apache/hadoop/hbase/zookeeper/RegionServerTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.ZKClusterId.java">org/apache/hadoop/hbase/zookeeper/ZKClusterId.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.ZKConfig.java">org/apache/hadoop/hbase/zookeeper/ZKConfig.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>4</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.ZKServerTool.java">org/apache/hadoop/hbase/zookeeper/ZKServerTool.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>3</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.ZKSplitLog.java">org/apache/hadoop/hbase/zookeeper/ZKSplitLog.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>10</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.ZKUtil.java">org/apache/hadoop/hbase/zookeeper/ZKUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>53</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.ZNodePaths.java">org/apache/hadoop/hbase/zookeeper/ZNodePaths.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>23</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.ZooKeeperMainServer.java">org/apache/hadoop/hbase/zookeeper/ZooKeeperMainServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>9</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.ZooKeeperNodeTracker.java">org/apache/hadoop/hbase/zookeeper/ZooKeeperNodeTracker.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>7</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.zookeeper.ZooKeeperWatcher.java">org/apache/hadoop/hbase/zookeeper/ZooKeeperWatcher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>27</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.metrics2.MetricHistogram.java">org/apache/hadoop/metrics2/MetricHistogram.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.metrics2.impl.JmxCacheBuster.java">org/apache/hadoop/metrics2/impl/JmxCacheBuster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.metrics2.lib.DefaultMetricsSystemHelper.java">org/apache/hadoop/metrics2/lib/DefaultMetricsSystemHelper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.metrics2.lib.DynamicMetricsRegistry.java">org/apache/hadoop/metrics2/lib/DynamicMetricsRegistry.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>14</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.metrics2.lib.MutableTimeHistogram.java">org/apache/hadoop/metrics2/lib/MutableTimeHistogram.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.metrics2.util.MetricQuantile.java">org/apache/hadoop/metrics2/util/MetricQuantile.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>2</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.metrics2.util.MetricSampleQuantiles.java">org/apache/hadoop/metrics2/util/MetricSampleQuantiles.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>6</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#test-classes.log4j.properties">test-classes/log4j.properties</a></td>
 <td>0</td>
 <td>0</td>
 <td>1</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#test-classes.org.apache.hadoop.hbase.PerformanceEvaluation_Counter.properties">test-classes/org/apache/hadoop/hbase/PerformanceEvaluation_Counter.properties</a></td>
 <td>0</td>
 <td>0</td>
@@ -7131,72 +7126,72 @@
 <div class="section">
 <h2><a name="Rules"></a>Rules</h2>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Category</th>
 <th>Rule</th>
 <th>Violations</th>
 <th>Severity</th></tr>
-<tr class="a">
+<tr class="b">
 <td>annotation</td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_annotation.html#MissingDeprecated">MissingDeprecated</a></td>
 <td>135</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="b">
+<tr class="a">
 <td>blocks</td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_blocks.html#EmptyBlock">EmptyBlock</a></td>
 <td>53</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="a">
+<tr class="b">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_blocks.html#LeftCurly">LeftCurly</a></td>
 <td>353</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="b">
+<tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_blocks.html#NeedBraces">NeedBraces</a></td>
-<td>1935</td>
+<td>1933</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="a">
+<tr class="b">
 <td>coding</td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_coding.html#EmptyStatement">EmptyStatement</a></td>
 <td>18</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="b">
+<tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_coding.html#EqualsHashCode">EqualsHashCode</a></td>
 <td>12</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="a">
+<tr class="b">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_coding.html#InnerAssignment">InnerAssignment</a></td>
 <td>136</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="b">
+<tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_coding.html#MissingSwitchDefault">MissingSwitchDefault</a></td>
 <td>47</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="a">
+<tr class="b">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_coding.html#NoFinalizer">NoFinalizer</a></td>
 <td>1</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="b">
+<tr class="a">
 <td>design</td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_design.html#FinalClass">FinalClass</a></td>
 <td>70</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="a">
+<tr class="b">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_design.html#HideUtilityClassConstructor">HideUtilityClassConstructor</a></td>
-<td>104</td>
+<td>103</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="b">
+<tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_design.html#InterfaceIsType">InterfaceIsType</a></td>
 <td>7</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="a">
+<tr class="b">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_design.html#VisibilityModifier">VisibilityModifier</a>
 <ul>
@@ -7204,12 +7199,12 @@
 <li>packageAllowed: <tt>&quot;true&quot;</tt></li></ul></td>
 <td>139</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="b">
+<tr class="a">
 <td>imports</td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_imports.html#AvoidStarImport">AvoidStarImport</a></td>
-<td>14</td>
+<td>13</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="a">
+<tr class="b">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_imports.html#ImportOrder">ImportOrder</a>
 <ul>
@@ -7218,19 +7213,19 @@
 <li>option: <tt>&quot;top&quot;</tt></li></ul></td>
 <td>926</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="b">
+<tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_imports.html#RedundantImport">RedundantImport</a></td>
 <td>15</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="a">
+<tr class="b">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_imports.html#UnusedImports">UnusedImports</a>
 <ul>
 <li>processJavadoc: <tt>&quot;true&quot;</tt></li></ul></td>
-<td>78</td>
+<td>77</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="b">
+<tr class="a">
 <td>indentation</td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_indentation.html#Indentation">Indentation</a>
 <ul>
@@ -7239,54 +7234,54 @@
 <li>caseIndent: <tt>&quot;2&quot;</tt></li>
 <li>basicOffset: <tt>&quot;2&quot;</tt></li>
 <li>lineWrappingIndentation: <tt>&quot;2&quot;</tt></li></ul></td>
-<td>5114</td>
+<td>5097</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="a">
+<tr class="b">
 <td>javadoc</td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#JavadocTagContinuationIndentation">JavadocTagContinuationIndentation</a>
 <ul>
 <li>offset: <tt>&quot;2&quot;</tt></li></ul></td>
 <td>785</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="b">
+<tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_javadoc.html#NonEmptyAtclauseDescription">NonEmptyAtclauseDescription</a></td>
 <td>3264</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="a">
+<tr class="b">
 <td>misc</td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_misc.html#ArrayTypeStyle">ArrayTypeStyle</a></td>
-<td>39</td>
+<td>38</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="b">
+<tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_misc.html#UpperEll">UpperEll</a></td>
 <td>47</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="a">
+<tr class="b">
 <td>sizes</td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_sizes.html#LineLength">LineLength</a>
 <ul>
 <li>max: <tt>&quot;100&quot;</tt></li>
 <li>ignorePattern: <tt>&quot;^package.*|^import.*|a href|href|http://|https://|ftp://|org.apache.thrift.|com.google.protobuf.|hbase.protobuf.generated&quot;</tt></li></ul></td>
-<td>813</td>
+<td>812</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="b">
+<tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_sizes.html#MethodLength">MethodLength</a></td>
 <td>41</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="a">
+<tr class="b">
 <td>whitespace</td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_whitespace.html#FileTabCharacter">FileTabCharacter</a></td>
 <td>7</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="b">
+<tr class="a">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_whitespace.html#MethodParamPad">MethodParamPad</a></td>
 <td>197</td>
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td></tr>
-<tr class="a">
+<tr class="b">
 <td></td>
 <td><a class="externalLink" href="http://checkstyle.sourceforge.net/config_whitespace.html#ParenPad">ParenPad</a></td>
 <td>110</td>
@@ -7296,13 +7291,13 @@
 <div class="section">
 <h3 id="com.google.protobuf.HBaseZeroCopyByteString.java">com/google/protobuf/HBaseZeroCopyByteString.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>JavadocTagContinuationIndentation</td>
@@ -7311,265 +7306,265 @@
 <div class="section">
 <h3 id="org.apache.hadoop.hbase.AsyncMetaTableAccessor.java">org/apache/hadoop/hbase/AsyncMetaTableAccessor.java</h3>
 <table border="0" class="table table-striped">
-<tr class="b">
+<tr class="a">
 <th>Severity</th>
 <th>Category</th>
 <th>Rule</th>
 <th>Message</th>
 <th>Line</th></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>design</td>
 <td>HideUtilityClassConstructor</td>
 <td>Utility classes should not have a public or default constructor.</td>
 <td>57</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 102).</td>
 <td>70</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>134</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>147</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>159</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 119).</td>
 <td>175</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>186</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>217</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>javadoc</td>
 <td>NonEmptyAtclauseDescription</td>
 <td>At-clause should have a non-empty description.</td>
 <td>230</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 101).</td>
 <td>237</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>sizes</td>
 <td>LineLength</td>
 <td>Line is longer than 100 characters (found 104).</td>
 <td>268</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>327</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>329</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>337</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>345</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>390</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>395</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>blocks</td>
 <td>NeedBraces</td>
 <td>'if' construct must use '{}'s.</td>
 <td>413</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'case' child have incorrect indentation level 6, expected level should be 8.</td>
 <td>425</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
 <td>426</td></tr>
-<tr class="a">
+<tr class="b">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 8, expected level should be 10.</td>
 <td>427</td></tr>
-<tr class="b">
+<tr class="a">
 <td><img src="images/icon_error_sml.gif" alt="" />&#160;Error</td>
 <td>indentation</td>
 <td>Indentation</td>
 <td>'block' child have incorrect indentation level 8, 

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html
index 7aeb0fb..f01cf3a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerCloseCallBack.html
@@ -27,3384 +27,3404 @@
 <span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.regionserver;<a name="line.19"></a>
 <span class="sourceLineNo">020</span><a name="line.20"></a>
 <span class="sourceLineNo">021</span>import com.google.common.annotations.VisibleForTesting;<a name="line.21"></a>
-<span class="sourceLineNo">022</span><a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.FileNotFoundException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.io.InterruptedIOException;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.net.BindException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.net.InetSocketAddress;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.net.UnknownHostException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.nio.ByteBuffer;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.*;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Map.Entry;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.concurrent.ConcurrentMap;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.concurrent.atomic.LongAdder;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.commons.lang.mutable.MutableObject;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.commons.logging.Log;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.commons.logging.LogFactory;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.conf.Configuration;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.fs.Path;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.ByteBufferCell;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.Cell;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.CellScannable;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HConstants;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.MultiActionResultTooLarge;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.client.Append;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.client.ConnectionUtils;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.Get;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.Put;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Result;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.exceptions.ScannerResetException;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.ipc.HBaseRPCErrorHandler;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.ipc.PriorityFunction;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.ipc.QosPriority;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.ipc.RpcCallback;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.ipc.RpcServer.BlockingServiceAndInterface;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.ipc.RpcServerFactory;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.ipc.RpcServerInterface;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.ipc.ServerRpcController;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.master.MasterRpcServices;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.quotas.ActivePolicyEnforcement;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.quotas.RegionServerSpaceQuotaManager;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.quotas.SpaceViolationPolicyEnforcement;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.regionserver.handler.OpenPriorityRegionHandler;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.security.Superusers;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.security.User;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.ResponseConverter;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest.RegionOpenInfo;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse.RegionOpeningState;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Condition;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRegionLoadStats;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionAction;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanRequest;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameBytesPair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsRequest;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceViolationPolicy;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.206"></a>
-<span class="sourceLineNo">207</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.210"></a>
-<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.211"></a>
-<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>import org.apache.zookeeper.KeeperException;<a name="line.213"></a>
-<span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>/**<a name="line.215"></a>
-<span class="sourceLineNo">216</span> * Implements the regionserver RPC services.<a name="line.216"></a>
-<span class="sourceLineNo">217</span> */<a name="line.217"></a>
-<span class="sourceLineNo">218</span>@InterfaceAudience.Private<a name="line.218"></a>
-<span class="sourceLineNo">219</span>@SuppressWarnings("deprecation")<a name="line.219"></a>
-<span class="sourceLineNo">220</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    ConfigurationObserver {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.223"></a>
-<span class="sourceLineNo">224</span><a name="line.224"></a>
-<span class="sourceLineNo">225</span>  /** RPC scheduler to use for the region server. */<a name="line.225"></a>
-<span class="sourceLineNo">226</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    "hbase.region.server.rpc.scheduler.factory.class";<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  /**<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  final LongAdder requestCount = new LongAdder();<a name="line.242"></a>
-<span class="sourceLineNo">243</span><a name="line.243"></a>
-<span class="sourceLineNo">244</span>  // Request counter for rpc get<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  final LongAdder rpcGetRequestCount = new LongAdder();<a name="line.245"></a>
-<span class="sourceLineNo">246</span><a name="line.246"></a>
-<span class="sourceLineNo">247</span>  // Request counter for rpc scan<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  final LongAdder rpcScanRequestCount = new LongAdder();<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span>  // Request counter for rpc multi<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  final LongAdder rpcMultiRequestCount = new LongAdder();<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>  // Request counter for rpc mutate<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  final LongAdder rpcMutateRequestCount = new LongAdder();<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  // Server to handle client requests.<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  final RpcServerInterface rpcServer;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  final InetSocketAddress isa;<a name="line.258"></a>
-<span class="sourceLineNo">259</span><a name="line.259"></a>
-<span class="sourceLineNo">260</span>  private final HRegionServer regionServer;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  private final long maxScannerResultSize;<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  // The reference to the priority extraction function<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  private final PriorityFunction priority;<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>  private final ConcurrentMap&lt;String, RegionScannerHolder&gt; scanners = new ConcurrentHashMap&lt;&gt;();<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>   * The lease timeout period for client scanners (milliseconds).<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private final int scannerLeaseTimeoutPeriod;<a name="line.272"></a>
+<span class="sourceLineNo">022</span>import com.google.common.cache.Cache;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import com.google.common.cache.CacheBuilder;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.io.FileNotFoundException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.io.IOException;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.io.InterruptedIOException;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.net.BindException;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.net.InetSocketAddress;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.net.UnknownHostException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.nio.ByteBuffer;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.ArrayList;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.Arrays;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.Collections;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.HashMap;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.Iterator;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.List;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.Map;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.Map.Entry;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.NavigableMap;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import java.util.Set;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import java.util.TreeSet;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import java.util.concurrent.ConcurrentMap;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.TimeUnit;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.atomic.LongAdder;<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.commons.lang.mutable.MutableObject;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.commons.logging.Log;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.commons.logging.LogFactory;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.conf.Configuration;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.fs.Path;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ByteBufferCell;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.Cell;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.CellScannable;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.HConstants;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.MultiActionResultTooLarge;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.ServerName;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.TableName;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.Append;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.ConnectionUtils;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.client.Get;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.client.Put;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.client.Result;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.exceptions.ScannerResetException;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.ipc.HBaseRPCErrorHandler;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.ipc.PriorityFunction;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.ipc.QosPriority;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.ipc.RpcCallback;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.ipc.RpcServer.BlockingServiceAndInterface;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.ipc.RpcServerFactory;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.ipc.RpcServerInterface;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.ipc.ServerRpcController;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.master.MasterRpcServices;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.quotas.ActivePolicyEnforcement;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.quotas.RegionServerSpaceQuotaManager;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.quotas.SpaceViolationPolicyEnforcement;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.regionserver.handler.OpenPriorityRegionHandler;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.security.Superusers;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.security.User;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.ResponseConverter;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesRequest;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesResponse;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeRequest;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeResponse;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoRequest;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoResponse;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileRequest;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileResponse;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest.RegionOpenInfo;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse.RegionOpeningState;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterRequest;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterResponse;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerRequest;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerResponse;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationRequest;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationResponse;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesRequest;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesResponse;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadRequest;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadResponse;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Condition;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetRequest;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetResponse;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRegionLoadStats;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionAction;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanRequest;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameBytesPair;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.204"></a>
+<span class="sourceLineNo">205</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.205"></a>
+<span class="sourceLineNo">206</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsRequest;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader;<a name="line.209"></a>
+<span class="sourceLineNo">210</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.210"></a>
+<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.213"></a>
+<span class="sourceLineNo">214</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.218"></a>
+<span class="sourceLineNo">219</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.220"></a>
+<span class="sourceLineNo">221</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.221"></a>
+<span class="sourceLineNo">222</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.222"></a>
+<span class="sourceLineNo">223</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.223"></a>
+<span class="sourceLineNo">224</span>import org.apache.zookeeper.KeeperException;<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>/**<a name="line.226"></a>
+<span class="sourceLineNo">227</span> * Implements the regionserver RPC services.<a name="line.227"></a>
+<span class="sourceLineNo">228</span> */<a name="line.228"></a>
+<span class="sourceLineNo">229</span>@InterfaceAudience.Private<a name="line.229"></a>
+<span class="sourceLineNo">230</span>@SuppressWarnings("deprecation")<a name="line.230"></a>
+<span class="sourceLineNo">231</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    ConfigurationObserver {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>  /** RPC scheduler to use for the region server. */<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    "hbase.region.server.rpc.scheduler.factory.class";<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>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  /**<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   */<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.250"></a>
+<span class="sourceLineNo">251</span><a name="line.251"></a>
+<span class="sourceLineNo">252</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  final LongAdder requestCount = new LongAdder();<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>  // Request counter for rpc get<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  final LongAdder rpcGetRequestCount = new LongAdder();<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  // Request counter for rpc scan<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  final LongAdder rpcScanRequestCount = new LongAdder();<a name="line.259"></a>
+<span class="sourceLineNo">260</span><a name="line.260"></a>
+<span class="sourceLineNo">261</span>  // Request counter for rpc multi<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  final LongAdder rpcMultiRequestCount = new LongAdder();<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span>  // Request counter for rpc mutate<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  final LongAdder rpcMutateRequestCount = new LongAdder();<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  // Server to handle client requests.<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  final RpcServerInterface rpcServer;<a name="line.268"></a>
+<span class="sourceLineNo">269</span>  final InetSocketAddress isa;<a name="line.269"></a>
+<span class="sourceLineNo">270</span><a name="line.270"></a>
+<span class="sourceLineNo">271</span>  private final HRegionServer regionServer;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  private final long maxScannerResultSize;<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>   * The RPC timeout period (milliseconds)<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   */<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private final int rpcTimeout;<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  /**<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * The minimum allowable delta to use for the scan limit<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   */<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  private final long minimumScanTimeLimitDelta;<a name="line.282"></a>
-<span class="sourceLineNo">283</span><a name="line.283"></a>
-<span class="sourceLineNo">284</span>  final AtomicBoolean clearCompactionQueues = new AtomicBoolean(false);<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>  /**<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   * An Rpc callback for closing a RegionScanner.<a name="line.287"></a>
-<span class="sourceLineNo">288</span>   */<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  private static final class RegionScannerCloseCallBack implements RpcCallback {<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>    private final RegionScanner scanner;<a name="line.291"></a>
+<span class="sourceLineNo">274</span>  // The reference to the priority extraction function<a name="line.274"></a>
+<span class="sourceLineNo">275</span>  private final PriorityFunction priority;<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  private final ConcurrentMap&lt;String, RegionScannerHolder&gt; scanners = new ConcurrentHashMap&lt;&gt;();<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  // Hold the name of a closed scanner for a while. This is used to keep compatible for old clients<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  // which may send next or close request to a region scanner which has already been exhausted. The<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  // entries will be removed automatically after scannerLeaseTimeoutPeriod.<a name="line.281"></a>
+<span class="sourceLineNo">282</span>  private final Cache&lt;String, String&gt; closedScanners;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  /**<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * The lease timeout period for client scanners (milliseconds).<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   */<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  private final int scannerLeaseTimeoutPeriod;<a name="line.286"></a>
+<span class="sourceLineNo">287</span><a name="line.287"></a>
+<span class="sourceLineNo">288</span>  /**<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   * The RPC timeout period (milliseconds)<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   */<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  private final int rpcTimeout;<a name="line.291"></a>
 <span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>    public RegionScannerCloseCallBack(RegionScanner scanner) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      this.scanner = scanner;<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>    @Override<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    public void run() throws IOException {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      this.scanner.close();<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><a name="line.302"></a>
-<span class="sourceLineNo">303</span>  /**<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>    private final String scannerName;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    private final RegionScanner scanner;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    private final Lease lease;<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      this.scannerName = scannerName;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      this.scanner = scanner;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      this.lease = lease;<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>    @Override<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    public void run() throws IOException {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      this.scanner.shipped();<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      if (scanners.containsKey(scannerName)) {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>        if (lease != null) regionServer.leases.addLease(lease);<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      }<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    }<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * completion of multiGets.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;&gt;();<a name="line.334"></a>
-<span class="sourceLineNo">335</span><a name="line.335"></a>
-<span class="sourceLineNo">336</span>    public void addScanner(RegionScanner scanner) {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      this.scanners.add(scanner);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>    @Override<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    public void run() {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      for (RegionScanner scanner : scanners) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>        try {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>          scanner.close();<a name="line.344"></a>
-<span class="sourceLineNo">345</span>        } catch (IOException e) {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>          LOG.error("Exception while closing the scanner " + scanner, e);<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>    }<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>  /**<a name="line.352"></a>
-<span class="sourceLineNo">353</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  private static final class RegionScannerHolder {<a name="line.355"></a>
-<span class="sourceLineNo">356</span><a name="line.356"></a>
-<span class="sourceLineNo">357</span>    private final AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    private final String scannerName;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    private final RegionScanner s;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    private final Region r;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    private final RpcCallback closeCallBack;<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    private final RpcCallback shippedCallback;<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    private byte[] rowOfLastPartialResult;<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>    public RegionScannerHolder(String scannerName, RegionScanner s, Region r,<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        RpcCallback closeCallBack, RpcCallback shippedCallback) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      this.scannerName = scannerName;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      this.s = s;<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      this.r = r;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>      this.closeCallBack = closeCallBack;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      this.shippedCallback = shippedCallback;<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>    public long getNextCallSeq() {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      return nextCallSeq.get();<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    }<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>    public boolean incNextCallSeq(long currentSeq) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      // Use CAS to prevent multiple scan request running on the same scanner.<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      return nextCallSeq.compareAndSet(currentSeq, currentSeq + 1);<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>  }<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>  /**<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   * closed<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   */<a name="line.387"></a>
-<span class="sourceLineNo">388</span>  private class ScannerListener implements LeaseListener {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    private final String scannerName;<a name="line.389"></a>
-<span class="sourceLineNo">390</span><a name="line.390"></a>
-<span class="sourceLineNo">391</span>    ScannerListener(final String n) {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      this.scannerName = n;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    }<a name="line.393"></a>
-<span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>    @Override<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    public void leaseExpired() {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      RegionScannerHolder rsh = scanners.remove(this.scannerName);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>      if (rsh != null) {<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        RegionScanner s = rsh.s;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>        LOG.info("Scanner " + this.scannerName + " lease expired on region "<a name="line.400"></a>
-<span class="sourceLineNo">401</span>          + s.getRegionInfo().getRegionNameAsString());<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        Region region = null;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>        try {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>          region = regionServer.getRegion(s.getRegionInfo().getRegionName());<a name="line.404"></a>
-<span class="sourceLineNo">405</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>            region.getCoprocessorHost().preScannerClose(s);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>          }<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        } catch (IOException e) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>          LOG.error("Closing scanner for " + s.getRegionInfo().getRegionNameAsString(), e);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        } finally {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>          try {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>            s.close();<a name="line.412"></a>
-<span class="sourceLineNo">413</span>            if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>              region.getCoprocessorHost().postScannerClose(s);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>            }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          } catch (IOException e) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>            LOG.error("Closing scanner for " + s.getRegionInfo().getRegionNameAsString(), e);<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>      } else {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>        LOG.warn("Scanner " + this.scannerName + " lease expired, but no related" +<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          " scanner found, hence no chance to close that related scanner!");<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>  }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>  private static ResultOrException getResultOrException(final ClientProtos.Result r,<a name="line.427"></a>
-<span class="sourceLineNo">428</span>                                                        final int index){<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    return getResultOrException(ResponseConverter.buildActionResult(r), index);<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>  private static ResultOrException getResultOrException(final Exception e, final int index) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return getResultOrException(ResponseConverter.buildActionResult(e), index);<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>  private static ResultOrException getResultOrException(<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      final ResultOrException.Builder builder, final int index) {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    return builder.setIndex(index).build();<a name="line.438"></a>
+<span class="sourceLineNo">293</span>  /**<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * The minimum allowable delta to use for the scan limit<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   */<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  private final long minimumScanTimeLimitDelta;<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span>  final AtomicBoolean clearCompactionQueues = new AtomicBoolean(false);<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>   * An Rpc callback for closing a RegionScanner.<a name="line.301"></a>
+<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  private static final class RegionScannerCloseCallBack implements RpcCallback {<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>    private final RegionScanner scanner;<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>    public RegionScannerCloseCallBack(RegionScanner scanner) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      this.scanner = scanner;<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    }<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>    @Override<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    public void run() throws IOException {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      this.scanner.close();<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><a name="line.316"></a>
+<span class="sourceLineNo">317</span>  /**<a name="line.317"></a>
+<span class="sourceLineNo">318</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   */<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.320"></a>
+<span class="sourceLineNo">321</span><a name="line.321"></a>
+<span class="sourceLineNo">322</span>    private final String scannerName;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    private final RegionScanner scanner;<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    private final Lease lease;<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      this.scannerName = scannerName;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>      this.scanner = scanner;<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      this.lease = lease;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    }<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>    @Override<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    public void run() throws IOException {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      this.scanner.shipped();<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.336"></a>
+<span class="sourceLineNo">337</span>      if (scanners.containsKey(scannerName)) {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>        if (lease != null) regionServer.leases.addLease(lease);<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>  }<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>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   * completion of multiGets.<a name="line.345"></a>
+<span class="sourceLineNo">346</span>   */<a name="line.346"></a>
+<span class="sourceLineNo">347</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;&gt;();<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>    public void addScanner(RegionScanner scanner) {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      this.scanners.add(scanner);<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    }<a name="line.352"></a>
+<span class="sourceLineNo">353</span><a name="line.353"></a>
+<span class="sourceLineNo">354</span>    @Override<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    public void run() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      for (RegionScanner scanner : scanners) {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>        try {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>          scanner.close();<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        } catch (IOException e) {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>          LOG.error("Exception while closing the scanner " + scanner, e);<a name="line.360"></a>
+<span class="sourceLineNo">361</span>        }<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      }<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    }<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span>  /**<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   */<a name="line.368"></a>
+<span class="sourceLineNo">369</span>  private static final class RegionScannerHolder {<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    private final AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    private final String scannerName;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    private final RegionScanner s;<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    private final Region r;<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    private final RpcCallback closeCallBack;<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    private final RpcCallback shippedCallback;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    private byte[] rowOfLastPartialResult;<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    public RegionScannerHolder(String scannerName, RegionScanner s, Region r,<a name="line.379"></a>
+<span class="sourceLineNo">380</span>        RpcCallback closeCallBack, RpcCallback shippedCallback) {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>      this.scannerName = scannerName;<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      this.s = s;<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      this.r = r;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      this.closeCallBack = closeCallBack;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>      this.shippedCallback = shippedCallback;<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>    public long getNextCallSeq() {<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      return nextCallSeq.get();<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span>    public boolean incNextCallSeq(long currentSeq) {<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      // Use CAS to prevent multiple scan request running on the same scanner.<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      return nextCallSeq.compareAndSet(currentSeq, currentSeq + 1);<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><a name="line.397"></a>
+<span class="sourceLineNo">398</span>  /**<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.399"></a>

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html b/devapidocs/src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html
index 2aea531..4ff3ed5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html
@@ -6,7 +6,7 @@
 </head>
 <body>
 <div class="sourceContainer">
-<pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
+<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
 <span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
 <span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
 <span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
@@ -23,169 +23,225 @@
 <span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
 <span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
-<span class="sourceLineNo">018</span><a name="line.18"></a>
-<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.security;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.ByteArrayInputStream;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.DataInputStream;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.Locale;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.Map;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.function.Consumer;<a name="line.26"></a>
-<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>import javax.security.auth.callback.Callback;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import javax.security.auth.callback.CallbackHandler;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import javax.security.auth.callback.NameCallback;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import javax.security.auth.callback.PasswordCallback;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import javax.security.auth.callback.UnsupportedCallbackException;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import javax.security.sasl.AuthorizeCallback;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import javax.security.sasl.RealmCallback;<a name="line.34"></a>
-<span class="sourceLineNo">035</span><a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.commons.logging.Log;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.commons.logging.LogFactory;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.conf.Configuration;<a name="line.38"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.security;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.io.ByteArrayInputStream;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.io.DataInputStream;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.security.PrivilegedExceptionAction;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.util.Map;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import javax.security.auth.callback.Callback;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import javax.security.auth.callback.CallbackHandler;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import javax.security.auth.callback.NameCallback;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import javax.security.auth.callback.PasswordCallback;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import javax.security.auth.callback.UnsupportedCallbackException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import javax.security.sasl.AuthorizeCallback;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import javax.security.sasl.RealmCallback;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import javax.security.sasl.Sasl;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import javax.security.sasl.SaslException;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import javax.security.sasl.SaslServer;<a name="line.35"></a>
+<span class="sourceLineNo">036</span><a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.commons.logging.Log;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.commons.logging.LogFactory;<a name="line.38"></a>
 <span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.security.SaslUtil.QualityOfProtection;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.security.token.SecretManager;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.security.token.SecretManager.InvalidToken;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>/**<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * A utility class for dealing with SASL on RPC server<a name="line.47"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.security.token.SecretManager;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.security.token.SecretManager.InvalidToken;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span>/**<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * A utility class that encapsulates SASL logic for RPC server. Copied from<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * &lt;code&gt;org.apache.hadoop.security&lt;/code&gt;<a name="line.47"></a>
 <span class="sourceLineNo">048</span> */<a name="line.48"></a>
 <span class="sourceLineNo">049</span>@InterfaceAudience.Private<a name="line.49"></a>
 <span class="sourceLineNo">050</span>public class HBaseSaslRpcServer {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>  private static final Log LOG = LogFactory.getLog(HBaseSaslRpcServer.class);<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>  private static Map&lt;String, String&gt; saslProps = null;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>  public static void init(Configuration conf) {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    saslProps = SaslUtil.initSaslProperties(conf.get("hbase.rpc.protection",<a name="line.56"></a>
-<span class="sourceLineNo">057</span>          QualityOfProtection.AUTHENTICATION.name().toLowerCase(Locale.ROOT)));<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  }<a name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>  public static Map&lt;String, String&gt; getSaslProps() {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    return saslProps;<a name="line.61"></a>
-<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>  public static &lt;T extends TokenIdentifier&gt; T getIdentifier(String id,<a name="line.64"></a>
-<span class="sourceLineNo">065</span>      SecretManager&lt;T&gt; secretManager) throws InvalidToken {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    byte[] tokenId = SaslUtil.decodeIdentifier(id);<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    T tokenIdentifier = secretManager.createIdentifier();<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    try {<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      tokenIdentifier.readFields(new DataInputStream(new ByteArrayInputStream(<a name="line.69"></a>
-<span class="sourceLineNo">070</span>          tokenId)));<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    } catch (IOException e) {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      throw (InvalidToken) new InvalidToken(<a name="line.72"></a>
-<span class="sourceLineNo">073</span>          "Can't de-serialize tokenIdentifier").initCause(e);<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    }<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    return tokenIdentifier;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  }<a name="line.76"></a>
-<span class="sourceLineNo">077</span><a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  /** CallbackHandler for SASL DIGEST-MD5 mechanism */<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  public static class SaslDigestCallbackHandler implements CallbackHandler {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    private SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    private Consumer&lt;UserGroupInformation&gt; attemptingUserConsumer;<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public SaslDigestCallbackHandler(SecretManager&lt;TokenIdentifier&gt; secretManager,<a name="line.84"></a>
-<span class="sourceLineNo">085</span>        Consumer&lt;UserGroupInformation&gt; attemptingUserConsumer) {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      this.secretManager = secretManager;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      this.attemptingUserConsumer = attemptingUserConsumer;<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>    private char[] getPassword(TokenIdentifier tokenid) throws InvalidToken {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      return SaslUtil.encodePassword(secretManager.retrievePassword(tokenid));<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    }<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>    /** {@inheritDoc} */<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    @Override<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    public void handle(Callback[] callbacks) throws InvalidToken,<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        UnsupportedCallbackException {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      NameCallback nc = null;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      PasswordCallback pc = null;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      AuthorizeCallback ac = null;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>      for (Callback callback : callbacks) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>        if (callback instanceof AuthorizeCallback) {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>          ac = (AuthorizeCallback) callback;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        } else if (callback instanceof NameCallback) {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>          nc = (NameCallback) callback;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>        } else if (callback instanceof PasswordCallback) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>          pc = (PasswordCallback) callback;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>        } else if (callback instanceof RealmCallback) {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>          continue; // realm is ignored<a name="line.109"></a>
-<span class="sourceLineNo">110</span>        } else {<a name="line.110"></a>
-<span class="sourceLineNo">111</span>          throw new UnsupportedCallbackException(callback,<a name="line.111"></a>
-<span class="sourceLineNo">112</span>              "Unrecognized SASL DIGEST-MD5 Callback");<a name="line.112"></a>
-<span class="sourceLineNo">113</span>        }<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      }<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      if (pc != null) {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>        TokenIdentifier tokenIdentifier = getIdentifier(nc.getDefaultName(), secretManager);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>        char[] password = getPassword(tokenIdentifier);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>        UserGroupInformation user = tokenIdentifier.getUser(); // may throw exception<a name="line.118"></a>
-<span class="sourceLineNo">119</span>        attemptingUserConsumer.accept(user);<a name="line.119"></a>
-<span class="sourceLineNo">120</span>        if (LOG.isTraceEnabled()) {<a name="line.120"></a>
-<span class="sourceLineNo">121</span>          LOG.trace("SASL server DIGEST-MD5 callback: setting password " + "for client: " +<a name="line.121"></a>
-<span class="sourceLineNo">122</span>              tokenIdentifier.getUser());<a name="line.122"></a>
-<span class="sourceLineNo">123</span>        }<a name="line.123"></a>
-<span class="sourceLineNo">124</span>        pc.setPassword(password);<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      }<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      if (ac != null) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        String authid = ac.getAuthenticationID();<a name="line.127"></a>
-<span class="sourceLineNo">128</span>        String authzid = ac.getAuthorizationID();<a name="line.128"></a>
-<span class="sourceLineNo">129</span>        if (authid.equals(authzid)) {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>          ac.setAuthorized(true);<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        } else {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>          ac.setAuthorized(false);<a name="line.132"></a>
-<span class="sourceLineNo">133</span>        }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        if (ac.isAuthorized()) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>          if (LOG.isTraceEnabled()) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>            String username =<a name="line.136"></a>
-<span class="sourceLineNo">137</span>              getIdentifier(authzid, secretManager).getUser().getUserName();<a name="line.137"></a>
-<span class="sourceLineNo">138</span>            LOG.trace("SASL server DIGEST-MD5 callback: setting "<a name="line.138"></a>
-<span class="sourceLineNo">139</span>                + "canonicalized client ID: " + username);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>          }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>          ac.setAuthorizedID(authzid);<a name="line.141"></a>
-<span class="sourceLineNo">142</span>        }<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>  /** CallbackHandler for SASL GSSAPI Kerberos mechanism */<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  public static class SaslGssCallbackHandler implements CallbackHandler {<a name="line.148"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>  private static final Log LOG = LogFactory.getLog(HBaseSaslRpcServer.class);<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>  private final SaslServer saslServer;<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>  private UserGroupInformation attemptingUser; // user name before auth<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span>  public HBaseSaslRpcServer(AuthMethod method, Map&lt;String, String&gt; saslProps,<a name="line.58"></a>
+<span class="sourceLineNo">059</span>      SecretManager&lt;TokenIdentifier&gt; secretManager) throws IOException {<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    switch (method) {<a name="line.60"></a>
+<span class="sourceLineNo">061</span>      case DIGEST:<a name="line.61"></a>
+<span class="sourceLineNo">062</span>        if (secretManager == null) {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>          throw new AccessDeniedException("Server is not configured to do DIGEST authentication.");<a name="line.63"></a>
+<span class="sourceLineNo">064</span>        }<a name="line.64"></a>
+<span class="sourceLineNo">065</span>        saslServer = Sasl.createSaslServer(AuthMethod.DIGEST.getMechanismName(), null,<a name="line.65"></a>
+<span class="sourceLineNo">066</span>          SaslUtil.SASL_DEFAULT_REALM, saslProps, new SaslDigestCallbackHandler(secretManager));<a name="line.66"></a>
+<span class="sourceLineNo">067</span>        break;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>      case KERBEROS:<a name="line.68"></a>
+<span class="sourceLineNo">069</span>        UserGroupInformation current = UserGroupInformation.getCurrentUser();<a name="line.69"></a>
+<span class="sourceLineNo">070</span>        String fullName = current.getUserName();<a name="line.70"></a>
+<span class="sourceLineNo">071</span>        if (LOG.isDebugEnabled()) {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>          LOG.debug("Kerberos principal name is " + fullName);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>        }<a name="line.73"></a>
+<span class="sourceLineNo">074</span>        String[] names = SaslUtil.splitKerberosName(fullName);<a name="line.74"></a>
+<span class="sourceLineNo">075</span>        if (names.length != 3) {<a name="line.75"></a>
+<span class="sourceLineNo">076</span>          throw new AccessDeniedException(<a name="line.76"></a>
+<span class="sourceLineNo">077</span>              "Kerberos principal name does NOT have the expected " + "hostname part: " + fullName);<a name="line.77"></a>
+<span class="sourceLineNo">078</span>        }<a name="line.78"></a>
+<span class="sourceLineNo">079</span>        try {<a name="line.79"></a>
+<span class="sourceLineNo">080</span>          saslServer = current.doAs(new PrivilegedExceptionAction&lt;SaslServer&gt;() {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>            @Override<a name="line.81"></a>
+<span class="sourceLineNo">082</span>            public SaslServer run() throws SaslException {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>              return Sasl.createSaslServer(AuthMethod.KERBEROS.getMechanismName(), names[0],<a name="line.83"></a>
+<span class="sourceLineNo">084</span>                names[1], saslProps, new SaslGssCallbackHandler());<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>        } catch (InterruptedException e) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>          // should not happen<a name="line.88"></a>
+<span class="sourceLineNo">089</span>          throw new AssertionError(e);<a name="line.89"></a>
+<span class="sourceLineNo">090</span>        }<a name="line.90"></a>
+<span class="sourceLineNo">091</span>        break;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      default:<a name="line.92"></a>
+<span class="sourceLineNo">093</span>        throw new IOException("Unknown authentication method " + method);<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    }<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>  public boolean isComplete() {<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    return saslServer.isComplete();<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  }<a name="line.99"></a>
+<span class="sourceLineNo">100</span><a name="line.100"></a>
+<span class="sourceLineNo">101</span>  public byte[] evaluateResponse(byte[] response) throws SaslException {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    return saslServer.evaluateResponse(response);<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  }<a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span>  /** Release resources used by wrapped saslServer */<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  public void dispose() {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    SaslUtil.safeDispose(saslServer);<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  }<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span>  public UserGroupInformation getAttemptingUser() {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    return attemptingUser;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  }<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  public byte[] wrap(byte[] buf, int off, int len) throws SaslException {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    return saslServer.wrap(buf, off, len);<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  }<a name="line.116"></a>
+<span class="sourceLineNo">117</span><a name="line.117"></a>
+<span class="sourceLineNo">118</span>  public byte[] unwrap(byte[] buf, int off, int len) throws SaslException {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return saslServer.unwrap(buf, off, len);<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>  public String getNegotiatedQop() {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    return (String) saslServer.getNegotiatedProperty(Sasl.QOP);<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  }<a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125"></a>
+<span class="sourceLineNo">126</span>  public String getAuthorizationID() {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    return saslServer.getAuthorizationID();<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>  public static &lt;T extends TokenIdentifier&gt; T getIdentifier(String id,<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      SecretManager&lt;T&gt; secretManager) throws InvalidToken {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    byte[] tokenId = SaslUtil.decodeIdentifier(id);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    T tokenIdentifier = secretManager.createIdentifier();<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    try {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      tokenIdentifier.readFields(new DataInputStream(new ByteArrayInputStream(tokenId)));<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    } catch (IOException e) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      throw (InvalidToken) new InvalidToken("Can't de-serialize tokenIdentifier").initCause(e);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    }<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    return tokenIdentifier;<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>  /** CallbackHandler for SASL DIGEST-MD5 mechanism */<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  private class SaslDigestCallbackHandler implements CallbackHandler {<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    private SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>    public SaslDigestCallbackHandler(SecretManager&lt;TokenIdentifier&gt; secretManager) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>      this.secretManager = secretManager;<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>    /** {@inheritDoc} */<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    @Override<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    public void handle(Callback[] callbacks) throws<a name="line.152"></a>
-<span class="sourceLineNo">153</span>        UnsupportedCallbackException {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      AuthorizeCallback ac = null;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>      for (Callback callback : callbacks) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>        if (callback instanceof AuthorizeCallback) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>          ac = (AuthorizeCallback) callback;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        } else {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>          throw new UnsupportedCallbackException(callback,<a name="line.159"></a>
-<span class="sourceLineNo">160</span>              "Unrecognized SASL GSSAPI Callback");<a name="line.160"></a>
-<span class="sourceLineNo">161</span>        }<a name="line.161"></a>
-<span class="sourceLineNo">162</span>      }<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      if (ac != null) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>        String authid = ac.getAuthenticationID();<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        String authzid = ac.getAuthorizationID();<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        if (authid.equals(authzid)) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>          ac.setAuthorized(true);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>        } else {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>          ac.setAuthorized(false);<a name="line.169"></a>
-<span class="sourceLineNo">170</span>        }<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        if (ac.isAuthorized()) {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>          if (LOG.isDebugEnabled())<a name="line.172"></a>
-<span class="sourceLineNo">173</span>            LOG.debug("SASL server GSSAPI callback: setting "<a name="line.173"></a>
-<span class="sourceLineNo">174</span>                + "canonicalized client ID: " + authzid);<a name="line.174"></a>
-<span class="sourceLineNo">175</span>          ac.setAuthorizedID(authzid);<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>    }<a name="line.178"></a>
-<span class="sourceLineNo">179</span>  }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>}<a name="line.180"></a>
+<span class="sourceLineNo">150</span>    private char[] getPassword(TokenIdentifier tokenid) throws InvalidToken {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      return SaslUtil.encodePassword(secretManager.retrievePassword(tokenid));<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>    /** {@inheritDoc} */<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    @Override<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    public void handle(Callback[] callbacks) throws InvalidToken, UnsupportedCallbackException {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>      NameCallback nc = null;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      PasswordCallback pc = null;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      AuthorizeCallback ac = null;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      for (Callback callback : callbacks) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>        if (callback instanceof AuthorizeCallback) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>          ac = (AuthorizeCallback) callback;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>        } else if (callback instanceof NameCallback) {<a name="line.163"></a>
+<span class="sourceLineNo">164</span>          nc = (NameCallback) callback;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>        } else if (callback instanceof PasswordCallback) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>          pc = (PasswordCallback) callback;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>        } else if (callback instanceof RealmCallback) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>          continue; // realm is ignored<a name="line.168"></a>
+<span class="sourceLineNo">169</span>        } else {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>          throw new UnsupportedCallbackException(callback, "Unrecognized SASL DIGEST-MD5 Callback");<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>      if (pc != null) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        TokenIdentifier tokenIdentifier = getIdentifier(nc.getDefaultName(), secretManager);<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        char[] password = getPassword(tokenIdentifier);<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        UserGroupInformation user = tokenIdentifier.getUser(); // may throw exception<a name="line.176"></a>
+<span class="sourceLineNo">177</span>        attemptingUser = user;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>        if (LOG.isTraceEnabled()) {<a name="line.178"></a>
+<span class="sourceLineNo">179</span>          LOG.trace("SASL server DIGEST-MD5 callback: setting password " + "for client: " +<a name="line.179"></a>
+<span class="sourceLineNo">180</span>              tokenIdentifier.getUser());<a name="line.180"></a>
+<span class="sourceLineNo">181</span>        }<a name="line.181"></a>
+<span class="sourceLineNo">182</span>        pc.setPassword(password);<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      }<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      if (ac != null) {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>        String authid = ac.getAuthenticationID();<a name="line.185"></a>
+<span class="sourceLineNo">186</span>        String authzid = ac.getAuthorizationID();<a name="line.186"></a>
+<span class="sourceLineNo">187</span>        if (authid.equals(authzid)) {<a name="line.187"></a>
+<span class="sourceLineNo">188</span>          ac.setAuthorized(true);<a name="line.188"></a>
+<span class="sourceLineNo">189</span>        } else {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>          ac.setAuthorized(false);<a name="line.190"></a>
+<span class="sourceLineNo">191</span>        }<a name="line.191"></a>
+<span class="sourceLineNo">192</span>        if (ac.isAuthorized()) {<a name="line.192"></a>
+<span class="sourceLineNo">193</span>          if (LOG.isTraceEnabled()) {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>            String username = getIdentifier(authzid, secretManager).getUser().getUserName();<a name="line.194"></a>
+<span class="sourceLineNo">195</span>            LOG.trace(<a name="line.195"></a>
+<span class="sourceLineNo">196</span>              "SASL server DIGEST-MD5 callback: setting " + "canonicalized client ID: " + username);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>          }<a name="line.197"></a>
+<span class="sourceLineNo">198</span>          ac.setAuthorizedID(authzid);<a name="line.198"></a>
+<span class="sourceLineNo">199</span>        }<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      }<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    }<a name="line.201"></a>
+<span class="sourceLineNo">202</span>  }<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>  /** CallbackHandler for SASL GSSAPI Kerberos mechanism */<a name="line.204"></a>
+<span class="sourceLineNo">205</span>  private static class SaslGssCallbackHandler implements CallbackHandler {<a name="line.205"></a>
+<span class="sourceLineNo">206</span><a name="line.206"></a>
+<span class="sourceLineNo">207</span>    /** {@inheritDoc} */<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    @Override<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    public void handle(Callback[] callbacks) throws UnsupportedCallbackException {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      AuthorizeCallback ac = null;<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      for (Callback callback : callbacks) {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>        if (callback instanceof AuthorizeCallback) {<a name="line.212"></a>
+<span class="sourceLineNo">213</span>          ac = (AuthorizeCallback) callback;<a name="line.213"></a>
+<span class="sourceLineNo">214</span>        } else {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>          throw new UnsupportedCallbackException(callback, "Unrecognized SASL GSSAPI Callback");<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>      if (ac != null) {<a name="line.218"></a>
+<span class="sourceLineNo">219</span>        String authid = ac.getAuthenticationID();<a name="line.219"></a>
+<span class="sourceLineNo">220</span>        String authzid = ac.getAuthorizationID();<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        if (authid.equals(authzid)) {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>          ac.setAuthorized(true);<a name="line.222"></a>
+<span class="sourceLineNo">223</span>        } else {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>          ac.setAuthorized(false);<a name="line.224"></a>
+<span class="sourceLineNo">225</span>        }<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        if (ac.isAuthorized()) {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>          if (LOG.isDebugEnabled()) {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>            LOG.debug(<a name="line.228"></a>
+<span class="sourceLineNo">229</span>              "SASL server GSSAPI callback: setting " + "canonicalized client ID: " + authzid);<a name="line.229"></a>
+<span class="sourceLineNo">230</span>          }<a name="line.230"></a>
+<span class="sourceLineNo">231</span>          ac.setAuthorizedID(authzid);<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>  }<a name="line.235"></a>
+<span class="sourceLineNo">236</span>}<a name="line.236"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html b/devapidocs/src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html
index 2aea531..4ff3ed5 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html
@@ -6,7 +6,7 @@
 </head>
 <body>
 <div class="sourceContainer">
-<pre><span class="sourceLineNo">001</span>/*<a name="line.1"></a>
+<pre><span class="sourceLineNo">001</span>/**<a name="line.1"></a>
 <span class="sourceLineNo">002</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.2"></a>
 <span class="sourceLineNo">003</span> * or more contributor license agreements.  See the NOTICE file<a name="line.3"></a>
 <span class="sourceLineNo">004</span> * distributed with this work for additional information<a name="line.4"></a>
@@ -23,169 +23,225 @@
 <span class="sourceLineNo">015</span> * See the License for the specific language governing permissions and<a name="line.15"></a>
 <span class="sourceLineNo">016</span> * limitations under the License.<a name="line.16"></a>
 <span class="sourceLineNo">017</span> */<a name="line.17"></a>
-<span class="sourceLineNo">018</span><a name="line.18"></a>
-<span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.security;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.ByteArrayInputStream;<a name="line.21"></a>
-<span class="sourceLineNo">022</span>import java.io.DataInputStream;<a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.IOException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.util.Locale;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.util.Map;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.util.function.Consumer;<a name="line.26"></a>
-<span class="sourceLineNo">027</span><a name="line.27"></a>
-<span class="sourceLineNo">028</span>import javax.security.auth.callback.Callback;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import javax.security.auth.callback.CallbackHandler;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import javax.security.auth.callback.NameCallback;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import javax.security.auth.callback.PasswordCallback;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import javax.security.auth.callback.UnsupportedCallbackException;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import javax.security.sasl.AuthorizeCallback;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import javax.security.sasl.RealmCallback;<a name="line.34"></a>
-<span class="sourceLineNo">035</span><a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.commons.logging.Log;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.commons.logging.LogFactory;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.conf.Configuration;<a name="line.38"></a>
+<span class="sourceLineNo">018</span>package org.apache.hadoop.hbase.security;<a name="line.18"></a>
+<span class="sourceLineNo">019</span><a name="line.19"></a>
+<span class="sourceLineNo">020</span>import java.io.ByteArrayInputStream;<a name="line.20"></a>
+<span class="sourceLineNo">021</span>import java.io.DataInputStream;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import java.io.IOException;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import java.security.PrivilegedExceptionAction;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import java.util.Map;<a name="line.24"></a>
+<span class="sourceLineNo">025</span><a name="line.25"></a>
+<span class="sourceLineNo">026</span>import javax.security.auth.callback.Callback;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import javax.security.auth.callback.CallbackHandler;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import javax.security.auth.callback.NameCallback;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import javax.security.auth.callback.PasswordCallback;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import javax.security.auth.callback.UnsupportedCallbackException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import javax.security.sasl.AuthorizeCallback;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import javax.security.sasl.RealmCallback;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import javax.security.sasl.Sasl;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import javax.security.sasl.SaslException;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import javax.security.sasl.SaslServer;<a name="line.35"></a>
+<span class="sourceLineNo">036</span><a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.commons.logging.Log;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.commons.logging.LogFactory;<a name="line.38"></a>
 <span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.security.SaslUtil.QualityOfProtection;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.security.token.SecretManager;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.security.token.SecretManager.InvalidToken;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.44"></a>
-<span class="sourceLineNo">045</span><a name="line.45"></a>
-<span class="sourceLineNo">046</span>/**<a name="line.46"></a>
-<span class="sourceLineNo">047</span> * A utility class for dealing with SASL on RPC server<a name="line.47"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.security.token.SecretManager;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.security.token.SecretManager.InvalidToken;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span>/**<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * A utility class that encapsulates SASL logic for RPC server. Copied from<a name="line.46"></a>
+<span class="sourceLineNo">047</span> * &lt;code&gt;org.apache.hadoop.security&lt;/code&gt;<a name="line.47"></a>
 <span class="sourceLineNo">048</span> */<a name="line.48"></a>
 <span class="sourceLineNo">049</span>@InterfaceAudience.Private<a name="line.49"></a>
 <span class="sourceLineNo">050</span>public class HBaseSaslRpcServer {<a name="line.50"></a>
-<span class="sourceLineNo">051</span>  private static final Log LOG = LogFactory.getLog(HBaseSaslRpcServer.class);<a name="line.51"></a>
-<span class="sourceLineNo">052</span><a name="line.52"></a>
-<span class="sourceLineNo">053</span>  private static Map&lt;String, String&gt; saslProps = null;<a name="line.53"></a>
-<span class="sourceLineNo">054</span><a name="line.54"></a>
-<span class="sourceLineNo">055</span>  public static void init(Configuration conf) {<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    saslProps = SaslUtil.initSaslProperties(conf.get("hbase.rpc.protection",<a name="line.56"></a>
-<span class="sourceLineNo">057</span>          QualityOfProtection.AUTHENTICATION.name().toLowerCase(Locale.ROOT)));<a name="line.57"></a>
-<span class="sourceLineNo">058</span>  }<a name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>  public static Map&lt;String, String&gt; getSaslProps() {<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    return saslProps;<a name="line.61"></a>
-<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>  public static &lt;T extends TokenIdentifier&gt; T getIdentifier(String id,<a name="line.64"></a>
-<span class="sourceLineNo">065</span>      SecretManager&lt;T&gt; secretManager) throws InvalidToken {<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    byte[] tokenId = SaslUtil.decodeIdentifier(id);<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    T tokenIdentifier = secretManager.createIdentifier();<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    try {<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      tokenIdentifier.readFields(new DataInputStream(new ByteArrayInputStream(<a name="line.69"></a>
-<span class="sourceLineNo">070</span>          tokenId)));<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    } catch (IOException e) {<a name="line.71"></a>
-<span class="sourceLineNo">072</span>      throw (InvalidToken) new InvalidToken(<a name="line.72"></a>
-<span class="sourceLineNo">073</span>          "Can't de-serialize tokenIdentifier").initCause(e);<a name="line.73"></a>
-<span class="sourceLineNo">074</span>    }<a name="line.74"></a>
-<span class="sourceLineNo">075</span>    return tokenIdentifier;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>  }<a name="line.76"></a>
-<span class="sourceLineNo">077</span><a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>  /** CallbackHandler for SASL DIGEST-MD5 mechanism */<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  public static class SaslDigestCallbackHandler implements CallbackHandler {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    private SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    private Consumer&lt;UserGroupInformation&gt; attemptingUserConsumer;<a name="line.82"></a>
-<span class="sourceLineNo">083</span><a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public SaslDigestCallbackHandler(SecretManager&lt;TokenIdentifier&gt; secretManager,<a name="line.84"></a>
-<span class="sourceLineNo">085</span>        Consumer&lt;UserGroupInformation&gt; attemptingUserConsumer) {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      this.secretManager = secretManager;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>      this.attemptingUserConsumer = attemptingUserConsumer;<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>    private char[] getPassword(TokenIdentifier tokenid) throws InvalidToken {<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      return SaslUtil.encodePassword(secretManager.retrievePassword(tokenid));<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    }<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>    /** {@inheritDoc} */<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    @Override<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    public void handle(Callback[] callbacks) throws InvalidToken,<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        UnsupportedCallbackException {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      NameCallback nc = null;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      PasswordCallback pc = null;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>      AuthorizeCallback ac = null;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>      for (Callback callback : callbacks) {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>        if (callback instanceof AuthorizeCallback) {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>          ac = (AuthorizeCallback) callback;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>        } else if (callback instanceof NameCallback) {<a name="line.104"></a>
-<span class="sourceLineNo">105</span>          nc = (NameCallback) callback;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>        } else if (callback instanceof PasswordCallback) {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>          pc = (PasswordCallback) callback;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>        } else if (callback instanceof RealmCallback) {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>          continue; // realm is ignored<a name="line.109"></a>
-<span class="sourceLineNo">110</span>        } else {<a name="line.110"></a>
-<span class="sourceLineNo">111</span>          throw new UnsupportedCallbackException(callback,<a name="line.111"></a>
-<span class="sourceLineNo">112</span>              "Unrecognized SASL DIGEST-MD5 Callback");<a name="line.112"></a>
-<span class="sourceLineNo">113</span>        }<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      }<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      if (pc != null) {<a name="line.115"></a>
-<span class="sourceLineNo">116</span>        TokenIdentifier tokenIdentifier = getIdentifier(nc.getDefaultName(), secretManager);<a name="line.116"></a>
-<span class="sourceLineNo">117</span>        char[] password = getPassword(tokenIdentifier);<a name="line.117"></a>
-<span class="sourceLineNo">118</span>        UserGroupInformation user = tokenIdentifier.getUser(); // may throw exception<a name="line.118"></a>
-<span class="sourceLineNo">119</span>        attemptingUserConsumer.accept(user);<a name="line.119"></a>
-<span class="sourceLineNo">120</span>        if (LOG.isTraceEnabled()) {<a name="line.120"></a>
-<span class="sourceLineNo">121</span>          LOG.trace("SASL server DIGEST-MD5 callback: setting password " + "for client: " +<a name="line.121"></a>
-<span class="sourceLineNo">122</span>              tokenIdentifier.getUser());<a name="line.122"></a>
-<span class="sourceLineNo">123</span>        }<a name="line.123"></a>
-<span class="sourceLineNo">124</span>        pc.setPassword(password);<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      }<a name="line.125"></a>
-<span class="sourceLineNo">126</span>      if (ac != null) {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>        String authid = ac.getAuthenticationID();<a name="line.127"></a>
-<span class="sourceLineNo">128</span>        String authzid = ac.getAuthorizationID();<a name="line.128"></a>
-<span class="sourceLineNo">129</span>        if (authid.equals(authzid)) {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>          ac.setAuthorized(true);<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        } else {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>          ac.setAuthorized(false);<a name="line.132"></a>
-<span class="sourceLineNo">133</span>        }<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        if (ac.isAuthorized()) {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>          if (LOG.isTraceEnabled()) {<a name="line.135"></a>
-<span class="sourceLineNo">136</span>            String username =<a name="line.136"></a>
-<span class="sourceLineNo">137</span>              getIdentifier(authzid, secretManager).getUser().getUserName();<a name="line.137"></a>
-<span class="sourceLineNo">138</span>            LOG.trace("SASL server DIGEST-MD5 callback: setting "<a name="line.138"></a>
-<span class="sourceLineNo">139</span>                + "canonicalized client ID: " + username);<a name="line.139"></a>
-<span class="sourceLineNo">140</span>          }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>          ac.setAuthorizedID(authzid);<a name="line.141"></a>
-<span class="sourceLineNo">142</span>        }<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    }<a name="line.144"></a>
-<span class="sourceLineNo">145</span>  }<a name="line.145"></a>
-<span class="sourceLineNo">146</span><a name="line.146"></a>
-<span class="sourceLineNo">147</span>  /** CallbackHandler for SASL GSSAPI Kerberos mechanism */<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  public static class SaslGssCallbackHandler implements CallbackHandler {<a name="line.148"></a>
+<span class="sourceLineNo">051</span><a name="line.51"></a>
+<span class="sourceLineNo">052</span>  private static final Log LOG = LogFactory.getLog(HBaseSaslRpcServer.class);<a name="line.52"></a>
+<span class="sourceLineNo">053</span><a name="line.53"></a>
+<span class="sourceLineNo">054</span>  private final SaslServer saslServer;<a name="line.54"></a>
+<span class="sourceLineNo">055</span><a name="line.55"></a>
+<span class="sourceLineNo">056</span>  private UserGroupInformation attemptingUser; // user name before auth<a name="line.56"></a>
+<span class="sourceLineNo">057</span><a name="line.57"></a>
+<span class="sourceLineNo">058</span>  public HBaseSaslRpcServer(AuthMethod method, Map&lt;String, String&gt; saslProps,<a name="line.58"></a>
+<span class="sourceLineNo">059</span>      SecretManager&lt;TokenIdentifier&gt; secretManager) throws IOException {<a name="line.59"></a>
+<span class="sourceLineNo">060</span>    switch (method) {<a name="line.60"></a>
+<span class="sourceLineNo">061</span>      case DIGEST:<a name="line.61"></a>
+<span class="sourceLineNo">062</span>        if (secretManager == null) {<a name="line.62"></a>
+<span class="sourceLineNo">063</span>          throw new AccessDeniedException("Server is not configured to do DIGEST authentication.");<a name="line.63"></a>
+<span class="sourceLineNo">064</span>        }<a name="line.64"></a>
+<span class="sourceLineNo">065</span>        saslServer = Sasl.createSaslServer(AuthMethod.DIGEST.getMechanismName(), null,<a name="line.65"></a>
+<span class="sourceLineNo">066</span>          SaslUtil.SASL_DEFAULT_REALM, saslProps, new SaslDigestCallbackHandler(secretManager));<a name="line.66"></a>
+<span class="sourceLineNo">067</span>        break;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>      case KERBEROS:<a name="line.68"></a>
+<span class="sourceLineNo">069</span>        UserGroupInformation current = UserGroupInformation.getCurrentUser();<a name="line.69"></a>
+<span class="sourceLineNo">070</span>        String fullName = current.getUserName();<a name="line.70"></a>
+<span class="sourceLineNo">071</span>        if (LOG.isDebugEnabled()) {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>          LOG.debug("Kerberos principal name is " + fullName);<a name="line.72"></a>
+<span class="sourceLineNo">073</span>        }<a name="line.73"></a>
+<span class="sourceLineNo">074</span>        String[] names = SaslUtil.splitKerberosName(fullName);<a name="line.74"></a>
+<span class="sourceLineNo">075</span>        if (names.length != 3) {<a name="line.75"></a>
+<span class="sourceLineNo">076</span>          throw new AccessDeniedException(<a name="line.76"></a>
+<span class="sourceLineNo">077</span>              "Kerberos principal name does NOT have the expected " + "hostname part: " + fullName);<a name="line.77"></a>
+<span class="sourceLineNo">078</span>        }<a name="line.78"></a>
+<span class="sourceLineNo">079</span>        try {<a name="line.79"></a>
+<span class="sourceLineNo">080</span>          saslServer = current.doAs(new PrivilegedExceptionAction&lt;SaslServer&gt;() {<a name="line.80"></a>
+<span class="sourceLineNo">081</span>            @Override<a name="line.81"></a>
+<span class="sourceLineNo">082</span>            public SaslServer run() throws SaslException {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>              return Sasl.createSaslServer(AuthMethod.KERBEROS.getMechanismName(), names[0],<a name="line.83"></a>
+<span class="sourceLineNo">084</span>                names[1], saslProps, new SaslGssCallbackHandler());<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>        } catch (InterruptedException e) {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>          // should not happen<a name="line.88"></a>
+<span class="sourceLineNo">089</span>          throw new AssertionError(e);<a name="line.89"></a>
+<span class="sourceLineNo">090</span>        }<a name="line.90"></a>
+<span class="sourceLineNo">091</span>        break;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      default:<a name="line.92"></a>
+<span class="sourceLineNo">093</span>        throw new IOException("Unknown authentication method " + method);<a name="line.93"></a>
+<span class="sourceLineNo">094</span>    }<a name="line.94"></a>
+<span class="sourceLineNo">095</span>  }<a name="line.95"></a>
+<span class="sourceLineNo">096</span><a name="line.96"></a>
+<span class="sourceLineNo">097</span>  public boolean isComplete() {<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    return saslServer.isComplete();<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  }<a name="line.99"></a>
+<span class="sourceLineNo">100</span><a name="line.100"></a>
+<span class="sourceLineNo">101</span>  public byte[] evaluateResponse(byte[] response) throws SaslException {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>    return saslServer.evaluateResponse(response);<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  }<a name="line.103"></a>
+<span class="sourceLineNo">104</span><a name="line.104"></a>
+<span class="sourceLineNo">105</span>  /** Release resources used by wrapped saslServer */<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  public void dispose() {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    SaslUtil.safeDispose(saslServer);<a name="line.107"></a>
+<span class="sourceLineNo">108</span>  }<a name="line.108"></a>
+<span class="sourceLineNo">109</span><a name="line.109"></a>
+<span class="sourceLineNo">110</span>  public UserGroupInformation getAttemptingUser() {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>    return attemptingUser;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>  }<a name="line.112"></a>
+<span class="sourceLineNo">113</span><a name="line.113"></a>
+<span class="sourceLineNo">114</span>  public byte[] wrap(byte[] buf, int off, int len) throws SaslException {<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    return saslServer.wrap(buf, off, len);<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  }<a name="line.116"></a>
+<span class="sourceLineNo">117</span><a name="line.117"></a>
+<span class="sourceLineNo">118</span>  public byte[] unwrap(byte[] buf, int off, int len) throws SaslException {<a name="line.118"></a>
+<span class="sourceLineNo">119</span>    return saslServer.unwrap(buf, off, len);<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>  public String getNegotiatedQop() {<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    return (String) saslServer.getNegotiatedProperty(Sasl.QOP);<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  }<a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125"></a>
+<span class="sourceLineNo">126</span>  public String getAuthorizationID() {<a name="line.126"></a>
+<span class="sourceLineNo">127</span>    return saslServer.getAuthorizationID();<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>  public static &lt;T extends TokenIdentifier&gt; T getIdentifier(String id,<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      SecretManager&lt;T&gt; secretManager) throws InvalidToken {<a name="line.131"></a>
+<span class="sourceLineNo">132</span>    byte[] tokenId = SaslUtil.decodeIdentifier(id);<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    T tokenIdentifier = secretManager.createIdentifier();<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    try {<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      tokenIdentifier.readFields(new DataInputStream(new ByteArrayInputStream(tokenId)));<a name="line.135"></a>
+<span class="sourceLineNo">136</span>    } catch (IOException e) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>      throw (InvalidToken) new InvalidToken("Can't de-serialize tokenIdentifier").initCause(e);<a name="line.137"></a>
+<span class="sourceLineNo">138</span>    }<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    return tokenIdentifier;<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>  /** CallbackHandler for SASL DIGEST-MD5 mechanism */<a name="line.142"></a>
+<span class="sourceLineNo">143</span>  private class SaslDigestCallbackHandler implements CallbackHandler {<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    private SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.144"></a>
+<span class="sourceLineNo">145</span><a name="line.145"></a>
+<span class="sourceLineNo">146</span>    public SaslDigestCallbackHandler(SecretManager&lt;TokenIdentifier&gt; secretManager) {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>      this.secretManager = secretManager;<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>    /** {@inheritDoc} */<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    @Override<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    public void handle(Callback[] callbacks) throws<a name="line.152"></a>
-<span class="sourceLineNo">153</span>        UnsupportedCallbackException {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      AuthorizeCallback ac = null;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>      for (Callback callback : callbacks) {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>        if (callback instanceof AuthorizeCallback) {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>          ac = (AuthorizeCallback) callback;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>        } else {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>          throw new UnsupportedCallbackException(callback,<a name="line.159"></a>
-<span class="sourceLineNo">160</span>              "Unrecognized SASL GSSAPI Callback");<a name="line.160"></a>
-<span class="sourceLineNo">161</span>        }<a name="line.161"></a>
-<span class="sourceLineNo">162</span>      }<a name="line.162"></a>
-<span class="sourceLineNo">163</span>      if (ac != null) {<a name="line.163"></a>
-<span class="sourceLineNo">164</span>        String authid = ac.getAuthenticationID();<a name="line.164"></a>
-<span class="sourceLineNo">165</span>        String authzid = ac.getAuthorizationID();<a name="line.165"></a>
-<span class="sourceLineNo">166</span>        if (authid.equals(authzid)) {<a name="line.166"></a>
-<span class="sourceLineNo">167</span>          ac.setAuthorized(true);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>        } else {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>          ac.setAuthorized(false);<a name="line.169"></a>
-<span class="sourceLineNo">170</span>        }<a name="line.170"></a>
-<span class="sourceLineNo">171</span>        if (ac.isAuthorized()) {<a name="line.171"></a>
-<span class="sourceLineNo">172</span>          if (LOG.isDebugEnabled())<a name="line.172"></a>
-<span class="sourceLineNo">173</span>            LOG.debug("SASL server GSSAPI callback: setting "<a name="line.173"></a>
-<span class="sourceLineNo">174</span>                + "canonicalized client ID: " + authzid);<a name="line.174"></a>
-<span class="sourceLineNo">175</span>          ac.setAuthorizedID(authzid);<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>    }<a name="line.178"></a>
-<span class="sourceLineNo">179</span>  }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>}<a name="line.180"></a>
+<span class="sourceLineNo">150</span>    private char[] getPassword(TokenIdentifier tokenid) throws InvalidToken {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      return SaslUtil.encodePassword(secretManager.retrievePassword(tokenid));<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>    /** {@inheritDoc} */<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    @Override<a name="line.155"></a>
+<span class="sourceLineNo">156</span>    public void handle(Callback[] callbacks) throws InvalidToken, UnsupportedCallbackException {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>      NameCallback nc = null;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      PasswordCallback pc = null;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>      AuthorizeCallback ac = null;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>      for (Callback callback : callbacks) {<a name="line.160"></a>
+<span class="sourceLineNo">161</span>        if (callback instanceof AuthorizeCallback) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>          ac = (AuthorizeCallback) callback;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>        } else if (callback instanceof NameCallback) {<a name="line.163"></a>
+<span class="sourceLineNo">164</span>          nc = (NameCallback) callback;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>        } else if (callback instanceof PasswordCallback) {<a name="line.165"></a>
+<span class="sourceLineNo">166</span>          pc = (PasswordCallback) callback;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>        } else if (callback instanceof RealmCallback) {<a name="line.167"></a>
+<span class="sourceLineNo">168</span>          continue; // realm is ignored<a name="line.168"></a>
+<span class="sourceLineNo">169</span>        } else {<a name="line.169"></a>
+<span class="sourceLineNo">170</span>          throw new UnsupportedCallbackException(callback, "Unrecognized SASL DIGEST-MD5 Callback");<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>      if (pc != null) {<a name="line.173"></a>
+<span class="sourceLineNo">174</span>        TokenIdentifier tokenIdentifier = getIdentifier(nc.getDefaultName(), secretManager);<a name="line.174"></a>
+<span class="sourceLineNo">175</span>        char[] password = getPassword(tokenIdentifier);<a name="line.175"></a>
+<span class="sourceLineNo">176</span>        UserGroupInformation user = tokenIdentifier.getUser(); // may throw exception<a name="line.176"></a>
+<span class="sourceLineNo">177</span>        attemptingUser = user;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>        if (LOG.isTraceEnabled()) {<a name="line.178"></a>
+<span class="sourceLineNo">179</span>          LOG.trace("SASL server DIGEST-MD5 callback: setting password " + "for client: " +<a name="line.179"></a>
+<span class="sourceLineNo">180</span>              tokenIdentifier.getUser());<a name="line.180"></a>
+<span class="sourceLineNo">181</span>        }<a name="line.181"></a>
+<span class="sourceLineNo">182</span>        pc.setPassword(password);<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      }<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      if (ac != null) {<a name="line.184"></a>
+<span class="sourceLineNo">185</span>        String authid = ac.getAuthenticationID();<a name="line.185"></a>
+<span class="sourceLineNo">186</span>        String authzid = ac.getAuthorizationID();<a name="line.186"></a>
+<span class="sourceLineNo">187</span>        if (authid.equals(authzid)) {<a name="line.187"></a>
+<span class="sourceLineNo">188</span>          ac.setAuthorized(true);<a name="line.188"></a>
+<span class="sourceLineNo">189</span>        } else {<a name="line.189"></a>
+<span class="sourceLineNo">190</span>          ac.setAuthorized(false);<a name="line.190"></a>
+<span class="sourceLineNo">191</span>        }<a name="line.191"></a>
+<span class="sourceLineNo">192</span>        if (ac.isAuthorized()) {<a name="line.192"></a>
+<span class="sourceLineNo">193</span>          if (LOG.isTraceEnabled()) {<a name="line.193"></a>
+<span class="sourceLineNo">194</span>            String username = getIdentifier(authzid, secretManager).getUser().getUserName();<a name="line.194"></a>
+<span class="sourceLineNo">195</span>            LOG.trace(<a name="line.195"></a>
+<span class="sourceLineNo">196</span>              "SASL server DIGEST-MD5 callback: setting " + "canonicalized client ID: " + username);<a name="line.196"></a>
+<span class="sourceLineNo">197</span>          }<a name="line.197"></a>
+<span class="sourceLineNo">198</span>          ac.setAuthorizedID(authzid);<a name="line.198"></a>
+<span class="sourceLineNo">199</span>        }<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      }<a name="line.200"></a>
+<span class="sourceLineNo">201</span>    }<a name="line.201"></a>
+<span class="sourceLineNo">202</span>  }<a name="line.202"></a>
+<span class="sourceLineNo">203</span><a name="line.203"></a>
+<span class="sourceLineNo">204</span>  /** CallbackHandler for SASL GSSAPI Kerberos mechanism */<a name="line.204"></a>
+<span class="sourceLineNo">205</span>  private static class SaslGssCallbackHandler implements CallbackHandler {<a name="line.205"></a>
+<span class="sourceLineNo">206</span><a name="line.206"></a>
+<span class="sourceLineNo">207</span>    /** {@inheritDoc} */<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    @Override<a name="line.208"></a>
+<span class="sourceLineNo">209</span>    public void handle(Callback[] callbacks) throws UnsupportedCallbackException {<a name="line.209"></a>
+<span class="sourceLineNo">210</span>      AuthorizeCallback ac = null;<a name="line.210"></a>
+<span class="sourceLineNo">211</span>      for (Callback callback : callbacks) {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>        if (callback instanceof AuthorizeCallback) {<a name="line.212"></a>
+<span class="sourceLineNo">213</span>          ac = (AuthorizeCallback) callback;<a name="line.213"></a>
+<span class="sourceLineNo">214</span>        } else {<a name="line.214"></a>
+<span class="sourceLineNo">215</span>          throw new UnsupportedCallbackException(callback, "Unrecognized SASL GSSAPI Callback");<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>      if (ac != null) {<a name="line.218"></a>
+<span class="sourceLineNo">219</span>        String authid = ac.getAuthenticationID();<a name="line.219"></a>
+<span class="sourceLineNo">220</span>        String authzid = ac.getAuthorizationID();<a name="line.220"></a>
+<span class="sourceLineNo">221</span>        if (authid.equals(authzid)) {<a name="line.221"></a>
+<span class="sourceLineNo">222</span>          ac.setAuthorized(true);<a name="line.222"></a>
+<span class="sourceLineNo">223</span>        } else {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>          ac.setAuthorized(false);<a name="line.224"></a>
+<span class="sourceLineNo">225</span>        }<a name="line.225"></a>
+<span class="sourceLineNo">226</span>        if (ac.isAuthorized()) {<a name="line.226"></a>
+<span class="sourceLineNo">227</span>          if (LOG.isDebugEnabled()) {<a name="line.227"></a>
+<span class="sourceLineNo">228</span>            LOG.debug(<a name="line.228"></a>
+<span class="sourceLineNo">229</span>              "SASL server GSSAPI callback: setting " + "canonicalized client ID: " + authzid);<a name="line.229"></a>
+<span class="sourceLineNo">230</span>          }<a name="line.230"></a>
+<span class="sourceLineNo">231</span>          ac.setAuthorizedID(authzid);<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>  }<a name="line.235"></a>
+<span class="sourceLineNo">236</span>}<a name="line.236"></a>
 
 
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/hbase-annotations/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/issue-tracking.html b/hbase-annotations/issue-tracking.html
index 0f49c95..8b943d3 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-annotations/license.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/license.html b/hbase-annotations/license.html
index e3d1755..52f3cd7 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-annotations/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/mail-lists.html b/hbase-annotations/mail-lists.html
index 3a48963..7c43333 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-annotations/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/plugin-management.html b/hbase-annotations/plugin-management.html
index a6ed7b5..a251ac3 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-annotations/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/plugins.html b/hbase-annotations/plugins.html
index 11a8eb1..1676a2d 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-annotations/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-info.html b/hbase-annotations/project-info.html
index d04d166..0473542 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-annotations/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-reports.html b/hbase-annotations/project-reports.html
index e47c12b..ec64f5e 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-annotations/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-summary.html b/hbase-annotations/project-summary.html
index c9bf808..ad48d93 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-annotations/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/source-repository.html b/hbase-annotations/source-repository.html
index d789761..53270a5 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-annotations/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/team-list.html b/hbase-annotations/team-list.html
index bdd27f7..99f5a5b 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-archetypes/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/dependencies.html b/hbase-archetypes/dependencies.html
index a2b0d3d..179049b 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-archetypes/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/dependency-convergence.html b/hbase-archetypes/dependency-convergence.html
index 21efb00..445025a 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-archetypes/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/dependency-info.html b/hbase-archetypes/dependency-info.html
index eeb359d..f94d6b3 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-archetypes/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/dependency-management.html b/hbase-archetypes/dependency-management.html
index 8d8cb68..04b6a1a 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 26aa199..54c7bf8 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 5aa6649..4128db5 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 c126777..d8b1b49 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 4ffe192..502f7da 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 6847612..9e2d73d 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 36d66c6..1b4bc06 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 492e7e2..247e54c 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 5ce9be9..529b11c 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 2b59f75..1a38206 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 d3506c6..cc1102b 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 164a8a5..c58cfa8 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 a2af9ca..9c78cf7 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 bcceaca..6aa8b82 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 cb318da..5234086 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 cfb4fb5..3af8f46 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 c191797..d9ba00e 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 88c0c6d..54edae0 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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>
@@ -3584,7 +3584,7 @@ built on Jackson JSON processor</p>
 <td>-</td></tr>
 <tr class="a">
 <td>hbase-server-2.0.0-SNAPSHOT-tests.jar</td>
-<td>7.83 MB</td>
+<td>7.84 MB</td>
 <td>-</td>
 <td>-</td>
 <td>-</td>
@@ -4070,7 +4070,7 @@ built on Jackson JSON processor</p>
 <th>Sealed</th></tr>
 <tr class="a">
 <td>150</td>
-<td>70.71 MB</td>
+<td>70.72 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.54 MB</td>
+<td>test: 38.55 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/f8f0a032/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 4457af2..5b41478 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 9441c21..08e2f2b 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 61bba55..e71c85f 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 bce4258..8a357da 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 12827c8..05cc9fa 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 de7a8c5..98aa5e2 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 11aeacd..3cb5fd1 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 4f51edd..24120d9 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 d41ae99..64e39a8 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 b7ddcdb..1a4871c 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 f75d83f..f811b95 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 653cc97..0c01eed 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 53a87ab..c9ae4ff 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 7c5c6cb..f3d664f 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 fcf2e74..6e8af9e 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 db59877..13e0b5f 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 6f19e49..d4f5f24 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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>
@@ -3599,7 +3599,7 @@ These include: bzip2, gzip, pack200, xz and ar, cpio, jar, tar, zip, dump.</p>
 <td>-</td></tr>
 <tr class="a">
 <td>hbase-server-2.0.0-SNAPSHOT-tests.jar</td>
-<td>7.83 MB</td>
+<td>7.84 MB</td>
 <td>-</td>
 <td>-</td>
 <td>-</td>
@@ -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.54 MB</td>
+<td>test: 38.55 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/f8f0a032/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 3b4d2f3..9ae6d7f 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 8967ffb..f9a6968 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.html b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.html
index 1d2b0a5..d31ce8b 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/RSRpcServices.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.220">RSRpcServices</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.231">RSRpcServices</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/ipc/HBaseRPCErrorHandler.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRPCErrorHandler</a>, org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService.BlockingInterface, org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService.BlockingInterface, <a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a>, <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserver.html" title="interface in org.apache.hadoop.hbase.conf">ConfigurationObserver</a></pre>
 <div class="block">Implements the regionserver RPC services.</div>
@@ -191,96 +191,100 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#clearCompactionQueues">clearCompactionQueues</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>private com.google.common.cache.Cache&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#closedScanners">closedScanners</a></span></code>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colFirst"><code>private static long</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA">DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</a></span></code>
 <div class="block">Default value of <a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA"><code>REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</code></a></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/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#isa">isa</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected static org.apache.commons.logging.Log</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#LOG">LOG</a></span></code>&nbsp;</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/regionserver/RSRpcServices.html#maxScannerResultSize">maxScannerResultSize</a></span></code>&nbsp;</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/regionserver/RSRpcServices.html#minimumScanTimeLimitDelta">minimumScanTimeLimitDelta</a></span></code>
 <div class="block">The minimum allowable delta to use for the scan limit</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#priority">priority</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA">REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</a></span></code>
 <div class="block">Minimum allowable time limit delta (in milliseconds) that can be enforced during scans.</div>
 </td>
 </tr>
-<tr class="altColor">
+<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/regionserver/RSRpcServices.html#REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS">REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS</a></span></code>
 <div class="block">RPC scheduler to use for the region server.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#regionServer">regionServer</a></span></code>&nbsp;</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/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#requestCount">requestCount</a></span></code>&nbsp;</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/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#rpcGetRequestCount">rpcGetRequestCount</a></span></code>&nbsp;</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/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#rpcMultiRequestCount">rpcMultiRequestCount</a></span></code>&nbsp;</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/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#rpcMutateRequestCount">rpcMutateRequestCount</a></span></code>&nbsp;</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/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#rpcScanRequestCount">rpcScanRequestCount</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>(package private) <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#rpcServer">rpcServer</a></span></code>&nbsp;</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/regionserver/RSRpcServices.html#rpcTimeout">rpcTimeout</a></span></code>
 <div class="block">The RPC timeout period (milliseconds)</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static <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></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#SCANNER_ALREADY_CLOSED">SCANNER_ALREADY_CLOSED</a></span></code>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</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/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#scannerIdGen">scannerIdGen</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#scannerLeaseTimeoutPeriod">scannerLeaseTimeoutPeriod</a></span></code>
 <div class="block">The lease timeout period for client scanners (milliseconds).</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/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices.RegionScannerHolder</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#scanners">scanners</a></span></code>&nbsp;</td>
 </tr>
@@ -854,7 +858,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>protected static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.223">LOG</a></pre>
+<pre>protected static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.234">LOG</a></pre>
 </li>
 </ul>
 <a name="REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS">
@@ -863,7 +867,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.226">REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.237">REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS</a></pre>
 <div class="block">RPC scheduler to use for the region server.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -877,7 +881,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</h4>
-<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.234">REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</a></pre>
+<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.245">REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</a></pre>
 <div class="block">Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This
  configuration exists to prevent the scenario where a time limit is specified to be so
  restrictive that the time limit is reached immediately (before any cells are scanned).</div>
@@ -893,7 +897,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</h4>
-<pre>private static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.239">DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</a></pre>
+<pre>private static final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.250">DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</a></pre>
 <div class="block">Default value of <a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA"><code>REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA</code></a></div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -907,7 +911,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>requestCount</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.242">requestCount</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.253">requestCount</a></pre>
 </li>
 </ul>
 <a name="rpcGetRequestCount">
@@ -916,7 +920,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcGetRequestCount</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.245">rpcGetRequestCount</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.256">rpcGetRequestCount</a></pre>
 </li>
 </ul>
 <a name="rpcScanRequestCount">
@@ -925,7 +929,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcScanRequestCount</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.248">rpcScanRequestCount</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.259">rpcScanRequestCount</a></pre>
 </li>
 </ul>
 <a name="rpcMultiRequestCount">
@@ -934,7 +938,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcMultiRequestCount</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.251">rpcMultiRequestCount</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.262">rpcMultiRequestCount</a></pre>
 </li>
 </ul>
 <a name="rpcMutateRequestCount">
@@ -943,7 +947,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcMutateRequestCount</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.254">rpcMutateRequestCount</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.265">rpcMutateRequestCount</a></pre>
 </li>
 </ul>
 <a name="rpcServer">
@@ -952,7 +956,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcServer</h4>
-<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.257">rpcServer</a></pre>
+<pre>final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.268">rpcServer</a></pre>
 </li>
 </ul>
 <a name="isa">
@@ -961,7 +965,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>isa</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.258">isa</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.269">isa</a></pre>
 </li>
 </ul>
 <a name="regionServer">
@@ -970,7 +974,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>regionServer</h4>
-<pre>private final&nbsp;<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/regionserver/RSRpcServices.html#line.260">regionServer</a></pre>
+<pre>private final&nbsp;<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/regionserver/RSRpcServices.html#line.271">regionServer</a></pre>
 </li>
 </ul>
 <a name="maxScannerResultSize">
@@ -979,7 +983,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>maxScannerResultSize</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.261">maxScannerResultSize</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.272">maxScannerResultSize</a></pre>
 </li>
 </ul>
 <a name="priority">
@@ -988,7 +992,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>priority</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.264">priority</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.275">priority</a></pre>
 </li>
 </ul>
 <a name="scannerIdGen">
@@ -997,7 +1001,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>scannerIdGen</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.266">scannerIdGen</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicLong.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicLong</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.277">scannerIdGen</a></pre>
 </li>
 </ul>
 <a name="scanners">
@@ -1006,7 +1010,16 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>scanners</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices.RegionScannerHolder</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.267">scanners</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentMap.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentMap</a>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices.RegionScannerHolder</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.278">scanners</a></pre>
+</li>
+</ul>
+<a name="closedScanners">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>closedScanners</h4>
+<pre>private final&nbsp;com.google.common.cache.Cache&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.282">closedScanners</a></pre>
 </li>
 </ul>
 <a name="scannerLeaseTimeoutPeriod">
@@ -1015,7 +1028,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>scannerLeaseTimeoutPeriod</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.272">scannerLeaseTimeoutPeriod</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.286">scannerLeaseTimeoutPeriod</a></pre>
 <div class="block">The lease timeout period for client scanners (milliseconds).</div>
 </li>
 </ul>
@@ -1025,7 +1038,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcTimeout</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.277">rpcTimeout</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.291">rpcTimeout</a></pre>
 <div class="block">The RPC timeout period (milliseconds)</div>
 </li>
 </ul>
@@ -1035,7 +1048,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>minimumScanTimeLimitDelta</h4>
-<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.282">minimumScanTimeLimitDelta</a></pre>
+<pre>private final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.296">minimumScanTimeLimitDelta</a></pre>
 <div class="block">The minimum allowable delta to use for the scan limit</div>
 </li>
 </ul>
@@ -1045,7 +1058,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <ul class="blockList">
 <li class="blockList">
 <h4>clearCompactionQueues</h4>
-<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.284">clearCompactionQueues</a></pre>
+<pre>final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/AtomicBoolean.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicBoolean</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.298">clearCompactionQueues</a></pre>
 </li>
 </ul>
 <a name="SCANNER_ALREADY_CLOSED">
@@ -1055,7 +1068,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHand
 <li class="blockList">
 <h4>SCANNER_ALREADY_CLOSED</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>
-private static final&nbsp;<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="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2779">SCANNER_ALREADY_CLOSED</a></pre>
+private static final&nbsp;<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="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.2796">SCANNER_ALREADY_CLOSED</a></pre>
 <div class="block"><span class="deprecatedLabel">Deprecated.</span>&nbsp;</div>
 </li>
 </ul>
@@ -1073,7 +1086,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RSRpcServices</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1098">RSRpcServices</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;rs)
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1112">RSRpcServices</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a>&nbsp;rs)
               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>
@@ -1095,7 +1108,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getResultOrException</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.427">getResultOrException</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Result&nbsp;r,
+<pre>private static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.441">getResultOrException</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Result&nbsp;r,
                                                                                                                      int&nbsp;index)</pre>
 </li>
 </ul>
@@ -1105,7 +1118,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getResultOrException</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.432">getResultOrException</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>&nbsp;e,
+<pre>private static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.446">getResultOrException</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>&nbsp;e,
                                                                                                                      int&nbsp;index)</pre>
 </li>
 </ul>
@@ -1115,7 +1128,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getResultOrException</h4>
-<pre>private static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.436">getResultOrException</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException.Builder&nbsp;builder,
+<pre>private static&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.450">getResultOrException</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException.Builder&nbsp;builder,
                                                                                                                      int&nbsp;index)</pre>
 </li>
 </ul>
@@ -1125,7 +1138,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>startNonceOperation</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.447">startNonceOperation</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto&nbsp;mutation,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.461">startNonceOperation</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto&nbsp;mutation,
                                     long&nbsp;nonceGroup)
                              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">Starts the nonce operation for a mutation, if needed.</div>
@@ -1144,7 +1157,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>endNonceOperation</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.466">endNonceOperation</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto&nbsp;mutation,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.480">endNonceOperation</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto&nbsp;mutation,
                                long&nbsp;nonceGroup,
                                boolean&nbsp;success)</pre>
 <div class="block">Ends nonce operation for a mutation, if needed.</div>
@@ -1162,7 +1175,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>isClientCellBlockSupport</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.473">isClientCellBlockSupport</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a>&nbsp;context)</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.487">isClientCellBlockSupport</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a>&nbsp;context)</pre>
 </li>
 </ul>
 <a name="addResult-org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateResponse.Builder-org.apache.hadoop.hbase.client.Result-org.apache.hadoop.hbase.ipc.HBaseRpcController-boolean-">
@@ -1171,7 +1184,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>addResult</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.477">addResult</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateResponse.Builder&nbsp;builder,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.491">addResult</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateResponse.Builder&nbsp;builder,
                        <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;result,
                        <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a>&nbsp;rpcc,
                        boolean&nbsp;clientCellBlockSupported)</pre>
@@ -1183,7 +1196,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>addResults</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.489">addResults</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse.Builder&nbsp;builder,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.503">addResults</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse.Builder&nbsp;builder,
                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&gt;&nbsp;results,
                         <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRpcController.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRpcController</a>&nbsp;controller,
                         boolean&nbsp;isDefaultRegion,
@@ -1196,7 +1209,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>mutateRows</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.517">mutateRows</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.531">mutateRows</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action&gt;&nbsp;actions,
                         <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cellScanner,
                         org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult.Builder&nbsp;builder)
@@ -1218,7 +1231,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>checkAndRowMutate</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.570">checkAndRowMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.584">checkAndRowMutate</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
                                   <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action&gt;&nbsp;actions,
                                   <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cellScanner,
                                   byte[]&nbsp;row,
@@ -1251,7 +1264,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>append</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.626">append</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.640">append</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
                       <a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a>&nbsp;quota,
                       org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto&nbsp;mutation,
                       <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cellScanner,
@@ -1278,7 +1291,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>increment</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.677">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.691">increment</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
                          <a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a>&nbsp;quota,
                          org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto&nbsp;mutation,
                          <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cells,
@@ -1303,7 +1316,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>doNonAtomicRegionMutation</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/CellScannable.html" title="interface in org.apache.hadoop.hbase">CellScannable</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.733">doNonAtomicRegionMutation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/CellScannable.html" title="interface in org.apache.hadoop.hbase">CellScannable</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.747">doNonAtomicRegionMutation</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
                                                       <a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a>&nbsp;quota,
                                                       org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionAction&nbsp;actions,
                                                       <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cellScanner,
@@ -1336,7 +1349,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>checkCellSizeLimit</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.896">checkCellSizeLimit</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.910">checkCellSizeLimit</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
                                 <a href="../../../../../org/apache/hadoop/hbase/client/Mutation.html" title="class in org.apache.hadoop.hbase.client">Mutation</a>&nbsp;m)
                          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>
@@ -1351,7 +1364,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>doBatchOp</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.923">doBatchOp</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult.Builder&nbsp;builder,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.937">doBatchOp</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult.Builder&nbsp;builder,
                        <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
                        <a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.html" title="interface in org.apache.hadoop.hbase.quotas">OperationQuota</a>&nbsp;quota,
                        <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action&gt;&nbsp;mutations,
@@ -1372,7 +1385,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>doReplayBatchOp</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1020">doReplayBatchOp</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/OperationStatus.html" title="class in org.apache.hadoop.hbase.regionserver">OperationStatus</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1034">doReplayBatchOp</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;region,
                                           <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/wal/WALSplitter.MutationReplay.html" title="class in org.apache.hadoop.hbase.wal">WALSplitter.MutationReplay</a>&gt;&nbsp;mutations,
                                           long&nbsp;replaySeqId)
                                    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>
@@ -1397,7 +1410,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>closeAllScanners</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1086">closeAllScanners</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1100">closeAllScanners</a>()</pre>
 </li>
 </ul>
 <a name="onConfigurationChange-org.apache.hadoop.conf.Configuration-">
@@ -1406,7 +1419,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>onConfigurationChange</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1174">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration&nbsp;newConf)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1191">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration&nbsp;newConf)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserver.html#onConfigurationChange-org.apache.hadoop.conf.Configuration-">ConfigurationObserver</a></code></span></div>
 <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>
@@ -1422,7 +1435,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>createPriority</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1180">createPriority</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1197">createPriority</a>()</pre>
 </li>
 </ul>
 <a name="getHostname-org.apache.hadoop.conf.Configuration-boolean-">
@@ -1431,7 +1444,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getHostname</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1184">getHostname</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1201">getHostname</a>(org.apache.hadoop.conf.Configuration&nbsp;conf,
                                  boolean&nbsp;isMaster)
                           throws <a href="http://docs.oracle.com/javase/8/docs/api/java/net/UnknownHostException.html?is-external=true" title="class or interface in java.net">UnknownHostException</a></pre>
 <dl>
@@ -1446,7 +1459,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getScannersCount</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1200">getScannersCount</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1217">getScannersCount</a>()</pre>
 </li>
 </ul>
 <a name="getScanner-long-">
@@ -1455,7 +1468,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanner</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1205">getScanner</a>(long&nbsp;scannerId)</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1222">getScanner</a>(long&nbsp;scannerId)</pre>
 </li>
 </ul>
 <a name="getScanDetailsWithId-long-">
@@ -1464,7 +1477,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getScanDetailsWithId</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1214">getScanDetailsWithId</a>(long&nbsp;scannerId)</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1231">getScanDetailsWithId</a>(long&nbsp;scannerId)</pre>
 </li>
 </ul>
 <a name="getScannerVirtualTime-long-">
@@ -1473,7 +1486,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getScannerVirtualTime</h4>
-<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1229">getScannerVirtualTime</a>(long&nbsp;scannerId)</pre>
+<pre>long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1246">getScannerVirtualTime</a>(long&nbsp;scannerId)</pre>
 <div class="block">Get the vtime associated with the scanner.
  Currently the vtime is the number of "next" calls.</div>
 </li>
@@ -1484,7 +1497,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>addSize</h4>
-<pre><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>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1242">addSize</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a>&nbsp;context,
+<pre><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>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1259">addSize</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a>&nbsp;context,
                <a href="../../../../../org/apache/hadoop/hbase/client/Result.html" title="class in org.apache.hadoop.hbase.client">Result</a>&nbsp;r,
                <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>&nbsp;lastBlock)</pre>
 <div class="block">Method to account for the size of retained cells and retained data blocks.</div>
@@ -1500,7 +1513,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>addScanner</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices.RegionScannerHolder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1276">addScanner</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>&nbsp;scannerName,
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices.RegionScannerHolder</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1293">addScanner</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>&nbsp;scannerName,
                                                      <a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionScanner.html" title="interface in org.apache.hadoop.hbase.regionserver">RegionScanner</a>&nbsp;s,
                                                      <a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;r)
                                               throws <a href="../../../../../org/apache/hadoop/hbase/regionserver/Leases.LeaseStillHeldException.html" title="class in org.apache.hadoop.hbase.regionserver">Leases.LeaseStillHeldException</a></pre>
@@ -1516,7 +1529,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegion</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1303">getRegion</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier&nbsp;regionSpecifier)
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/Region.html" title="interface in org.apache.hadoop.hbase.regionserver">Region</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1320">getRegion</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier&nbsp;regionSpecifier)
                  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 the HRegion based on a region specifier</div>
 <dl>
@@ -1536,7 +1549,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getPriority</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1321">getPriority</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1338">getPriority</a>()</pre>
 </li>
 </ul>
 <a name="getConfiguration--">
@@ -1545,7 +1558,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getConfiguration</h4>
-<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1326">getConfiguration</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1343">getConfiguration</a>()</pre>
 </li>
 </ul>
 <a name="getRpcQuotaManager--">
@@ -1554,7 +1567,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getRpcQuotaManager</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerRpcQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerRpcQuotaManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1330">getRpcQuotaManager</a>()</pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerRpcQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerRpcQuotaManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1347">getRpcQuotaManager</a>()</pre>
 </li>
 </ul>
 <a name="getSpaceQuotaManager--">
@@ -1563,7 +1576,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getSpaceQuotaManager</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerSpaceQuotaManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1334">getSpaceQuotaManager</a>()</pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/quotas/RegionServerSpaceQuotaManager.html" title="class in org.apache.hadoop.hbase.quotas">RegionServerSpaceQuotaManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1351">getSpaceQuotaManager</a>()</pre>
 </li>
 </ul>
 <a name="start--">
@@ -1572,7 +1585,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>start</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1338">start</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1355">start</a>()</pre>
 </li>
 </ul>
 <a name="stop--">
@@ -1581,7 +1594,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1342">stop</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1359">stop</a>()</pre>
 </li>
 </ul>
 <a name="checkOpen--">
@@ -1590,7 +1603,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>checkOpen</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1352">checkOpen</a>()
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1369">checkOpen</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">Called to verify that this server is up and running.</div>
 <dl>
@@ -1605,7 +1618,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getServices</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1371">getServices</a>()</pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1388">getServices</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>list of blocking services and their security info classes that this server supports</dd>
@@ -1618,7 +1631,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getSocketAddress</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1382">getSocketAddress</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1399">getSocketAddress</a>()</pre>
 </li>
 </ul>
 <a name="getPriority-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader-org.apache.hadoop.hbase.shaded.com.google.protobuf.Message-org.apache.hadoop.hbase.security.User-">
@@ -1627,7 +1640,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getPriority</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1387">getPriority</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader&nbsp;header,
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1404">getPriority</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader&nbsp;header,
                        org.apache.hadoop.hbase.shaded.com.google.protobuf.Message&nbsp;param,
                        <a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;user)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html#getPriority-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader-org.apache.hadoop.hbase.shaded.com.google.protobuf.Message-org.apache.hadoop.hbase.security.User-">PriorityFunction</a></code></span></div>
@@ -1647,7 +1660,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getDeadline</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1392">getDeadline</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader&nbsp;header,
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1409">getDeadline</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader&nbsp;header,
                         org.apache.hadoop.hbase.shaded.com.google.protobuf.Message&nbsp;param)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html#getDeadline-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader-org.apache.hadoop.hbase.shaded.com.google.protobuf.Message-">PriorityFunction</a></code></span></div>
 <div class="block">Returns the deadline of the specified request.
@@ -1666,7 +1679,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>checkOOME</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1404">checkOOME</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1421">checkOOME</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHandler.html#checkOOME-java.lang.Throwable-">HBaseRPCErrorHandler</a></code></span></div>
 <div class="block">Take actions on the event of an OutOfMemoryError.</div>
 <dl>
@@ -1685,7 +1698,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>exitIfOOME</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1408">exitIfOOME</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1425">exitIfOOME</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</pre>
 </li>
 </ul>
 <a name="closeRegion-org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController-org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest-">
@@ -1694,7 +1707,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegion</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1436">closeRegion</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1453">closeRegion</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
                                                                                                      org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest&nbsp;request)
                                                                                               throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException</pre>
 <div class="block">Close a region on the region server.</div>
@@ -1715,7 +1728,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>closeRegionForSplitOrMerge</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1470">closeRegionForSplitOrMerge</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1487">closeRegionForSplitOrMerge</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
                                                                                                                                    org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeRequest&nbsp;request)
                                                                                                                             throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException</pre>
 <dl>
@@ -1732,7 +1745,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>compactRegion</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1507">compactRegion</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1524">compactRegion</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
                                                                                                          org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest&nbsp;request)
                                                                                                   throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException</pre>
 <div class="block">Compact a region on the region server.</div>
@@ -1753,7 +1766,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>flushRegion</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1575">flushRegion</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1592">flushRegion</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
                                                                                                      org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest&nbsp;request)
                                                                                               throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException</pre>
 <div class="block">Flush a region on the region server.</div>
@@ -1774,7 +1787,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getOnlineRegion</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1617">getOnlineRegion</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1634">getOnlineRegion</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
                                                                                                              org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest&nbsp;request)
                                                                                                       throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException</pre>
 <dl>
@@ -1791,7 +1804,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionInfo</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1636">getRegionInfo</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1653">getRegionInfo</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
                                                                                                          org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest&nbsp;request)
                                                                                                   throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException</pre>
 <dl>
@@ -1808,7 +1821,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getRegionLoad</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1657">getRegionLoad</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1674">getRegionLoad</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
                                                                                                          org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest&nbsp;request)
                                                                                                   throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException</pre>
 <dl>
@@ -1825,7 +1838,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>clearCompactionQueues</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1685">clearCompactionQueues</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1702">clearCompactionQueues</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
                                                                                                                          org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesRequest&nbsp;request)
                                                                                                                   throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException</pre>
 <dl>
@@ -1842,7 +1855,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getServerInfo</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1730">getServerInfo</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1747">getServerInfo</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
                                                                                                          org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoRequest&nbsp;request)
                                                                                                   throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException</pre>
 <div class="block">Get some information of the region server.</div>
@@ -1863,7 +1876,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>getStoreFile</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1744">getStoreFile</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1761">getStoreFile</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
                                                                                                        org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileRequest&nbsp;request)
                                                                                                 throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException</pre>
 <dl>
@@ -1880,7 +1893,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>openRegion</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1795">openRegion</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1812">openRegion</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
                                                                                                    org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest&nbsp;request)
                                                                                             throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException</pre>
 <div class="block">Open asynchronously a region or a set of regions on the region server.
@@ -1918,7 +1931,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>warmupRegion</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1963">warmupRegion</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html#line.1980">warmupRegion</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController&nbsp;controller,
                                                                                                        org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionRequest&nbsp;request)
                                                                                                 throws org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException</pre>
 <div class="block">Wamrmup a region on this server.
@@ -1943,7 +1956,7 @@ private static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java
 <ul class="blockList">
 <li class="blockList">
 <h4>replay</h4>
-<pre>public&nbsp;org.apache.had

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.CallCleanup.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.CallCleanup.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.CallCleanup.html
index be47cd3..5bf8c01 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.CallCleanup.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.CallCleanup.html
@@ -38,763 +38,770 @@
 <span class="sourceLineNo">030</span>import java.nio.channels.ReadableByteChannel;<a name="line.30"></a>
 <span class="sourceLineNo">031</span>import java.nio.channels.WritableByteChannel;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import java.util.ArrayList;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.HashMap;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.List;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.Map;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.concurrent.atomic.LongAdder;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.commons.logging.Log;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.commons.logging.LogFactory;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.conf.Configuration;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.CallQueueTooBigException;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.HConstants;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.Server;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.exceptions.RequestTooBigException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.io.ByteBufferPool;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.nio.MultiByteBuff;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.nio.SingleByteBuff;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.security.User;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.security.token.AuthenticationTokenSecretManager;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.MethodDescriptor;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.security.authorize.AuthorizationException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.security.authorize.PolicyProvider;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.security.authorize.ServiceAuthorizationManager;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.security.token.SecretManager;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.codehaus.jackson.map.ObjectMapper;<a name="line.77"></a>
-<span class="sourceLineNo">078</span><a name="line.78"></a>
-<span class="sourceLineNo">079</span>/**<a name="line.79"></a>
-<span class="sourceLineNo">080</span> * An RPC server that hosts protobuf described Services.<a name="line.80"></a>
-<span class="sourceLineNo">081</span> *<a name="line.81"></a>
-<span class="sourceLineNo">082</span> */<a name="line.82"></a>
-<span class="sourceLineNo">083</span>@InterfaceAudience.LimitedPrivate({HBaseInterfaceAudience.COPROC, HBaseInterfaceAudience.PHOENIX})<a name="line.83"></a>
-<span class="sourceLineNo">084</span>@InterfaceStability.Evolving<a name="line.84"></a>
-<span class="sourceLineNo">085</span>public abstract class RpcServer implements RpcServerInterface,<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    ConfigurationObserver {<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  // LOG is being used in CallRunner and the log level is being changed in tests<a name="line.87"></a>
-<span class="sourceLineNo">088</span>  public static final Log LOG = LogFactory.getLog(RpcServer.class);<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  protected static final CallQueueTooBigException CALL_QUEUE_TOO_BIG_EXCEPTION<a name="line.89"></a>
-<span class="sourceLineNo">090</span>      = new CallQueueTooBigException();<a name="line.90"></a>
-<span class="sourceLineNo">091</span><a name="line.91"></a>
-<span class="sourceLineNo">092</span>  private final boolean authorize;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  protected boolean isSecurityEnabled;<a name="line.93"></a>
+<span class="sourceLineNo">033</span>import java.util.Collections;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.HashMap;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.List;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.Locale;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.Map;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.concurrent.atomic.LongAdder;<a name="line.38"></a>
+<span class="sourceLineNo">039</span><a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.commons.logging.Log;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.commons.logging.LogFactory;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.conf.Configuration;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.CallQueueTooBigException;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.HBaseInterfaceAudience;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.HConstants;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.Server;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.classification.InterfaceStability;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.exceptions.RequestTooBigException;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.io.ByteBufferPool;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.monitoring.TaskMonitor;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.nio.MultiByteBuff;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.nio.SingleByteBuff;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.regionserver.RSRpcServices;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.security.SaslUtil;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.security.SaslUtil.QualityOfProtection;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.security.User;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.security.UserProvider;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.security.token.AuthenticationTokenSecretManager;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.MethodDescriptor;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.security.authorize.AuthorizationException;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.security.authorize.PolicyProvider;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.security.authorize.ServiceAuthorizationManager;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.security.token.SecretManager;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.codehaus.jackson.map.ObjectMapper;<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>/**<a name="line.82"></a>
+<span class="sourceLineNo">083</span> * An RPC server that hosts protobuf described Services.<a name="line.83"></a>
+<span class="sourceLineNo">084</span> *<a name="line.84"></a>
+<span class="sourceLineNo">085</span> */<a name="line.85"></a>
+<span class="sourceLineNo">086</span>@InterfaceAudience.LimitedPrivate({HBaseInterfaceAudience.COPROC, HBaseInterfaceAudience.PHOENIX})<a name="line.86"></a>
+<span class="sourceLineNo">087</span>@InterfaceStability.Evolving<a name="line.87"></a>
+<span class="sourceLineNo">088</span>public abstract class RpcServer implements RpcServerInterface,<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    ConfigurationObserver {<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  // LOG is being used in CallRunner and the log level is being changed in tests<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  public static final Log LOG = LogFactory.getLog(RpcServer.class);<a name="line.91"></a>
+<span class="sourceLineNo">092</span>  protected static final CallQueueTooBigException CALL_QUEUE_TOO_BIG_EXCEPTION<a name="line.92"></a>
+<span class="sourceLineNo">093</span>      = new CallQueueTooBigException();<a name="line.93"></a>
 <span class="sourceLineNo">094</span><a name="line.94"></a>
-<span class="sourceLineNo">095</span>  public static final byte CURRENT_VERSION = 0;<a name="line.95"></a>
-<span class="sourceLineNo">096</span><a name="line.96"></a>
-<span class="sourceLineNo">097</span>  /**<a name="line.97"></a>
-<span class="sourceLineNo">098</span>   * Whether we allow a fallback to SIMPLE auth for insecure clients when security is enabled.<a name="line.98"></a>
-<span class="sourceLineNo">099</span>   */<a name="line.99"></a>
-<span class="sourceLineNo">100</span>  public static final String FALLBACK_TO_INSECURE_CLIENT_AUTH =<a name="line.100"></a>
-<span class="sourceLineNo">101</span>          "hbase.ipc.server.fallback-to-simple-auth-allowed";<a name="line.101"></a>
-<span class="sourceLineNo">102</span><a name="line.102"></a>
-<span class="sourceLineNo">103</span>  /**<a name="line.103"></a>
-<span class="sourceLineNo">104</span>   * How many calls/handler are allowed in the queue.<a name="line.104"></a>
-<span class="sourceLineNo">105</span>   */<a name="line.105"></a>
-<span class="sourceLineNo">106</span>  protected static final int DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER = 10;<a name="line.106"></a>
-<span class="sourceLineNo">107</span><a name="line.107"></a>
-<span class="sourceLineNo">108</span>  protected final CellBlockBuilder cellBlockBuilder;<a name="line.108"></a>
-<span class="sourceLineNo">109</span><a name="line.109"></a>
-<span class="sourceLineNo">110</span>  protected static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  protected static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  protected static final Log AUDITLOG = LogFactory.getLog("SecurityLogger."<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      + Server.class.getName());<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  protected ServiceAuthorizationManager authManager;<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.117"></a>
-<span class="sourceLineNo">118</span>   * after the call returns.<a name="line.118"></a>
-<span class="sourceLineNo">119</span>   */<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  protected static final ThreadLocal&lt;RpcCall&gt; CurCall = new ThreadLocal&lt;&gt;();<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  protected static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC = new ThreadLocal&lt;&gt;();<a name="line.123"></a>
-<span class="sourceLineNo">124</span><a name="line.124"></a>
-<span class="sourceLineNo">125</span>  protected final InetSocketAddress bindAddress;<a name="line.125"></a>
-<span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span>  protected MetricsHBaseServer metrics;<a name="line.127"></a>
+<span class="sourceLineNo">095</span>  private final boolean authorize;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  protected boolean isSecurityEnabled;<a name="line.96"></a>
+<span class="sourceLineNo">097</span><a name="line.97"></a>
+<span class="sourceLineNo">098</span>  public static final byte CURRENT_VERSION = 0;<a name="line.98"></a>
+<span class="sourceLineNo">099</span><a name="line.99"></a>
+<span class="sourceLineNo">100</span>  /**<a name="line.100"></a>
+<span class="sourceLineNo">101</span>   * Whether we allow a fallback to SIMPLE auth for insecure clients when security is enabled.<a name="line.101"></a>
+<span class="sourceLineNo">102</span>   */<a name="line.102"></a>
+<span class="sourceLineNo">103</span>  public static final String FALLBACK_TO_INSECURE_CLIENT_AUTH =<a name="line.103"></a>
+<span class="sourceLineNo">104</span>          "hbase.ipc.server.fallback-to-simple-auth-allowed";<a name="line.104"></a>
+<span class="sourceLineNo">105</span><a name="line.105"></a>
+<span class="sourceLineNo">106</span>  /**<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * How many calls/handler are allowed in the queue.<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   */<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  protected static final int DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER = 10;<a name="line.109"></a>
+<span class="sourceLineNo">110</span><a name="line.110"></a>
+<span class="sourceLineNo">111</span>  protected final CellBlockBuilder cellBlockBuilder;<a name="line.111"></a>
+<span class="sourceLineNo">112</span><a name="line.112"></a>
+<span class="sourceLineNo">113</span>  protected static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  protected static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  protected static final Log AUDITLOG = LogFactory.getLog("SecurityLogger."<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      + Server.class.getName());<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  protected final Map&lt;String, String&gt; saslProps;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  protected ServiceAuthorizationManager authManager;<a name="line.119"></a>
+<span class="sourceLineNo">120</span><a name="line.120"></a>
+<span class="sourceLineNo">121</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.121"></a>
+<span class="sourceLineNo">122</span>   * after the call returns.<a name="line.122"></a>
+<span class="sourceLineNo">123</span>   */<a name="line.123"></a>
+<span class="sourceLineNo">124</span>  protected static final ThreadLocal&lt;RpcCall&gt; CurCall = new ThreadLocal&lt;&gt;();<a name="line.124"></a>
+<span class="sourceLineNo">125</span><a name="line.125"></a>
+<span class="sourceLineNo">126</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.126"></a>
+<span class="sourceLineNo">127</span>  protected static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC = new ThreadLocal&lt;&gt;();<a name="line.127"></a>
 <span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>  protected final Configuration conf;<a name="line.129"></a>
+<span class="sourceLineNo">129</span>  protected final InetSocketAddress bindAddress;<a name="line.129"></a>
 <span class="sourceLineNo">130</span><a name="line.130"></a>
-<span class="sourceLineNo">131</span>  /**<a name="line.131"></a>
-<span class="sourceLineNo">132</span>   * Maximum size in bytes of the currently queued and running Calls. If a new Call puts us over<a name="line.132"></a>
-<span class="sourceLineNo">133</span>   * this size, then we will reject the call (after parsing it though). It will go back to the<a name="line.133"></a>
-<span class="sourceLineNo">134</span>   * client and client will retry. Set this size with "hbase.ipc.server.max.callqueue.size". The<a name="line.134"></a>
-<span class="sourceLineNo">135</span>   * call queue size gets incremented after we parse a call and before we add it to the queue of<a name="line.135"></a>
-<span class="sourceLineNo">136</span>   * calls for the scheduler to use. It get decremented after we have 'run' the Call. The current<a name="line.136"></a>
-<span class="sourceLineNo">137</span>   * size is kept in {@link #callQueueSizeInBytes}.<a name="line.137"></a>
-<span class="sourceLineNo">138</span>   * @see #callQueueSizeInBytes<a name="line.138"></a>
-<span class="sourceLineNo">139</span>   * @see #DEFAULT_MAX_CALLQUEUE_SIZE<a name="line.139"></a>
-<span class="sourceLineNo">140</span>   */<a name="line.140"></a>
-<span class="sourceLineNo">141</span>  protected final long maxQueueSizeInBytes;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>  protected static final int DEFAULT_MAX_CALLQUEUE_SIZE = 1024 * 1024 * 1024;<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>   * This is a running count of the size in bytes of all outstanding calls whether currently<a name="line.145"></a>
-<span class="sourceLineNo">146</span>   * executing or queued waiting to be run.<a name="line.146"></a>
-<span class="sourceLineNo">147</span>   */<a name="line.147"></a>
-<span class="sourceLineNo">148</span>  protected final LongAdder callQueueSizeInBytes = new LongAdder();<a name="line.148"></a>
-<span class="sourceLineNo">149</span><a name="line.149"></a>
-<span class="sourceLineNo">150</span>  protected final boolean tcpNoDelay; // if T then disable Nagle's Algorithm<a name="line.150"></a>
-<span class="sourceLineNo">151</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.151"></a>
-<span class="sourceLineNo">152</span><a name="line.152"></a>
-<span class="sourceLineNo">153</span>  /**<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.154"></a>
-<span class="sourceLineNo">155</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.155"></a>
-<span class="sourceLineNo">156</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.156"></a>
-<span class="sourceLineNo">157</span>   */<a name="line.157"></a>
-<span class="sourceLineNo">158</span>  volatile boolean running = true;<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>  /**<a name="line.160"></a>
-<span class="sourceLineNo">161</span>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.161"></a>
-<span class="sourceLineNo">162</span>   * for business by the call to {@link #start()}.<a name="line.162"></a>
-<span class="sourceLineNo">163</span>   */<a name="line.163"></a>
-<span class="sourceLineNo">164</span>  volatile boolean started = false;<a name="line.164"></a>
-<span class="sourceLineNo">165</span><a name="line.165"></a>
-<span class="sourceLineNo">166</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.166"></a>
-<span class="sourceLineNo">167</span><a name="line.167"></a>
-<span class="sourceLineNo">168</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.168"></a>
+<span class="sourceLineNo">131</span>  protected MetricsHBaseServer metrics;<a name="line.131"></a>
+<span class="sourceLineNo">132</span><a name="line.132"></a>
+<span class="sourceLineNo">133</span>  protected final Configuration conf;<a name="line.133"></a>
+<span class="sourceLineNo">134</span><a name="line.134"></a>
+<span class="sourceLineNo">135</span>  /**<a name="line.135"></a>
+<span class="sourceLineNo">136</span>   * Maximum size in bytes of the currently queued and running Calls. If a new Call puts us over<a name="line.136"></a>
+<span class="sourceLineNo">137</span>   * this size, then we will reject the call (after parsing it though). It will go back to the<a name="line.137"></a>
+<span class="sourceLineNo">138</span>   * client and client will retry. Set this size with "hbase.ipc.server.max.callqueue.size". The<a name="line.138"></a>
+<span class="sourceLineNo">139</span>   * call queue size gets incremented after we parse a call and before we add it to the queue of<a name="line.139"></a>
+<span class="sourceLineNo">140</span>   * calls for the scheduler to use. It get decremented after we have 'run' the Call. The current<a name="line.140"></a>
+<span class="sourceLineNo">141</span>   * size is kept in {@link #callQueueSizeInBytes}.<a name="line.141"></a>
+<span class="sourceLineNo">142</span>   * @see #callQueueSizeInBytes<a name="line.142"></a>
+<span class="sourceLineNo">143</span>   * @see #DEFAULT_MAX_CALLQUEUE_SIZE<a name="line.143"></a>
+<span class="sourceLineNo">144</span>   */<a name="line.144"></a>
+<span class="sourceLineNo">145</span>  protected final long maxQueueSizeInBytes;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>  protected static final int DEFAULT_MAX_CALLQUEUE_SIZE = 1024 * 1024 * 1024;<a name="line.146"></a>
+<span class="sourceLineNo">147</span><a name="line.147"></a>
+<span class="sourceLineNo">148</span>  /**<a name="line.148"></a>
+<span class="sourceLineNo">149</span>   * This is a running count of the size in bytes of all outstanding calls whether currently<a name="line.149"></a>
+<span class="sourceLineNo">150</span>   * executing or queued waiting to be run.<a name="line.150"></a>
+<span class="sourceLineNo">151</span>   */<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  protected final LongAdder callQueueSizeInBytes = new LongAdder();<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>  protected final boolean tcpNoDelay; // if T then disable Nagle's Algorithm<a name="line.154"></a>
+<span class="sourceLineNo">155</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<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>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.158"></a>
+<span class="sourceLineNo">159</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.159"></a>
+<span class="sourceLineNo">160</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.160"></a>
+<span class="sourceLineNo">161</span>   */<a name="line.161"></a>
+<span class="sourceLineNo">162</span>  volatile boolean running = true;<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>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.165"></a>
+<span class="sourceLineNo">166</span>   * for business by the call to {@link #start()}.<a name="line.166"></a>
+<span class="sourceLineNo">167</span>   */<a name="line.167"></a>
+<span class="sourceLineNo">168</span>  volatile boolean started = false;<a name="line.168"></a>
 <span class="sourceLineNo">169</span><a name="line.169"></a>
-<span class="sourceLineNo">170</span>  protected static final String MAX_REQUEST_SIZE = "hbase.ipc.max.request.size";<a name="line.170"></a>
-<span class="sourceLineNo">171</span>  protected static final RequestTooBigException REQUEST_TOO_BIG_EXCEPTION =<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      new RequestTooBigException();<a name="line.172"></a>
+<span class="sourceLineNo">170</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.170"></a>
+<span class="sourceLineNo">171</span><a name="line.171"></a>
+<span class="sourceLineNo">172</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.172"></a>
 <span class="sourceLineNo">173</span><a name="line.173"></a>
-<span class="sourceLineNo">174</span>  protected static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.174"></a>
-<span class="sourceLineNo">175</span>  protected static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<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>   * Minimum allowable timeout (in milliseconds) in rpc request's header. This<a name="line.178"></a>
-<span class="sourceLineNo">179</span>   * configuration exists to prevent the rpc service regarding this request as timeout immediately.<a name="line.179"></a>
-<span class="sourceLineNo">180</span>   */<a name="line.180"></a>
-<span class="sourceLineNo">181</span>  protected static final String MIN_CLIENT_REQUEST_TIMEOUT = "hbase.ipc.min.client.request.timeout";<a name="line.181"></a>
-<span class="sourceLineNo">182</span>  protected static final int DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT = 20;<a name="line.182"></a>
-<span class="sourceLineNo">183</span><a name="line.183"></a>
-<span class="sourceLineNo">184</span>  /** Default value for above params */<a name="line.184"></a>
-<span class="sourceLineNo">185</span>  protected static final int DEFAULT_MAX_REQUEST_SIZE = DEFAULT_MAX_CALLQUEUE_SIZE / 4; // 256M<a name="line.185"></a>
-<span class="sourceLineNo">186</span>  protected static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.186"></a>
-<span class="sourceLineNo">187</span>  protected static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.187"></a>
-<span class="sourceLineNo">188</span><a name="line.188"></a>
-<span class="sourceLineNo">189</span>  protected static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.189"></a>
-<span class="sourceLineNo">190</span><a name="line.190"></a>
-<span class="sourceLineNo">191</span>  protected final int maxRequestSize;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>  protected final int warnResponseTime;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>  protected final int warnResponseSize;<a name="line.193"></a>
+<span class="sourceLineNo">174</span>  protected static final String MAX_REQUEST_SIZE = "hbase.ipc.max.request.size";<a name="line.174"></a>
+<span class="sourceLineNo">175</span>  protected static final RequestTooBigException REQUEST_TOO_BIG_EXCEPTION =<a name="line.175"></a>
+<span class="sourceLineNo">176</span>      new RequestTooBigException();<a name="line.176"></a>
+<span class="sourceLineNo">177</span><a name="line.177"></a>
+<span class="sourceLineNo">178</span>  protected static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.178"></a>
+<span class="sourceLineNo">179</span>  protected static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.179"></a>
+<span class="sourceLineNo">180</span><a name="line.180"></a>
+<span class="sourceLineNo">181</span>  /**<a name="line.181"></a>
+<span class="sourceLineNo">182</span>   * Minimum allowable timeout (in milliseconds) in rpc request's header. This<a name="line.182"></a>
+<span class="sourceLineNo">183</span>   * configuration exists to prevent the rpc service regarding this request as timeout immediately.<a name="line.183"></a>
+<span class="sourceLineNo">184</span>   */<a name="line.184"></a>
+<span class="sourceLineNo">185</span>  protected static final String MIN_CLIENT_REQUEST_TIMEOUT = "hbase.ipc.min.client.request.timeout";<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  protected static final int DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT = 20;<a name="line.186"></a>
+<span class="sourceLineNo">187</span><a name="line.187"></a>
+<span class="sourceLineNo">188</span>  /** Default value for above params */<a name="line.188"></a>
+<span class="sourceLineNo">189</span>  protected static final int DEFAULT_MAX_REQUEST_SIZE = DEFAULT_MAX_CALLQUEUE_SIZE / 4; // 256M<a name="line.189"></a>
+<span class="sourceLineNo">190</span>  protected static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  protected static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.191"></a>
+<span class="sourceLineNo">192</span><a name="line.192"></a>
+<span class="sourceLineNo">193</span>  protected static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.193"></a>
 <span class="sourceLineNo">194</span><a name="line.194"></a>
-<span class="sourceLineNo">195</span>  protected final int minClientRequestTimeout;<a name="line.195"></a>
-<span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  protected final Server server;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  protected final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>  protected final RpcScheduler scheduler;<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>  protected UserProvider userProvider;<a name="line.202"></a>
+<span class="sourceLineNo">195</span>  protected final int maxRequestSize;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>  protected final int warnResponseTime;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>  protected final int warnResponseSize;<a name="line.197"></a>
+<span class="sourceLineNo">198</span><a name="line.198"></a>
+<span class="sourceLineNo">199</span>  protected final int minClientRequestTimeout;<a name="line.199"></a>
+<span class="sourceLineNo">200</span><a name="line.200"></a>
+<span class="sourceLineNo">201</span>  protected final Server server;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>  protected final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.202"></a>
 <span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  protected final ByteBufferPool reservoir;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>  // The requests and response will use buffers from ByteBufferPool, when the size of the<a name="line.205"></a>
-<span class="sourceLineNo">206</span>  // request/response is at least this size.<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  // We make this to be 1/6th of the pool buffer size.<a name="line.207"></a>
-<span class="sourceLineNo">208</span>  protected final int minSizeForReservoirUse;<a name="line.208"></a>
-<span class="sourceLineNo">209</span><a name="line.209"></a>
-<span class="sourceLineNo">210</span>  protected volatile boolean allowFallbackToSimpleAuth;<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>   * Used to get details for scan with a scanner_id&lt;br/&gt;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>   * TODO try to figure out a better way and remove reference from regionserver package later.<a name="line.214"></a>
-<span class="sourceLineNo">215</span>   */<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  private RSRpcServices rsRpcServices;<a name="line.216"></a>
-<span class="sourceLineNo">217</span><a name="line.217"></a>
-<span class="sourceLineNo">218</span>  @FunctionalInterface<a name="line.218"></a>
-<span class="sourceLineNo">219</span>  protected static interface CallCleanup {<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    void run();<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  }<a name="line.221"></a>
-<span class="sourceLineNo">222</span><a name="line.222"></a>
-<span class="sourceLineNo">223</span>  /**<a name="line.223"></a>
-<span class="sourceLineNo">224</span>   * Datastructure for passing a {@link BlockingService} and its associated class of<a name="line.224"></a>
-<span class="sourceLineNo">225</span>   * protobuf service interface.  For example, a server that fielded what is defined<a name="line.225"></a>
-<span class="sourceLineNo">226</span>   * in the client protobuf service would pass in an implementation of the client blocking service<a name="line.226"></a>
-<span class="sourceLineNo">227</span>   * and then its ClientService.BlockingInterface.class.  Used checking connection setup.<a name="line.227"></a>
-<span class="sourceLineNo">228</span>   */<a name="line.228"></a>
-<span class="sourceLineNo">229</span>  public static class BlockingServiceAndInterface {<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    private final BlockingService service;<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    private final Class&lt;?&gt; serviceInterface;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    public BlockingServiceAndInterface(final BlockingService service,<a name="line.232"></a>
-<span class="sourceLineNo">233</span>        final Class&lt;?&gt; serviceInterface) {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      this.service = service;<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      this.serviceInterface = serviceInterface;<a name="line.235"></a>
-<span class="sourceLineNo">236</span>    }<a name="line.236"></a>
-<span class="sourceLineNo">237</span>    public Class&lt;?&gt; getServiceInterface() {<a name="line.237"></a>
-<span class="sourceLineNo">238</span>      return this.serviceInterface;<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    }<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    public BlockingService getBlockingService() {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      return this.service;<a name="line.241"></a>
-<span class="sourceLineNo">242</span>    }<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  }<a name="line.243"></a>
-<span class="sourceLineNo">244</span><a name="line.244"></a>
-<span class="sourceLineNo">245</span>  /**<a name="line.245"></a>
-<span class="sourceLineNo">246</span>   * Constructs a server listening on the named port and address.<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * @param server hosting instance of {@link Server}. We will do authentications if an<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   * instance else pass null for no authentication check.<a name="line.248"></a>
-<span class="sourceLineNo">249</span>   * @param name Used keying this rpc servers' metrics and for naming the Listener thread.<a name="line.249"></a>
-<span class="sourceLineNo">250</span>   * @param services A list of services.<a name="line.250"></a>
-<span class="sourceLineNo">251</span>   * @param bindAddress Where to listen<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * @param conf<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   * @param scheduler<a name="line.253"></a>
-<span class="sourceLineNo">254</span>   */<a name="line.254"></a>
-<span class="sourceLineNo">255</span>  public RpcServer(final Server server, final String name,<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      final List&lt;BlockingServiceAndInterface&gt; services,<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      final InetSocketAddress bindAddress, Configuration conf,<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      RpcScheduler scheduler)<a name="line.258"></a>
-<span class="sourceLineNo">259</span>      throws IOException {<a name="line.259"></a>
-<span class="sourceLineNo">260</span>    if (conf.getBoolean("hbase.ipc.server.reservoir.enabled", true)) {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      int poolBufSize = conf.getInt(ByteBufferPool.BUFFER_SIZE_KEY,<a name="line.261"></a>
-<span class="sourceLineNo">262</span>          ByteBufferPool.DEFAULT_BUFFER_SIZE);<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      // The max number of buffers to be pooled in the ByteBufferPool. The default value been<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      // selected based on the #handlers configured. When it is read request, 2 MB is the max size<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      // at which we will send back one RPC request. Means max we need 2 MB for creating the<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      // response cell block. (Well it might be much lesser than this because in 2 MB size calc, we<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      // include the heap size overhead of each cells also.) Considering 2 MB, we will need<a name="line.267"></a>
-<span class="sourceLineNo">268</span>      // (2 * 1024 * 1024) / poolBufSize buffers to make the response cell block. Pool buffer size<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      // is by default 64 KB.<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      // In case of read request, at the end of the handler process, we will make the response<a name="line.270"></a>
-<span class="sourceLineNo">271</span>      // cellblock and add the Call to connection's response Q and a single Responder thread takes<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      // connections and responses from that one by one and do the socket write. So there is chances<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      // that by the time a handler originated response is actually done writing to socket and so<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      // released the BBs it used, the handler might have processed one more read req. On an avg 2x<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      // we consider and consider that also for the max buffers to pool<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      int bufsForTwoMB = (2 * 1024 * 1024) / poolBufSize;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      int maxPoolSize = conf.getInt(ByteBufferPool.MAX_POOL_SIZE_KEY,<a name="line.277"></a>
-<span class="sourceLineNo">278</span>          conf.getInt(HConstants.REGION_SERVER_HANDLER_COUNT,<a name="line.278"></a>
-<span class="sourceLineNo">279</span>              HConstants.DEFAULT_REGION_SERVER_HANDLER_COUNT) * bufsForTwoMB * 2);<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      this.reservoir = new ByteBufferPool(poolBufSize, maxPoolSize);<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      this.minSizeForReservoirUse = getMinSizeForReservoirUse(this.reservoir);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    } else {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      reservoir = null;<a name="line.283"></a>
-<span class="sourceLineNo">284</span>      this.minSizeForReservoirUse = Integer.MAX_VALUE;// reservoir itself not in place.<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    }<a name="line.285"></a>
-<span class="sourceLineNo">286</span>    this.server = server;<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    this.services = services;<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    this.bindAddress = bindAddress;<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    this.conf = conf;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>    // See declaration above for documentation on what this size is.<a name="line.290"></a>
-<span class="sourceLineNo">291</span>    this.maxQueueSizeInBytes =<a name="line.291"></a>
-<span class="sourceLineNo">292</span>      this.conf.getLong("hbase.ipc.server.max.callqueue.size", DEFAULT_MAX_CALLQUEUE_SIZE);<a name="line.292"></a>
-<span class="sourceLineNo">293</span><a name="line.293"></a>
-<span class="sourceLineNo">294</span>    this.warnResponseTime = conf.getInt(WARN_RESPONSE_TIME, DEFAULT_WARN_RESPONSE_TIME);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    this.warnResponseSize = conf.getInt(WARN_RESPONSE_SIZE, DEFAULT_WARN_RESPONSE_SIZE);<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    this.minClientRequestTimeout = conf.getInt(MIN_CLIENT_REQUEST_TIMEOUT,<a name="line.296"></a>
-<span class="sourceLineNo">297</span>        DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    this.maxRequestSize = conf.getInt(MAX_REQUEST_SIZE, DEFAULT_MAX_REQUEST_SIZE);<a name="line.298"></a>
-<span class="sourceLineNo">299</span><a name="line.299"></a>
-<span class="sourceLineNo">300</span>    this.metrics = new MetricsHBaseServer(name, new MetricsHBaseServerWrapperImpl(this));<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    this.tcpNoDelay = conf.getBoolean("hbase.ipc.server.tcpnodelay", true);<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    this.tcpKeepAlive = conf.getBoolean("hbase.ipc.server.tcpkeepalive", true);<a name="line.302"></a>
+<span class="sourceLineNo">204</span>  protected final RpcScheduler scheduler;<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected UserProvider userProvider;<a name="line.206"></a>
+<span class="sourceLineNo">207</span><a name="line.207"></a>
+<span class="sourceLineNo">208</span>  protected final ByteBufferPool reservoir;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  // The requests and response will use buffers from ByteBufferPool, when the size of the<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  // request/response is at least this size.<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  // We make this to be 1/6th of the pool buffer size.<a name="line.211"></a>
+<span class="sourceLineNo">212</span>  protected final int minSizeForReservoirUse;<a name="line.212"></a>
+<span class="sourceLineNo">213</span><a name="line.213"></a>
+<span class="sourceLineNo">214</span>  protected volatile boolean allowFallbackToSimpleAuth;<a name="line.214"></a>
+<span class="sourceLineNo">215</span><a name="line.215"></a>
+<span class="sourceLineNo">216</span>  /**<a name="line.216"></a>
+<span class="sourceLineNo">217</span>   * Used to get details for scan with a scanner_id&lt;br/&gt;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>   * TODO try to figure out a better way and remove reference from regionserver package later.<a name="line.218"></a>
+<span class="sourceLineNo">219</span>   */<a name="line.219"></a>
+<span class="sourceLineNo">220</span>  private RSRpcServices rsRpcServices;<a name="line.220"></a>
+<span class="sourceLineNo">221</span><a name="line.221"></a>
+<span class="sourceLineNo">222</span>  @FunctionalInterface<a name="line.222"></a>
+<span class="sourceLineNo">223</span>  protected static interface CallCleanup {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    void run();<a name="line.224"></a>
+<span class="sourceLineNo">225</span>  }<a name="line.225"></a>
+<span class="sourceLineNo">226</span><a name="line.226"></a>
+<span class="sourceLineNo">227</span>  /**<a name="line.227"></a>
+<span class="sourceLineNo">228</span>   * Datastructure for passing a {@link BlockingService} and its associated class of<a name="line.228"></a>
+<span class="sourceLineNo">229</span>   * protobuf service interface.  For example, a server that fielded what is defined<a name="line.229"></a>
+<span class="sourceLineNo">230</span>   * in the client protobuf service would pass in an implementation of the client blocking service<a name="line.230"></a>
+<span class="sourceLineNo">231</span>   * and then its ClientService.BlockingInterface.class.  Used checking connection setup.<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   */<a name="line.232"></a>
+<span class="sourceLineNo">233</span>  public static class BlockingServiceAndInterface {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    private final BlockingService service;<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    private final Class&lt;?&gt; serviceInterface;<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    public BlockingServiceAndInterface(final BlockingService service,<a name="line.236"></a>
+<span class="sourceLineNo">237</span>        final Class&lt;?&gt; serviceInterface) {<a name="line.237"></a>
+<span class="sourceLineNo">238</span>      this.service = service;<a name="line.238"></a>
+<span class="sourceLineNo">239</span>      this.serviceInterface = serviceInterface;<a name="line.239"></a>
+<span class="sourceLineNo">240</span>    }<a name="line.240"></a>
+<span class="sourceLineNo">241</span>    public Class&lt;?&gt; getServiceInterface() {<a name="line.241"></a>
+<span class="sourceLineNo">242</span>      return this.serviceInterface;<a name="line.242"></a>
+<span class="sourceLineNo">243</span>    }<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    public BlockingService getBlockingService() {<a name="line.244"></a>
+<span class="sourceLineNo">245</span>      return this.service;<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><a name="line.248"></a>
+<span class="sourceLineNo">249</span>  /**<a name="line.249"></a>
+<span class="sourceLineNo">250</span>   * Constructs a server listening on the named port and address.<a name="line.250"></a>
+<span class="sourceLineNo">251</span>   * @param server hosting instance of {@link Server}. We will do authentications if an<a name="line.251"></a>
+<span class="sourceLineNo">252</span>   * instance else pass null for no authentication check.<a name="line.252"></a>
+<span class="sourceLineNo">253</span>   * @param name Used keying this rpc servers' metrics and for naming the Listener thread.<a name="line.253"></a>
+<span class="sourceLineNo">254</span>   * @param services A list of services.<a name="line.254"></a>
+<span class="sourceLineNo">255</span>   * @param bindAddress Where to listen<a name="line.255"></a>
+<span class="sourceLineNo">256</span>   * @param conf<a name="line.256"></a>
+<span class="sourceLineNo">257</span>   * @param scheduler<a name="line.257"></a>
+<span class="sourceLineNo">258</span>   */<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  public RpcServer(final Server server, final String name,<a name="line.259"></a>
+<span class="sourceLineNo">260</span>      final List&lt;BlockingServiceAndInterface&gt; services,<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      final InetSocketAddress bindAddress, Configuration conf,<a name="line.261"></a>
+<span class="sourceLineNo">262</span>      RpcScheduler scheduler)<a name="line.262"></a>
+<span class="sourceLineNo">263</span>      throws IOException {<a name="line.263"></a>
+<span class="sourceLineNo">264</span>    if (conf.getBoolean("hbase.ipc.server.reservoir.enabled", true)) {<a name="line.264"></a>
+<span class="sourceLineNo">265</span>      int poolBufSize = conf.getInt(ByteBufferPool.BUFFER_SIZE_KEY,<a name="line.265"></a>
+<span class="sourceLineNo">266</span>          ByteBufferPool.DEFAULT_BUFFER_SIZE);<a name="line.266"></a>
+<span class="sourceLineNo">267</span>      // The max number of buffers to be pooled in the ByteBufferPool. The default value been<a name="line.267"></a>
+<span class="sourceLineNo">268</span>      // selected based on the #handlers configured. When it is read request, 2 MB is the max size<a name="line.268"></a>
+<span class="sourceLineNo">269</span>      // at which we will send back one RPC request. Means max we need 2 MB for creating the<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      // response cell block. (Well it might be much lesser than this because in 2 MB size calc, we<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      // include the heap size overhead of each cells also.) Considering 2 MB, we will need<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      // (2 * 1024 * 1024) / poolBufSize buffers to make the response cell block. Pool buffer size<a name="line.272"></a>
+<span class="sourceLineNo">273</span>      // is by default 64 KB.<a name="line.273"></a>
+<span class="sourceLineNo">274</span>      // In case of read request, at the end of the handler process, we will make the response<a name="line.274"></a>
+<span class="sourceLineNo">275</span>      // cellblock and add the Call to connection's response Q and a single Responder thread takes<a name="line.275"></a>
+<span class="sourceLineNo">276</span>      // connections and responses from that one by one and do the socket write. So there is chances<a name="line.276"></a>
+<span class="sourceLineNo">277</span>      // that by the time a handler originated response is actually done writing to socket and so<a name="line.277"></a>
+<span class="sourceLineNo">278</span>      // released the BBs it used, the handler might have processed one more read req. On an avg 2x<a name="line.278"></a>
+<span class="sourceLineNo">279</span>      // we consider and consider that also for the max buffers to pool<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      int bufsForTwoMB = (2 * 1024 * 1024) / poolBufSize;<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      int maxPoolSize = conf.getInt(ByteBufferPool.MAX_POOL_SIZE_KEY,<a name="line.281"></a>
+<span class="sourceLineNo">282</span>          conf.getInt(HConstants.REGION_SERVER_HANDLER_COUNT,<a name="line.282"></a>
+<span class="sourceLineNo">283</span>              HConstants.DEFAULT_REGION_SERVER_HANDLER_COUNT) * bufsForTwoMB * 2);<a name="line.283"></a>
+<span class="sourceLineNo">284</span>      this.reservoir = new ByteBufferPool(poolBufSize, maxPoolSize);<a name="line.284"></a>
+<span class="sourceLineNo">285</span>      this.minSizeForReservoirUse = getMinSizeForReservoirUse(this.reservoir);<a name="line.285"></a>
+<span class="sourceLineNo">286</span>    } else {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      reservoir = null;<a name="line.287"></a>
+<span class="sourceLineNo">288</span>      this.minSizeForReservoirUse = Integer.MAX_VALUE;// reservoir itself not in place.<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    }<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    this.server = server;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    this.services = services;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    this.bindAddress = bindAddress;<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    this.conf = conf;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    // See declaration above for documentation on what this size is.<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    this.maxQueueSizeInBytes =<a name="line.295"></a>
+<span class="sourceLineNo">296</span>      this.conf.getLong("hbase.ipc.server.max.callqueue.size", DEFAULT_MAX_CALLQUEUE_SIZE);<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span>    this.warnResponseTime = conf.getInt(WARN_RESPONSE_TIME, DEFAULT_WARN_RESPONSE_TIME);<a name="line.298"></a>
+<span class="sourceLineNo">299</span>    this.warnResponseSize = conf.getInt(WARN_RESPONSE_SIZE, DEFAULT_WARN_RESPONSE_SIZE);<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    this.minClientRequestTimeout = conf.getInt(MIN_CLIENT_REQUEST_TIMEOUT,<a name="line.300"></a>
+<span class="sourceLineNo">301</span>        DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT);<a name="line.301"></a>
+<span class="sourceLineNo">302</span>    this.maxRequestSize = conf.getInt(MAX_REQUEST_SIZE, DEFAULT_MAX_REQUEST_SIZE);<a name="line.302"></a>
 <span class="sourceLineNo">303</span><a name="line.303"></a>
-<span class="sourceLineNo">304</span>    this.cellBlockBuilder = new CellBlockBuilder(conf);<a name="line.304"></a>
-<span class="sourceLineNo">305</span><a name="line.305"></a>
-<span class="sourceLineNo">306</span>    this.authorize = conf.getBoolean(HADOOP_SECURITY_AUTHORIZATION, false);<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    this.userProvider = UserProvider.instantiate(conf);<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    this.isSecurityEnabled = userProvider.isHBaseSecurityEnabled();<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    if (isSecurityEnabled) {<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      HBaseSaslRpcServer.init(conf);<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>    this.scheduler = scheduler;<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>  @VisibleForTesting<a name="line.316"></a>
-<span class="sourceLineNo">317</span>  static int getMinSizeForReservoirUse(ByteBufferPool pool) {<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    return pool.getBufferSize() / 6;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>  }<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>  @Override<a name="line.321"></a>
-<span class="sourceLineNo">322</span>  public void onConfigurationChange(Configuration newConf) {<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    initReconfigurable(newConf);<a name="line.323"></a>
-<span class="sourceLineNo">324</span>    if (scheduler instanceof ConfigurationObserver) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      ((ConfigurationObserver) scheduler).onConfigurationChange(newConf);<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    }<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  protected void initReconfigurable(Configuration confToLoad) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>    this.allowFallbackToSimpleAuth = confToLoad.getBoolean(FALLBACK_TO_INSECURE_CLIENT_AUTH, false);<a name="line.330"></a>
-<span class="sourceLineNo">331</span>    if (isSecurityEnabled &amp;&amp; allowFallbackToSimpleAuth) {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      LOG.warn("********* WARNING! *********");<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      LOG.warn("This server is configured to allow connections from INSECURE clients");<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      LOG.warn("(" + FALLBACK_TO_INSECURE_CLIENT_AUTH + " = true).");<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      LOG.warn("While this option is enabled, client identities cannot be secured, and user");<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      LOG.warn("impersonation is possible!");<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      LOG.warn("For secure operation, please disable SIMPLE authentication as soon as possible,");<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      LOG.warn("by setting " + FALLBACK_TO_INSECURE_CLIENT_AUTH + " = false in hbase-site.xml");<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      LOG.warn("****************************");<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><a name="line.342"></a>
-<span class="sourceLineNo">343</span>  Configuration getConf() {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>    return conf;<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 boolean isStarted() {<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    return this.started;<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 synchronized void refreshAuthManager(PolicyProvider pp) {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    // Ignore warnings that this should be accessed in a static way instead of via an instance;<a name="line.354"></a>
-<span class="sourceLineNo">355</span>    // it'll break if you go via static route.<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    this.authManager.refresh(this.conf, pp);<a name="line.356"></a>
+<span class="sourceLineNo">304</span>    this.metrics = new MetricsHBaseServer(name, new MetricsHBaseServerWrapperImpl(this));<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    this.tcpNoDelay = conf.getBoolean("hbase.ipc.server.tcpnodelay", true);<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    this.tcpKeepAlive = conf.getBoolean("hbase.ipc.server.tcpkeepalive", true);<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>    this.cellBlockBuilder = new CellBlockBuilder(conf);<a name="line.308"></a>
+<span class="sourceLineNo">309</span><a name="line.309"></a>
+<span class="sourceLineNo">310</span>    this.authorize = conf.getBoolean(HADOOP_SECURITY_AUTHORIZATION, false);<a name="line.310"></a>
+<span class="sourceLineNo">311</span>    this.userProvider = UserProvider.instantiate(conf);<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    this.isSecurityEnabled = userProvider.isHBaseSecurityEnabled();<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    if (isSecurityEnabled) {<a name="line.313"></a>
+<span class="sourceLineNo">314</span>      saslProps = SaslUtil.initSaslProperties(conf.get("hbase.rpc.protection",<a name="line.314"></a>
+<span class="sourceLineNo">315</span>        QualityOfProtection.AUTHENTICATION.name().toLowerCase(Locale.ROOT)));<a name="line.315"></a>
+<span class="sourceLineNo">316</span>    } else {<a name="line.316"></a>
+<span class="sourceLineNo">317</span>      saslProps = Collections.emptyMap();<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    }<a name="line.318"></a>
+<span class="sourceLineNo">319</span><a name="line.319"></a>
+<span class="sourceLineNo">320</span>    this.scheduler = scheduler;<a name="line.320"></a>
+<span class="sourceLineNo">321</span>  }<a name="line.321"></a>
+<span class="sourceLineNo">322</span><a name="line.322"></a>
+<span class="sourceLineNo">323</span>  @VisibleForTesting<a name="line.323"></a>
+<span class="sourceLineNo">324</span>  static int getMinSizeForReservoirUse(ByteBufferPool pool) {<a name="line.324"></a>
+<span class="sourceLineNo">325</span>    return pool.getBufferSize() / 6;<a name="line.325"></a>
+<span class="sourceLineNo">326</span>  }<a name="line.326"></a>
+<span class="sourceLineNo">327</span><a name="line.327"></a>
+<span class="sourceLineNo">328</span>  @Override<a name="line.328"></a>
+<span class="sourceLineNo">329</span>  public void onConfigurationChange(Configuration newConf) {<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    initReconfigurable(newConf);<a name="line.330"></a>
+<span class="sourceLineNo">331</span>    if (scheduler instanceof ConfigurationObserver) {<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      ((ConfigurationObserver) scheduler).onConfigurationChange(newConf);<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    }<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  }<a name="line.334"></a>
+<span class="sourceLineNo">335</span><a name="line.335"></a>
+<span class="sourceLineNo">336</span>  protected void initReconfigurable(Configuration confToLoad) {<a name="line.336"></a>
+<span class="sourceLineNo">337</span>    this.allowFallbackToSimpleAuth = confToLoad.getBoolean(FALLBACK_TO_INSECURE_CLIENT_AUTH, false);<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    if (isSecurityEnabled &amp;&amp; allowFallbackToSimpleAuth) {<a name="line.338"></a>
+<span class="sourceLineNo">339</span>      LOG.warn("********* WARNING! *********");<a name="line.339"></a>
+<span class="sourceLineNo">340</span>      LOG.warn("This server is configured to allow connections from INSECURE clients");<a name="line.340"></a>
+<span class="sourceLineNo">341</span>      LOG.warn("(" + FALLBACK_TO_INSECURE_CLIENT_AUTH + " = true).");<a name="line.341"></a>
+<span class="sourceLineNo">342</span>      LOG.warn("While this option is enabled, client identities cannot be secured, and user");<a name="line.342"></a>
+<span class="sourceLineNo">343</span>      LOG.warn("impersonation is possible!");<a name="line.343"></a>
+<span class="sourceLineNo">344</span>      LOG.warn("For secure operation, please disable SIMPLE authentication as soon as possible,");<a name="line.344"></a>
+<span class="sourceLineNo">345</span>      LOG.warn("by setting " + FALLBACK_TO_INSECURE_CLIENT_AUTH + " = false in hbase-site.xml");<a name="line.345"></a>
+<span class="sourceLineNo">346</span>      LOG.warn("****************************");<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><a name="line.349"></a>
+<span class="sourceLineNo">350</span>  Configuration getConf() {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>    return conf;<a name="line.351"></a>
+<span class="sourceLineNo">352</span>  }<a name="line.352"></a>
+<span class="sourceLineNo">353</span><a name="line.353"></a>
+<span class="sourceLineNo">354</span>  @Override<a name="line.354"></a>
+<span class="sourceLineNo">355</span>  public boolean isStarted() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    return this.started;<a name="line.356"></a>
 <span class="sourceLineNo">357</span>  }<a name="line.357"></a>
 <span class="sourceLineNo">358</span><a name="line.358"></a>
-<span class="sourceLineNo">359</span>  protected AuthenticationTokenSecretManager createSecretManager() {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    if (!isSecurityEnabled) return null;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    if (server == null) return null;<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    Configuration conf = server.getConfiguration();<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    long keyUpdateInterval =<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        conf.getLong("hbase.auth.key.update.interval", 24*60*60*1000);<a name="line.364"></a>
-<span class="sourceLineNo">365</span>    long maxAge =<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        conf.getLong("hbase.auth.token.max.lifetime", 7*24*60*60*1000);<a name="line.366"></a>
-<span class="sourceLineNo">367</span>    return new AuthenticationTokenSecretManager(conf, server.getZooKeeper(),<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        server.getServerName().toString(), keyUpdateInterval, maxAge);<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>  public SecretManager&lt;? extends TokenIdentifier&gt; getSecretManager() {<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    return this.secretManager;<a name="line.372"></a>
-<span class="sourceLineNo">373</span>  }<a name="line.373"></a>
-<span class="sourceLineNo">374</span><a name="line.374"></a>
-<span class="sourceLineNo">375</span>  @SuppressWarnings("unchecked")<a name="line.375"></a>
-<span class="sourceLineNo">376</span>  public void setSecretManager(SecretManager&lt;? extends TokenIdentifier&gt; secretManager) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>    this.secretManager = (SecretManager&lt;TokenIdentifier&gt;) secretManager;<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>  /**<a name="line.380"></a>
-<span class="sourceLineNo">381</span>   * This is a server side method, which is invoked over RPC. On success<a name="line.381"></a>
-<span class="sourceLineNo">382</span>   * the return response has protobuf response payload. On failure, the<a name="line.382"></a>
-<span class="sourceLineNo">383</span>   * exception name and the stack trace are returned in the protobuf response.<a name="line.383"></a>
-<span class="sourceLineNo">384</span>   */<a name="line.384"></a>
-<span class="sourceLineNo">385</span>  @Override<a name="line.385"></a>
-<span class="sourceLineNo">386</span>  public Pair&lt;Message, CellScanner&gt; call(RpcCall call,<a name="line.386"></a>
-<span class="sourceLineNo">387</span>      MonitoredRPCHandler status) throws IOException {<a name="line.387"></a>
-<span class="sourceLineNo">388</span>    try {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>      MethodDescriptor md = call.getMethod();<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      Message param = call.getParam();<a name="line.390"></a>
-<span class="sourceLineNo">391</span>      status.setRPC(md.getName(), new Object[]{param},<a name="line.391"></a>
-<span class="sourceLineNo">392</span>        call.getReceiveTime());<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      // TODO: Review after we add in encoded data blocks.<a name="line.393"></a>
-<span class="sourceLineNo">394</span>      status.setRPCPacket(param);<a name="line.394"></a>
-<span class="sourceLineNo">395</span>      status.resume("Servicing call");<a name="line.395"></a>
-<span class="sourceLineNo">396</span>      //get an instance of the method arg type<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      HBaseRpcController controller = new HBaseRpcControllerImpl(call.getCellScanner());<a name="line.397"></a>
-<span class="sourceLineNo">398</span>      controller.setCallTimeout(call.getTimeout());<a name="line.398"></a>
-<span class="sourceLineNo">399</span>      Message result = call.getService().callBlockingMethod(md, controller, param);<a name="line.399"></a>
-<span class="sourceLineNo">400</span>      long receiveTime = call.getReceiveTime();<a name="line.400"></a>
-<span class="sourceLineNo">401</span>      long startTime = call.getStartTime();<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      long endTime = System.currentTimeMillis();<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      int processingTime = (int) (endTime - startTime);<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      int qTime = (int) (startTime - receiveTime);<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      int totalTime = (int) (endTime - receiveTime);<a name="line.405"></a>
-<span class="sourceLineNo">406</span>      if (LOG.isTraceEnabled()) {<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        LOG.trace(CurCall.get().toString() +<a name="line.407"></a>
-<span class="sourceLineNo">408</span>            ", response " + TextFormat.shortDebugString(result) +<a name="line.408"></a>
-<span class="sourceLineNo">409</span>            " queueTime: " + qTime +<a name="line.409"></a>
-<span class="sourceLineNo">410</span>            " processingTime: " + processingTime +<a name="line.410"></a>
-<span class="sourceLineNo">411</span>            " totalTime: " + totalTime);<a name="line.411"></a>
-<span class="sourceLineNo">412</span>      }<a name="line.412"></a>
-<span class="sourceLineNo">413</span>      // Use the raw request call size for now.<a name="line.413"></a>
-<span class="sourceLineNo">414</span>      long requestSize = call.getSize();<a name="line.414"></a>
-<span class="sourceLineNo">415</span>      long responseSize = result.getSerializedSize();<a name="line.415"></a>
-<span class="sourceLineNo">416</span>      if (call.isClientCellBlockSupported()) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        // Include the payload size in HBaseRpcController<a name="line.417"></a>
-<span class="sourceLineNo">418</span>        responseSize += call.getResponseCellSize();<a name="line.418"></a>
+<span class="sourceLineNo">359</span>  @Override<a name="line.359"></a>
+<span class="sourceLineNo">360</span>  public synchronized void refreshAuthManager(PolicyProvider pp) {<a name="line.360"></a>
+<span class="sourceLineNo">361</span>    // Ignore warnings that this should be accessed in a static way instead of via an instance;<a name="line.361"></a>
+<span class="sourceLineNo">362</span>    // it'll break if you go via static route.<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    this.authManager.refresh(this.conf, pp);<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span>  protected AuthenticationTokenSecretManager createSecretManager() {<a name="line.366"></a>
+<span class="sourceLineNo">367</span>    if (!isSecurityEnabled) return null;<a name="line.367"></a>
+<span class="sourceLineNo">368</span>    if (server == null) return null;<a name="line.368"></a>
+<span class="sourceLineNo">369</span>    Configuration conf = server.getConfiguration();<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    long keyUpdateInterval =<a name="line.370"></a>
+<span class="sourceLineNo">371</span>        conf.getLong("hbase.auth.key.update.interval", 24*60*60*1000);<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    long maxAge =<a name="line.372"></a>
+<span class="sourceLineNo">373</span>        conf.getLong("hbase.auth.token.max.lifetime", 7*24*60*60*1000);<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    return new AuthenticationTokenSecretManager(conf, server.getZooKeeper(),<a name="line.374"></a>
+<span class="sourceLineNo">375</span>        server.getServerName().toString(), keyUpdateInterval, maxAge);<a name="line.375"></a>
+<span class="sourceLineNo">376</span>  }<a name="line.376"></a>
+<span class="sourceLineNo">377</span><a name="line.377"></a>
+<span class="sourceLineNo">378</span>  public SecretManager&lt;? extends TokenIdentifier&gt; getSecretManager() {<a name="line.378"></a>
+<span class="sourceLineNo">379</span>    return this.secretManager;<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>  @SuppressWarnings("unchecked")<a name="line.382"></a>
+<span class="sourceLineNo">383</span>  public void setSecretManager(SecretManager&lt;? extends TokenIdentifier&gt; secretManager) {<a name="line.383"></a>
+<span class="sourceLineNo">384</span>    this.secretManager = (SecretManager&lt;TokenIdentifier&gt;) secretManager;<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>  /**<a name="line.387"></a>
+<span class="sourceLineNo">388</span>   * This is a server side method, which is invoked over RPC. On success<a name="line.388"></a>
+<span class="sourceLineNo">389</span>   * the return response has protobuf response payload. On failure, the<a name="line.389"></a>
+<span class="sourceLineNo">390</span>   * exception name and the stack trace are returned in the protobuf response.<a name="line.390"></a>
+<span class="sourceLineNo">391</span>   */<a name="line.391"></a>
+<span class="sourceLineNo">392</span>  @Override<a name="line.392"></a>
+<span class="sourceLineNo">393</span>  public Pair&lt;Message, CellScanner&gt; call(RpcCall call,<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      MonitoredRPCHandler status) throws IOException {<a name="line.394"></a>
+<span class="sourceLineNo">395</span>    try {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>      MethodDescriptor md = call.getMethod();<a name="line.396"></a>
+<span class="sourceLineNo">397</span>      Message param = call.getParam();<a name="line.397"></a>
+<span class="sourceLineNo">398</span>      status.setRPC(md.getName(), new Object[]{param},<a name="line.398"></a>
+<span class="sourceLineNo">399</span>        call.getReceiveTime());<a name="line.399"></a>
+<span class="sourceLineNo">400</span>      // TODO: Review after we add in encoded data blocks.<a name="line.400"></a>
+<span class="sourceLineNo">401</span>      status.setRPCPacket(param);<a name="line.401"></a>
+<span class="sourceLineNo">402</span>      status.resume("Servicing call");<a name="line.402"></a>
+<span class="sourceLineNo">403</span>      //get an instance of the method arg type<a name="line.403"></a>
+<span class="sourceLineNo">404</span>      HBaseRpcController controller = new HBaseRpcControllerImpl(call.getCellScanner());<a name="line.404"></a>
+<span class="sourceLineNo">405</span>      controller.setCallTimeout(call.getTimeout());<a name="line.405"></a>
+<span class="sourceLineNo">406</span>      Message result = call.getService().callBlockingMethod(md, controller, param);<a name="line.406"></a>
+<span class="sourceLineNo">407</span>      long receiveTime = call.getReceiveTime();<a name="line.407"></a>
+<span class="sourceLineNo">408</span>      long startTime = call.getStartTime();<a name="line.408"></a>
+<span class="sourceLineNo">409</span>      long endTime = System.currentTimeMillis();<a name="line.409"></a>
+<span class="sourceLineNo">410</span>      int processingTime = (int) (endTime - startTime);<a name="line.410"></a>
+<span class="sourceLineNo">411</span>      int qTime = (int) (startTime - receiveTime);<a name="line.411"></a>
+<span class="sourceLineNo">412</span>      int totalTime = (int) (endTime - receiveTime);<a name="line.412"></a>
+<span class="sourceLineNo">413</span>      if (LOG.isTraceEnabled()) {<a name="line.413"></a>
+<span class="sourceLineNo">414</span>        LOG.trace(CurCall.get().toString() +<a name="line.414"></a>
+<span class="sourceLineNo">415</span>            ", response " + TextFormat.shortDebugString(result) +<a name="line.415"></a>
+<span class="sourceLineNo">416</span>            " queueTime: " + qTime +<a name="line.416"></a>
+<span class="sourceLineNo">417</span>            " processingTime: " + processingTime +<a name="line.417"></a>
+<span class="sourceLineNo">418</span>            " totalTime: " + totalTime);<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>      metrics.dequeuedCall(qTime);<a name="line.421"></a>
-<span class="sourceLineNo">422</span>      metrics.processedCall(processingTime);<a name="line.422"></a>
-<span class="sourceLineNo">423</span>      metrics.totalCall(totalTime);<a name="line.423"></a>
-<span class="sourceLineNo">424</span>      metrics.receivedRequest(requestSize);<a name="line.424"></a>
-<span class="sourceLineNo">425</span>      metrics.sentResponse(responseSize);<a name="line.425"></a>
-<span class="sourceLineNo">426</span>      // log any RPC responses that are slower than the configured warn<a name="line.426"></a>
-<span class="sourceLineNo">427</span>      // response time or larger than configured warning size<a name="line.427"></a>
-<span class="sourceLineNo">428</span>      boolean tooSlow = (processingTime &gt; warnResponseTime &amp;&amp; warnResponseTime &gt; -1);<a name="line.428"></a>
-<span class="sourceLineNo">429</span>      boolean tooLarge = (responseSize &gt; warnResponseSize &amp;&amp; warnResponseSize &gt; -1);<a name="line.429"></a>
-<span class="sourceLineNo">430</span>      if (tooSlow || tooLarge) {<a name="line.430"></a>
-<span class="sourceLineNo">431</span>        // when tagging, we let TooLarge trump TooSmall to keep output simple<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        // note that large responses will often also be slow.<a name="line.432"></a>
-<span class="sourceLineNo">433</span>        logResponse(param,<a name="line.433"></a>
-<span class="sourceLineNo">434</span>            md.getName(), md.getName() + "(" + param.getClass().getName() + ")",<a name="line.434"></a>
-<span class="sourceLineNo">435</span>            (tooLarge ? "TooLarge" : "TooSlow"),<a name="line.435"></a>
-<span class="sourceLineNo">436</span>            status.getClient(), startTime, processingTime, qTime,<a name="line.436"></a>
-<span class="sourceLineNo">437</span>            responseSize);<a name="line.437"></a>
-<span class="sourceLineNo">438</span>      }<a name="line.438"></a>
-<span class="sourceLineNo">439</span>      return new Pair&lt;&gt;(result, controller.cellScanner());<a name="line.439"></a>
-<span class="sourceLineNo">440</span>    } catch (Throwable e) {<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      // The above callBlockingMethod will always return a SE.  Strip the SE wrapper before<a name="line.441"></a>
-<span class="sourceLineNo">442</span>      // putting it on the wire.  Its needed to adhere to the pb Service Interface but we don't<a name="line.442"></a>
-<span class="sourceLineNo">443</span>      // need to pass it over the wire.<a name="line.443"></a>
-<span class="sourceLineNo">444</span>      if (e instanceof ServiceException) {<a name="line.444"></a>
-<span class="sourceLineNo">445</span>        if (e.getCause() == null) {<a name="line.445"></a>
-<span class="sourceLineNo">446</span>          LOG.debug("Caught a ServiceException with null cause", e);<a name="line.446"></a>
-<span class="sourceLineNo">447</span>        } else {<a name="line.447"></a>
-<span class="sourceLineNo">448</span>          e = e.getCause();<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>      // increment the number of requests that were exceptions.<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      metrics.exception(e);<a name="line.453"></a>
-<span class="sourceLineNo">454</span><a name="line.454"></a>
-<span class="sourceLineNo">455</span>      if (e instanceof LinkageError) throw new DoNotRetryIOException(e);<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      if (e instanceof IOException) throw (IOException)e;<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      LOG.error("Unexpected throwable object ", e);<a name="line.457"></a>
-<span class="sourceLineNo">458</span>      throw new IOException(e.getMessage(), e);<a name="line.458"></a>
-<span class="sourceLineNo">459</span>    }<a name="line.459"></a>
-<span class="sourceLineNo">460</span>  }<a name="line.460"></a>
+<span class="sourceLineNo">420</span>      // Use the raw request call size for now.<a name="line.420"></a>
+<span class="sourceLineNo">421</span>      long requestSize = call.getSize();<a name="line.421"></a>
+<span class="sourceLineNo">422</span>      long responseSize = result.getSerializedSize();<a name="line.422"></a>
+<span class="sourceLineNo">423</span>      if (call.isClientCellBlockSupported()) {<a name="line.423"></a>
+<span class="sourceLineNo">424</span>        // Include the payload size in HBaseRpcController<a name="line.424"></a>
+<span class="sourceLineNo">425</span>        responseSize += call.getResponseCellSize();<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>      metrics.dequeuedCall(qTime);<a name="line.428"></a>
+<span class="sourceLineNo">429</span>      metrics.processedCall(processingTime);<a name="line.429"></a>
+<span class="sourceLineNo">430</span>      metrics.totalCall(totalTime);<a name="line.430"></a>
+<span class="sourceLineNo">431</span>      metrics.receivedRequest(requestSize);<a name="line.431"></a>
+<span class="sourceLineNo">432</span>      metrics.sentResponse(responseSize);<a name="line.432"></a>
+<span class="sourceLineNo">433</span>      // log any RPC responses that are slower than the configured warn<a name="line.433"></a>
+<span class="sourceLineNo">434</span>      // response time or larger than configured warning size<a name="line.434"></a>
+<span class="sourceLineNo">435</span>      boolean tooSlow = (processingTime &gt; warnResponseTime &amp;&amp; warnResponseTime &gt; -1);<a name="line.435"></a>
+<span class="sourceLineNo">436</span>      boolean tooLarge = (responseSize &gt; warnResponseSize &amp;&amp; warnResponseSize &gt; -1);<a name="line.436"></a>
+<span class="sourceLineNo">437</span>      if (tooSlow || tooLarge) {<a name="line.437"></a>
+<span class="sourceLineNo">438</span>        // when tagging, we let TooLarge trump TooSmall to keep output simple<a name="line.438"></a>
+<span class="sourceLineNo">439</span>        // note that large responses will often also be slow.<a name="line.439"></a>
+<span class="sourceLineNo">440</span>        logResponse(param,<a name="line.440"></a>
+<span class="sourceLineNo">441</span>            md.getName(), md.getName() + "(" + param.getClass().getName() + ")",<a name="line.441"></a>
+<span class="sourceLineNo">442</span>            (tooLarge ? "TooLarge" : "TooSlow"),<a name="line.442"></a>
+<span class="sourceLineNo">443</span>            status.getClient(), startTime, processingTime, qTime,<a name="line.443"></a>
+<span class="sourceLineNo">444</span>            responseSize);<a name="line.444"></a>
+<span class="sourceLineNo">445</span>      }<a name="line.445"></a>
+<span class="sourceLineNo">446</span>      return new Pair&lt;&gt;(result, controller.cellScanner());<a name="line.446"></a>
+<span class="sourceLineNo">447</span>    } catch (Throwable e) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>      // The above callBlockingMethod will alway

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html b/devapidocs/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html
index 51dce01..5c78545 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html
@@ -117,7 +117,8 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.92">ServerRpcConnection</a>
+<pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
+abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.87">ServerRpcConnection</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/io/Closeable.html?is-external=true" title="class or interface in java.io">Closeable</a></pre>
 <div class="block">Reads calls from a connection and queues them for handling.</div>
@@ -163,102 +164,98 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#addr">addr</a></span></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>private org.apache.hadoop.security.UserGroupInformation</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#attemptingUser">attemptingUser</a></span></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#authenticatedWithFallback">authenticatedWithFallback</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#authMethod">authMethod</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.CallCleanup.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServer.CallCleanup</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#callCleanup">callCleanup</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/codec/Codec.html" title="interface in org.apache.hadoop.hbase.codec">Codec</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#codec">codec</a></span></code>
 <div class="block">Codec the client asked use.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected org.apache.hadoop.io.compress.CompressionCodec</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#compressionCodec">compressionCodec</a></span></code>
 <div class="block">Compression codec the client asked us use.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#connectionHeader">connectionHeader</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#connectionHeaderRead">connectionHeaderRead</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/io/crypto/aes/CryptoAES.html" title="class in org.apache.hadoop.hbase.io.crypto.aes">CryptoAES</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#cryptoAES">cryptoAES</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>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></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#hostAddress">hostAddress</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#remotePort">remotePort</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#retryImmediatelySupported">retryImmediatelySupported</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#rpcServer">rpcServer</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#saslContextEstablished">saslContextEstablished</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>protected <a href="http://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslServer.html?is-external=true" title="class or interface in javax.security.sasl">SaslServer</a></code></td>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#saslServer">saslServer</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#service">service</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#skipInitialSaslHandshake">skipInitialSaslHandshake</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected org.apache.hadoop.security.UserGroupInformation</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#ugi">ugi</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#unwrappedData">unwrappedData</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#unwrappedDataLengthBuffer">unwrappedDataLengthBuffer</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#useCryptoAesWrap">useCryptoAesWrap</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <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/ipc/ServerRpcConnection.html#user">user</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#useSasl">useSasl</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#useWrap">useWrap</a></span></code>&nbsp;</td>
 </tr>
@@ -313,7 +310,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
           <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.CallCleanup.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServer.CallCleanup</a>&nbsp;reqCleanup)</code>&nbsp;</td>
 </tr>
 <tr id="i2" class="altColor">
-<td class="colFirst"><code>protected org.apache.hadoop.security.UserGroupInformation</code></td>
+<td class="colFirst"><code>private org.apache.hadoop.security.UserGroupInformation</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#createUser-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader-">createUser</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;head)</code>&nbsp;</td>
 </tr>
 <tr id="i3" class="rowColor">
@@ -343,7 +340,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#doRespond-org.apache.hadoop.hbase.ipc.RpcResponse-">doRespond</a></span>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcResponse.html" title="interface in org.apache.hadoop.hbase.ipc">RpcResponse</a>&nbsp;resp)</code>&nbsp;</td>
 </tr>
 <tr id="i8" class="altColor">
-<td class="colFirst"><code>protected org.apache.hadoop.security.UserGroupInformation</code></td>
+<td class="colFirst"><code>private org.apache.hadoop.security.UserGroupInformation</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getAuthorizedUgi-java.lang.String-">getAuthorizedUgi</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;authorizedId)</code>&nbsp;</td>
 </tr>
 <tr id="i9" class="rowColor">
@@ -356,7 +353,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
                 <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>&nbsp;e)</code>&nbsp;</td>
 </tr>
 <tr id="i11" class="rowColor">
-<td class="colFirst"><code>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></code></td>
+<td class="colFirst"><code>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></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getFatalConnectionString-int-byte-">getFatalConnectionString</a></span>(int&nbsp;version,
                         byte&nbsp;authByte)</code>&nbsp;</td>
 </tr>
@@ -411,13 +408,13 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#saslReadAndProcess-org.apache.hadoop.hbase.nio.ByteBuff-">saslReadAndProcess</a></span>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;saslToken)</code>&nbsp;</td>
 </tr>
 <tr id="i24" class="altColor">
-<td class="colFirst"><code>protected void</code></td>
+<td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#setupCellBlockCodecs-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader-">setupCellBlockCodecs</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;header)</code>
 <div class="block">Set up cell block codecs</div>
 </td>
 </tr>
 <tr id="i25" class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
+<td class="colFirst"><code>private void</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#setupCryptoCipher-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeaderResponse.Builder-">setupCryptoCipher</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;header,
                  org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeaderResponse.Builder&nbsp;chrBuilder)</code>
 <div class="block">Set up cipher for rpc encryption with Apache Commons Crypto</div>
@@ -462,7 +459,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcServer</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.94">rpcServer</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.89">rpcServer</a></pre>
 </li>
 </ul>
 <a name="connectionHeaderRead">
@@ -471,7 +468,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>connectionHeaderRead</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.96">connectionHeaderRead</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.91">connectionHeaderRead</a></pre>
 </li>
 </ul>
 <a name="callCleanup">
@@ -480,7 +477,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>callCleanup</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.CallCleanup.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServer.CallCleanup</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.98">callCleanup</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.CallCleanup.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServer.CallCleanup</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.93">callCleanup</a></pre>
 </li>
 </ul>
 <a name="hostAddress">
@@ -489,7 +486,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>hostAddress</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.102">hostAddress</a></pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.97">hostAddress</a></pre>
 </li>
 </ul>
 <a name="remotePort">
@@ -498,7 +495,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>remotePort</h4>
-<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.103">remotePort</a></pre>
+<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.98">remotePort</a></pre>
 </li>
 </ul>
 <a name="addr">
@@ -507,7 +504,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>addr</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.104">addr</a></pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.99">addr</a></pre>
 </li>
 </ul>
 <a name="connectionHeader">
@@ -516,7 +513,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>connectionHeader</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.105">connectionHeader</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.100">connectionHeader</a></pre>
 </li>
 </ul>
 <a name="codec">
@@ -525,7 +522,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>codec</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/codec/Codec.html" title="interface in org.apache.hadoop.hbase.codec">Codec</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.110">codec</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/codec/Codec.html" title="interface in org.apache.hadoop.hbase.codec">Codec</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.105">codec</a></pre>
 <div class="block">Codec the client asked use.</div>
 </li>
 </ul>
@@ -535,7 +532,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>compressionCodec</h4>
-<pre>protected&nbsp;org.apache.hadoop.io.compress.CompressionCodec <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.114">compressionCodec</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.io.compress.CompressionCodec <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.109">compressionCodec</a></pre>
 <div class="block">Compression codec the client asked us use.</div>
 </li>
 </ul>
@@ -545,7 +542,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>service</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.115">service</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.110">service</a></pre>
 </li>
 </ul>
 <a name="authMethod">
@@ -554,7 +551,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>authMethod</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.117">authMethod</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.112">authMethod</a></pre>
 </li>
 </ul>
 <a name="saslContextEstablished">
@@ -563,7 +560,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>saslContextEstablished</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.118">saslContextEstablished</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.113">saslContextEstablished</a></pre>
 </li>
 </ul>
 <a name="skipInitialSaslHandshake">
@@ -572,7 +569,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>skipInitialSaslHandshake</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.119">skipInitialSaslHandshake</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.114">skipInitialSaslHandshake</a></pre>
 </li>
 </ul>
 <a name="unwrappedData">
@@ -581,7 +578,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>unwrappedData</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.120">unwrappedData</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.115">unwrappedData</a></pre>
 </li>
 </ul>
 <a name="unwrappedDataLengthBuffer">
@@ -590,7 +587,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>unwrappedDataLengthBuffer</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.122">unwrappedDataLengthBuffer</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.117">unwrappedDataLengthBuffer</a></pre>
 </li>
 </ul>
 <a name="useSasl">
@@ -599,7 +596,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>useSasl</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.123">useSasl</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.118">useSasl</a></pre>
 </li>
 </ul>
 <a name="saslServer">
@@ -608,7 +605,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>saslServer</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslServer.html?is-external=true" title="class or interface in javax.security.sasl">SaslServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.124">saslServer</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.119">saslServer</a></pre>
 </li>
 </ul>
 <a name="cryptoAES">
@@ -617,7 +614,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>cryptoAES</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/crypto/aes/CryptoAES.html" title="class in org.apache.hadoop.hbase.io.crypto.aes">CryptoAES</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.125">cryptoAES</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/crypto/aes/CryptoAES.html" title="class in org.apache.hadoop.hbase.io.crypto.aes">CryptoAES</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.120">cryptoAES</a></pre>
 </li>
 </ul>
 <a name="useWrap">
@@ -626,7 +623,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>useWrap</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.126">useWrap</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.121">useWrap</a></pre>
 </li>
 </ul>
 <a name="useCryptoAesWrap">
@@ -635,7 +632,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>useCryptoAesWrap</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.127">useCryptoAesWrap</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.122">useCryptoAesWrap</a></pre>
 </li>
 </ul>
 <a name="authenticatedWithFallback">
@@ -644,7 +641,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>authenticatedWithFallback</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.130">authenticatedWithFallback</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.125">authenticatedWithFallback</a></pre>
 </li>
 </ul>
 <a name="retryImmediatelySupported">
@@ -653,16 +650,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>retryImmediatelySupported</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.132">retryImmediatelySupported</a></pre>
-</li>
-</ul>
-<a name="attemptingUser">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>attemptingUser</h4>
-<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.134">attemptingUser</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.127">retryImmediatelySupported</a></pre>
 </li>
 </ul>
 <a name="user">
@@ -671,7 +659,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>user</h4>
-<pre>protected&nbsp;<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/ipc/ServerRpcConnection.html#line.135">user</a></pre>
+<pre>protected&nbsp;<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/ipc/ServerRpcConnection.html#line.129">user</a></pre>
 </li>
 </ul>
 <a name="ugi">
@@ -680,7 +668,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ugi</h4>
-<pre>protected&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.136">ugi</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.130">ugi</a></pre>
 </li>
 </ul>
 </li>
@@ -697,7 +685,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ServerRpcConnection</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.138">ServerRpcConnection</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer</a>&nbsp;rpcServer)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.132">ServerRpcConnection</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer</a>&nbsp;rpcServer)</pre>
 </li>
 </ul>
 </li>
@@ -714,7 +702,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.144">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.138">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>&nbsp;in class&nbsp;<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>
@@ -727,7 +715,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getHostAddress</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.148">getHostAddress</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.142">getHostAddress</a>()</pre>
 </li>
 </ul>
 <a name="getHostInetAddress--">
@@ -736,7 +724,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getHostInetAddress</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.152">getHostInetAddress</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.146">getHostInetAddress</a>()</pre>
 </li>
 </ul>
 <a name="getRemotePort--">
@@ -745,7 +733,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getRemotePort</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.156">getRemotePort</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.150">getRemotePort</a>()</pre>
 </li>
 </ul>
 <a name="getVersionInfo--">
@@ -754,7 +742,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getVersionInfo</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.VersionInfo&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.160">getVersionInfo</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.VersionInfo&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.154">getVersionInfo</a>()</pre>
 </li>
 </ul>
 <a name="getFatalConnectionString-int-byte-">
@@ -763,8 +751,8 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getFatalConnectionString</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.167">getFatalConnectionString</a>(int&nbsp;version,
-                                          byte&nbsp;authByte)</pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.161">getFatalConnectionString</a>(int&nbsp;version,
+                                        byte&nbsp;authByte)</pre>
 </li>
 </ul>
 <a name="getAuthorizedUgi-java.lang.String-">
@@ -773,8 +761,8 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getAuthorizedUgi</h4>
-<pre>protected&nbsp;org.apache.hadoop.security.UserGroupInformation&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.173">getAuthorizedUgi</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>&nbsp;authorizedId)
-                                                                    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>
+<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.167">getAuthorizedUgi</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>&nbsp;authorizedId)
+                                                                  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>
@@ -787,8 +775,8 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>setupCellBlockCodecs</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.196">setupCellBlockCodecs</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;header)
-                             throws <a href="../../../../../org/apache/hadoop/hbase/ipc/FatalConnectionException.html" title="class in org.apache.hadoop.hbase.ipc">FatalConnectionException</a></pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.190">setupCellBlockCodecs</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;header)
+                           throws <a href="../../../../../org/apache/hadoop/hbase/ipc/FatalConnectionException.html" title="class in org.apache.hadoop.hbase.ipc">FatalConnectionException</a></pre>
 <div class="block">Set up cell block codecs</div>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -802,9 +790,9 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>setupCryptoCipher</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.221">setupCryptoCipher</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;header,
-                                 org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeaderResponse.Builder&nbsp;chrBuilder)
-                          throws <a href="../../../../../org/apache/hadoop/hbase/ipc/FatalConnectionException.html" title="class in org.apache.hadoop.hbase.ipc">FatalConnectionException</a></pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.215">setupCryptoCipher</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;header,
+                               org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeaderResponse.Builder&nbsp;chrBuilder)
+                        throws <a href="../../../../../org/apache/hadoop/hbase/ipc/FatalConnectionException.html" title="class in org.apache.hadoop.hbase.ipc">FatalConnectionException</a></pre>
 <div class="block">Set up cipher for rpc encryption with Apache Commons Crypto</div>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -818,7 +806,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getByteString</h4>
-<pre>private&nbsp;org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.287">getByteString</a>(byte[]&nbsp;bytes)</pre>
+<pre>private&nbsp;org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.281">getByteString</a>(byte[]&nbsp;bytes)</pre>
 </li>
 </ul>
 <a name="createUser-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader-">
@@ -827,7 +815,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>createUser</h4>
-<pre>protected&nbsp;org.apache.hadoop.security.UserGroupInformation&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.292">createUser</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;head)</pre>
+<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.286">createUser</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;head)</pre>
 </li>
 </ul>
 <a name="disposeSasl--">
@@ -836,7 +824,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>disposeSasl</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.319">disposeSasl</a>()</pre>
+<pre>protected final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.313">disposeSasl</a>()</pre>
 </li>
 </ul>
 <a name="doRawSaslReply-org.apache.hadoop.hbase.security.SaslStatus-org.apache.hadoop.io.Writable-java.lang.String-java.lang.String-">
@@ -845,7 +833,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>doRawSaslReply</h4>
-<pre>protected final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.333">doRawSaslReply</a>(<a href="../../../../../org/apache/hadoop/hbase/security/SaslStatus.html" title="enum in org.apache.hadoop.hbase.security">SaslStatus</a>&nbsp;status,
+<pre>protected final&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.323">doRawSaslReply</a>(<a href="../../../../../org/apache/hadoop/hbase/security/SaslStatus.html" title="enum in org.apache.hadoop.hbase.security">SaslStatus</a>&nbsp;status,
                                     org.apache.hadoop.io.Writable&nbsp;rv,
                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;errorClass,
                                     <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;error)
@@ -863,7 +851,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>saslReadAndProcess</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.352">saslReadAndProcess</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;saslToken)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.342">saslReadAndProcess</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;saslToken)
                         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>
@@ -879,7 +867,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>processUnwrappedData</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.465">processUnwrappedData</a>(byte[]&nbsp;inBuf)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.421">processUnwrappedData</a>(byte[]&nbsp;inBuf)
                            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>
@@ -895,7 +883,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>processOneRpc</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.502">processOneRpc</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;buf)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.458">processOneRpc</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;buf)
                    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>
@@ -911,7 +899,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>authorizeConnection</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.519">authorizeConnection</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.475">authorizeConnection</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>
@@ -925,7 +913,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>processConnectionHeader</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.543">processConnectionHeader</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;buf)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.499">processConnectionHeader</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;buf)
                               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>
@@ -939,7 +927,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>responseConnectionHeader</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.614">responseConnectionHeader</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeaderResponse.Builder&nbsp;chrBuilder)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.570">responseConnectionHeader</a>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeaderResponse.Builder&nbsp;chrBuilder)
                                throws <a href="../../../../../org/apache/hadoop/hbase/ipc/FatalConnectionException.html" title="class in org.apache.hadoop.hbase.ipc">FatalConnectionException</a></pre>
 <div class="block">Send the response for connection header</div>
 <dl>
@@ -954,7 +942,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>doRespond</h4>
-<pre>protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.638">doRespond</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcResponse.html" title="interface in org.apache.hadoop.hbase.ipc">RpcResponse</a>&nbsp;resp)
+<pre>protected abstract&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.594">doRespond</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcResponse.html" title="interface in org.apache.hadoop.hbase.ipc">RpcResponse</a>&nbsp;resp)
                            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>
@@ -968,7 +956,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>processRequest</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.647">processRequest</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;buf)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.603">processRequest</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;buf)
                        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>
@@ -987,7 +975,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>getErrorResponse</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcResponse.html" title="interface in org.apache.hadoop.hbase.ipc">RpcResponse</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.767">getErrorResponse</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>&nbsp;msg,
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcResponse.html" title="interface in org.apache.hadoop.hbase.ipc">RpcResponse</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.723">getErrorResponse</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>&nbsp;msg,
                                              <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>&nbsp;e)
                                       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>
@@ -1002,7 +990,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>doBadPreambleHandling</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.776">doBadPreambleHandling</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>&nbsp;msg)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.732">doBadPreambleHandling</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>&nbsp;msg)
                             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>
@@ -1016,7 +1004,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>doBadPreambleHandling</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.780">doBadPreambleHandling</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>&nbsp;msg,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.736">doBadPreambleHandling</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>&nbsp;msg,
                                    <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>&nbsp;e)
                             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>
@@ -1031,7 +1019,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>processPreamble</h4>
-<pre>protected final&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.785">processPreamble</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;preambleBuffer)
+<pre>protected final&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.741">processPreamble</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;preambleBuffer)
                                  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>
@@ -1045,7 +1033,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockList">
 <li class="blockList">
 <h4>isConnectionOpen</h4>
-<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.834">isConnectionOpen</a>()</pre>
+<pre>public abstract&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.790">isConnectionOpen</a>()</pre>
 </li>
 </ul>
 <a name="createCall-int-org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService-org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.MethodDescriptor-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader-org.apache.hadoop.hbase.shaded.com.google.protobuf.Message-org.apache.hadoop.hbase.CellScanner-long-org.apache.htrace.TraceInfo-java.net.InetAddress-int-org.apache.hadoop.hbase.ipc.RpcServer.CallCleanup-">
@@ -1054,7 +1042,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/java/io/Closeable.h
 <ul class="blockListLast">
 <li class="blockList">
 <h4>createCall</h4>
-<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/ServerCall.html" title="class in org.apache.hadoop.hbase.ipc">ServerCall</a>&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.836">createCall</a>(int&nbsp;id,
+<pre>public abstract&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/ServerCall.html" title="class in org.apache.hadoop.hbase.ipc">ServerCall</a>&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.792">createCall</a>(int&nbsp;id,
                                          org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService&nbsp;service,
                                          org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.MethodDescriptor&nbsp;md,
                                          org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader&nbsp;header,

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html b/devapidocs/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html
index e72a353..3a47124 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/SimpleRpcServer.html
@@ -232,7 +232,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html" titl
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#allowFallbackToSimpleAuth">allowFallbackToSimpleAuth</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#AUDITLOG">AUDITLOG</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#AUTH_FAILED_FOR">AUTH_FAILED_FOR</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#AUTH_SUCCESSFUL_FOR">AUTH_SUCCESSFUL_FOR</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#authManager">authManager</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#authTokenSecretMgr">authTokenSecretMgr</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#bindAddress">bindAddress</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#CALL_QUEUE_TOO_BIG_EXCEPTION">CALL_QUEUE_TOO_BIG_EXCEPTION</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#callQueueSizeInBytes">callQueueSizeInBytes</a>, <a hre
 f="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#cellBlockBuilder">cellBlockBuilder</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#conf">conf</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#CurCall">CurCall</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#CURRENT_VERSION">CURRENT_VERSION</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER">DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_MAX_CALLQUEUE_SIZE">DEFAULT_MAX_CALLQUEUE_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_MAX_REQUEST_SIZE">DEFAULT_MAX_REQUEST_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT">DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFA
 ULT_WARN_RESPONSE_SIZE">DEFAULT_WARN_RESPONSE_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_WARN_RESPONSE_TIME">DEFAULT_WARN_RESPONSE_TIME</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#errorHandler">errorHandler</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#FALLBACK_TO_INSECURE_CLIENT_AUTH">FALLBACK_TO_INSECURE_CLIENT_AUTH</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#isSecurityEnabled">isSecurityEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#LOG">LOG</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#MAPPER">MAPPER</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#MAX_REQUEST_SIZE">MAX_REQUEST_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#maxQueueSizeInBytes">maxQueueSizeInBytes</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#maxRequestSi
 ze">maxRequestSize</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#metrics">metrics</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#MIN_CLIENT_REQUEST_TIMEOUT">MIN_CLIENT_REQUEST_TIMEOUT</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#minClientRequestTimeout">minClientRequestTimeout</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#minSizeForReservoirUse">minSizeForReservoirUse</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#MONITORED_RPC">MONITORED_RPC</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#NIO_BUFFER_LIMIT">NIO_BUFFER_LIMIT</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#REQUEST_TOO_BIG_EXCEPTION">REQUEST_TOO_BIG_EXCEPTION</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#reservoir">reservoir</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#running">running</a>, <a
  href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#scheduler">scheduler</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#secretManager">secretManager</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#server">server</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#services">services</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#started">started</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#tcpKeepAlive">tcpKeepAlive</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#tcpNoDelay">tcpNoDelay</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#userProvider">userProvider</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#WARN_RESPONSE_SIZE">WARN_RESPONSE_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#WARN_RESPONSE_TIME">WARN_RESPONSE_TIME</a>, <a href="../../../../..
 /org/apache/hadoop/hbase/ipc/RpcServer.html#warnResponseSize">warnResponseSize</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#warnResponseTime">warnResponseTime</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#allowFallbackToSimpleAuth">allowFallbackToSimpleAuth</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#AUDITLOG">AUDITLOG</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#AUTH_FAILED_FOR">AUTH_FAILED_FOR</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#AUTH_SUCCESSFUL_FOR">AUTH_SUCCESSFUL_FOR</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#authManager">authManager</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#authTokenSecretMgr">authTokenSecretMgr</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#bindAddress">bindAddress</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#CALL_QUEUE_TOO_BIG_EXCEPTION">CALL_QUEUE_TOO_BIG_EXCEPTION</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#callQueueSizeInBytes">callQueueSizeInBytes</a>, <a hre
 f="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#cellBlockBuilder">cellBlockBuilder</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#conf">conf</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#CurCall">CurCall</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#CURRENT_VERSION">CURRENT_VERSION</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER">DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_MAX_CALLQUEUE_SIZE">DEFAULT_MAX_CALLQUEUE_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_MAX_REQUEST_SIZE">DEFAULT_MAX_REQUEST_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT">DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFA
 ULT_WARN_RESPONSE_SIZE">DEFAULT_WARN_RESPONSE_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_WARN_RESPONSE_TIME">DEFAULT_WARN_RESPONSE_TIME</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#errorHandler">errorHandler</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#FALLBACK_TO_INSECURE_CLIENT_AUTH">FALLBACK_TO_INSECURE_CLIENT_AUTH</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#isSecurityEnabled">isSecurityEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#LOG">LOG</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#MAPPER">MAPPER</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#MAX_REQUEST_SIZE">MAX_REQUEST_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#maxQueueSizeInBytes">maxQueueSizeInBytes</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#maxRequestSi
 ze">maxRequestSize</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#metrics">metrics</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#MIN_CLIENT_REQUEST_TIMEOUT">MIN_CLIENT_REQUEST_TIMEOUT</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#minClientRequestTimeout">minClientRequestTimeout</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#minSizeForReservoirUse">minSizeForReservoirUse</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#MONITORED_RPC">MONITORED_RPC</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#NIO_BUFFER_LIMIT">NIO_BUFFER_LIMIT</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#REQUEST_TOO_BIG_EXCEPTION">REQUEST_TOO_BIG_EXCEPTION</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#reservoir">reservoir</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#running">running</a>, <a
  href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#saslProps">saslProps</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#scheduler">scheduler</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#secretManager">secretManager</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#server">server</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#services">services</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#started">started</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#tcpKeepAlive">tcpKeepAlive</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#tcpNoDelay">tcpNoDelay</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#userProvider">userProvider</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#WARN_RESPONSE_SIZE">WARN_RESPONSE_SIZE</a>, <a href="../../../../../org/apache/hadoop
 /hbase/ipc/RpcServer.html#WARN_RESPONSE_TIME">WARN_RESPONSE_TIME</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#warnResponseSize">warnResponseSize</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#warnResponseTime">warnResponseTime</a></code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/ipc/SimpleServerRpcConnection.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/SimpleServerRpcConnection.html b/devapidocs/org/apache/hadoop/hbase/ipc/SimpleServerRpcConnection.html
index c6d4fa1..47c1111 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/SimpleServerRpcConnection.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/SimpleServerRpcConnection.html
@@ -310,7 +310,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html" title="class in org.apache.hadoop.hbase.ipc">ServerRpcConnection</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#createUser-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader-">createUser</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#disposeSasl--">disposeSasl</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#doRawSaslReply-org.apache.hadoop.hbase.security.SaslStatus-org.apache.hadoop.io.Writable-java.lang.String-java.lang.String-">doRawSaslReply</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getAuthorizedUgi-java.lang.String-">getAuthorizedUgi</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getErrorResponse-java.lang.String-java.lang.Exception-">getErrorResponse</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getFatalConnectionString-int-byte-">getFatalConnectionString</a>, <a href="../../../../../org/apache/hadoop/hb
 ase/ipc/ServerRpcConnection.html#getHostAddress--">getHostAddress</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getHostInetAddress--">getHostInetAddress</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getRemotePort--">getRemotePort</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getVersionInfo--">getVersionInfo</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#processOneRpc-org.apache.hadoop.hbase.nio.ByteBuff-">processOneRpc</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#processPreamble-java.nio.ByteBuffer-">processPreamble</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#processRequest-org.apache.hadoop.hbase.nio.ByteBuff-">processRequest</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#saslReadAndProcess-org.apache.hadoop.hbase.nio.ByteBuff-">sasl
 ReadAndProcess</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#setupCellBlockCodecs-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader-">setupCellBlockCodecs</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#setupCryptoCipher-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeaderResponse.Builder-">setupCryptoCipher</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#toString--">toString</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#disposeSasl--">disposeSasl</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#doRawSaslReply-org.apache.hadoop.hbase.security.SaslStatus-org.apache.hadoop.io.Writable-java.lang.String-java.lang.String-">doRawSaslReply</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getErrorResponse-java.lang.String-java.lang.Exception-">getErrorResponse</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getHostAddress--">getHostAddress</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getHostInetAddress--">getHostInetAddress</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getRemotePort--">getRemotePort</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getVersionInfo--">getVersionInfo</a>, <a href="../../../../../org/apache/hado
 op/hbase/ipc/ServerRpcConnection.html#processOneRpc-org.apache.hadoop.hbase.nio.ByteBuff-">processOneRpc</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#processPreamble-java.nio.ByteBuffer-">processPreamble</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#processRequest-org.apache.hadoop.hbase.nio.ByteBuff-">processRequest</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#saslReadAndProcess-org.apache.hadoop.hbase.nio.ByteBuff-">saslReadAndProcess</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/ipc/class-use/FatalConnectionException.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/class-use/FatalConnectionException.html b/devapidocs/org/apache/hadoop/hbase/ipc/class-use/FatalConnectionException.html
index 69f85c2..c403502 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/class-use/FatalConnectionException.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/class-use/FatalConnectionException.html
@@ -148,13 +148,13 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>protected void</code></td>
+<td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">ServerRpcConnection.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#setupCellBlockCodecs-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader-">setupCellBlockCodecs</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;header)</code>
 <div class="block">Set up cell block codecs</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>protected void</code></td>
+<td class="colFirst"><code>private void</code></td>
 <td class="colLast"><span class="typeNameLabel">ServerRpcConnection.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#setupCryptoCipher-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeaderResponse.Builder-">setupCryptoCipher</a></span>(org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;header,
                  org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeaderResponse.Builder&nbsp;chrBuilder)</code>
 <div class="block">Set up cipher for rpc encryption with Apache Commons Crypto</div>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 3fdcf8b..8efbcf5 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
@@ -341,9 +341,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/CallEvent.Type.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">CallEvent.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceFactoryImpl.SourceStorage.html" title="enum in org.apache.hadoop.hbase.ipc"><span class="typeNameLink">MetricsHBaseServerSourceFactoryImpl.SourceStorage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 e816afd..47f6ee4 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
@@ -282,9 +282,9 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.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>
 <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/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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 1907ff5..479a216 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -326,10 +326,10 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.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/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/SplitLogManager.TerminationStatus.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">SplitLogManager.TerminationStatus</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMasterSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.master"><span class="typeNameLink">MetricsMasterSourceFactoryImpl.FactoryStorage</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/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>
 </ul>
 </li>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.html b/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.html
index ac13492..ce4327f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.html
@@ -1101,284 +1101,280 @@
 <span class="sourceLineNo">1093</span>    "hbase.regionserver.wal.enablecompression";<a name="line.1093"></a>
 <span class="sourceLineNo">1094</span><a name="line.1094"></a>
 <span class="sourceLineNo">1095</span>  /** Configuration name of WAL storage policy<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>   * Valid values are:<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span>   *  NONE: no preference in destination of block replicas<a name="line.1097"></a>
-<span class="sourceLineNo">1098</span>   *  ONE_SSD: place only one block replica in SSD and the remaining in default storage<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   *  and ALL_SSD: place all block replicas on SSD<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   *<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>   * See http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html*/<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>  public static final String WAL_STORAGE_POLICY = "hbase.wal.storage.policy";<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>  public static final String DEFAULT_WAL_STORAGE_POLICY = "NONE";<a name="line.1103"></a>
+<span class="sourceLineNo">1096</span>   * Valid values are: HOT, COLD, WARM, ALL_SSD, ONE_SSD, LAZY_PERSIST<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span>   * See http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html*/<a name="line.1097"></a>
+<span class="sourceLineNo">1098</span>  public static final String WAL_STORAGE_POLICY = "hbase.wal.storage.policy";<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span>  public static final String DEFAULT_WAL_STORAGE_POLICY = "HOT";<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span><a name="line.1100"></a>
+<span class="sourceLineNo">1101</span>  /** Region in Transition metrics threshold time */<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span>  public static final String METRICS_RIT_STUCK_WARNING_THRESHOLD =<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span>      "hbase.metrics.rit.stuck.warning.threshold";<a name="line.1103"></a>
 <span class="sourceLineNo">1104</span><a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>  /** Region in Transition metrics threshold time */<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>  public static final String METRICS_RIT_STUCK_WARNING_THRESHOLD =<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>      "hbase.metrics.rit.stuck.warning.threshold";<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span><a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>  public static final String LOAD_BALANCER_SLOP_KEY = "hbase.regions.slop";<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span><a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>  /** delimiter used between portions of a region name */<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>  public static final int DELIMITER = ',';<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span><a name="line.1113"></a>
-<span class="sourceLineNo">1114</span>  /**<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>   * QOS attributes: these attributes are used to demarcate RPC call processing<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>   * by different set of handlers. For example, HIGH_QOS tagged methods are<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>   * handled by high priority handlers.<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>   */<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>  // normal_QOS &lt; replication_QOS &lt; replay_QOS &lt; QOS_threshold &lt; admin_QOS &lt; high_QOS<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span>  public static final int NORMAL_QOS = 0;<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  public static final int REPLICATION_QOS = 5;<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>  public static final int REPLAY_QOS = 6;<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>  public static final int QOS_THRESHOLD = 10;<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>  public static final int ADMIN_QOS = 100;<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>  public static final int HIGH_QOS = 200;<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>  public static final int SYSTEMTABLE_QOS = HIGH_QOS;<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span><a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>  /** Directory under /hbase where archived hfiles are stored */<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>  public static final String HFILE_ARCHIVE_DIRECTORY = "archive";<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span><a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>  /**<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>   * Name of the directory to store all snapshots. See SnapshotDescriptionUtils for<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>   * remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span>   * uni-directional.<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>   */<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>  public static final String SNAPSHOT_DIR_NAME = ".hbase-snapshot";<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span><a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  /* Name of old snapshot directory. See HBASE-8352 for details on why it needs to be renamed */<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span>  public static final String OLD_SNAPSHOT_DIR_NAME = ".snapshot";<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span><a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>  /** Temporary directory used for table creation and deletion */<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>  public static final String HBASE_TEMP_DIRECTORY = ".tmp";<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>  /**<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>   * The period (in milliseconds) between computing region server point in time metrics<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>   */<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>  public static final String REGIONSERVER_METRICS_PERIOD = "hbase.regionserver.metrics.period";<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>  public static final long DEFAULT_REGIONSERVER_METRICS_PERIOD = 5000;<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span>  /** Directories that are not HBase table directories */<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span>  public static final List&lt;String&gt; HBASE_NON_TABLE_DIRS =<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span>    Collections.unmodifiableList(Arrays.asList(new String[] {<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>      HBCK_SIDELINEDIR_NAME, HBASE_TEMP_DIRECTORY, MIGRATION_NAME<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>    }));<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span><a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>  /** Directories that are not HBase user table directories */<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>  public static final List&lt;String&gt; HBASE_NON_USER_TABLE_DIRS =<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>    Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>      new String[] { TableName.META_TABLE_NAME.getNameAsString() },<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>      HBASE_NON_TABLE_DIRS.toArray())));<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span><a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>  /** Health script related settings. */<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>  public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>  public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>  public static final String HEALTH_CHORE_WAKE_FREQ =<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>      "hbase.node.health.script.frequency";<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>  public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>  /**<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>   * The maximum number of health check failures a server can encounter consecutively.<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>   */<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span>  public static final String HEALTH_FAILURE_THRESHOLD =<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>      "hbase.node.health.failure.threshold";<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>  public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span><a name="line.1172"></a>
-<span class="sourceLineNo">1173</span><a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>  /**<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>   * Setting to activate, or not, the publication of the status by the master. Default<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>   *  notification is by a multicast message.<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span>   */<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>  public static final String STATUS_PUBLISHED = "hbase.status.published";<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>  public static final boolean STATUS_PUBLISHED_DEFAULT = false;<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span><a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>  /**<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>   * IP to use for the multicast status messages between the master and the clients.<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>   * The default address is chosen as one among others within the ones suitable for multicast<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>   * messages.<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span>   */<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span>  public static final String STATUS_MULTICAST_ADDRESS = "hbase.status.multicast.address.ip";<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span>  public static final String DEFAULT_STATUS_MULTICAST_ADDRESS = "226.1.1.3";<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span><a name="line.1188"></a>
-<span class="sourceLineNo">1189</span>  /**<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span>   * The address to use for binding the local socket for receiving multicast. Defaults to<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span>   * 0.0.0.0.<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-9961"&gt;HBASE-9961&lt;/a&gt;<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>   */<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>  public static final String STATUS_MULTICAST_BIND_ADDRESS =<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span>      "hbase.status.multicast.bind.address.ip";<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span>  public static final String DEFAULT_STATUS_MULTICAST_BIND_ADDRESS = "0.0.0.0";<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span><a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>  /**<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>   * The port to use for the multicast messages.<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span>   */<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span>  public static final String STATUS_MULTICAST_PORT = "hbase.status.multicast.address.port";<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>  public static final int DEFAULT_STATUS_MULTICAST_PORT = 16100;<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span><a name="line.1203"></a>
-<span class="sourceLineNo">1204</span>  public static final long NO_NONCE = 0;<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span><a name="line.1205"></a>
-<span class="sourceLineNo">1206</span>  /** Default cipher for encryption */<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span>  public static final String CIPHER_AES = "AES";<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span><a name="line.1208"></a>
-<span class="sourceLineNo">1209</span>  /** Configuration key for the crypto algorithm provider, a class name */<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span>  public static final String CRYPTO_CIPHERPROVIDER_CONF_KEY = "hbase.crypto.cipherprovider";<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span><a name="line.1211"></a>
-<span class="sourceLineNo">1212</span>  /** Configuration key for the crypto key provider, a class name */<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span>  public static final String CRYPTO_KEYPROVIDER_CONF_KEY = "hbase.crypto.keyprovider";<a name="line.1213"></a>
+<span class="sourceLineNo">1105</span>  public static final String LOAD_BALANCER_SLOP_KEY = "hbase.regions.slop";<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span><a name="line.1106"></a>
+<span class="sourceLineNo">1107</span>  /** delimiter used between portions of a region name */<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span>  public static final int DELIMITER = ',';<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span><a name="line.1109"></a>
+<span class="sourceLineNo">1110</span>  /**<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span>   * QOS attributes: these attributes are used to demarcate RPC call processing<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span>   * by different set of handlers. For example, HIGH_QOS tagged methods are<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span>   * handled by high priority handlers.<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>   */<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span>  // normal_QOS &lt; replication_QOS &lt; replay_QOS &lt; QOS_threshold &lt; admin_QOS &lt; high_QOS<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>  public static final int NORMAL_QOS = 0;<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span>  public static final int REPLICATION_QOS = 5;<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span>  public static final int REPLAY_QOS = 6;<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span>  public static final int QOS_THRESHOLD = 10;<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span>  public static final int ADMIN_QOS = 100;<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>  public static final int HIGH_QOS = 200;<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span>  public static final int SYSTEMTABLE_QOS = HIGH_QOS;<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span><a name="line.1123"></a>
+<span class="sourceLineNo">1124</span>  /** Directory under /hbase where archived hfiles are stored */<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span>  public static final String HFILE_ARCHIVE_DIRECTORY = "archive";<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span><a name="line.1126"></a>
+<span class="sourceLineNo">1127</span>  /**<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span>   * Name of the directory to store all snapshots. See SnapshotDescriptionUtils for<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span>   * remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span>   * uni-directional.<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>   */<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span>  public static final String SNAPSHOT_DIR_NAME = ".hbase-snapshot";<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span><a name="line.1133"></a>
+<span class="sourceLineNo">1134</span>  /* Name of old snapshot directory. See HBASE-8352 for details on why it needs to be renamed */<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span>  public static final String OLD_SNAPSHOT_DIR_NAME = ".snapshot";<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span><a name="line.1136"></a>
+<span class="sourceLineNo">1137</span>  /** Temporary directory used for table creation and deletion */<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span>  public static final String HBASE_TEMP_DIRECTORY = ".tmp";<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span>  /**<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span>   * The period (in milliseconds) between computing region server point in time metrics<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span>   */<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span>  public static final String REGIONSERVER_METRICS_PERIOD = "hbase.regionserver.metrics.period";<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span>  public static final long DEFAULT_REGIONSERVER_METRICS_PERIOD = 5000;<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span>  /** Directories that are not HBase table directories */<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span>  public static final List&lt;String&gt; HBASE_NON_TABLE_DIRS =<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span>    Collections.unmodifiableList(Arrays.asList(new String[] {<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>      HBCK_SIDELINEDIR_NAME, HBASE_TEMP_DIRECTORY, MIGRATION_NAME<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span>    }));<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span><a name="line.1149"></a>
+<span class="sourceLineNo">1150</span>  /** Directories that are not HBase user table directories */<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span>  public static final List&lt;String&gt; HBASE_NON_USER_TABLE_DIRS =<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>    Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span>      new String[] { TableName.META_TABLE_NAME.getNameAsString() },<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span>      HBASE_NON_TABLE_DIRS.toArray())));<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span><a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>  /** Health script related settings. */<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span>  public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>  public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span>  public static final String HEALTH_CHORE_WAKE_FREQ =<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span>      "hbase.node.health.script.frequency";<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span>  public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span>  /**<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span>   * The maximum number of health check failures a server can encounter consecutively.<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span>   */<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>  public static final String HEALTH_FAILURE_THRESHOLD =<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span>      "hbase.node.health.failure.threshold";<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span>  public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span><a name="line.1168"></a>
+<span class="sourceLineNo">1169</span><a name="line.1169"></a>
+<span class="sourceLineNo">1170</span>  /**<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span>   * Setting to activate, or not, the publication of the status by the master. Default<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span>   *  notification is by a multicast message.<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span>   */<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span>  public static final String STATUS_PUBLISHED = "hbase.status.published";<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>  public static final boolean STATUS_PUBLISHED_DEFAULT = false;<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span><a name="line.1176"></a>
+<span class="sourceLineNo">1177</span>  /**<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span>   * IP to use for the multicast status messages between the master and the clients.<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span>   * The default address is chosen as one among others within the ones suitable for multicast<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span>   * messages.<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span>   */<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span>  public static final String STATUS_MULTICAST_ADDRESS = "hbase.status.multicast.address.ip";<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span>  public static final String DEFAULT_STATUS_MULTICAST_ADDRESS = "226.1.1.3";<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span><a name="line.1184"></a>
+<span class="sourceLineNo">1185</span>  /**<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span>   * The address to use for binding the local socket for receiving multicast. Defaults to<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span>   * 0.0.0.0.<a name="line.1187"></a>
+<span class="sourceLineNo">1188</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-9961"&gt;HBASE-9961&lt;/a&gt;<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span>   */<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span>  public static final String STATUS_MULTICAST_BIND_ADDRESS =<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span>      "hbase.status.multicast.bind.address.ip";<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span>  public static final String DEFAULT_STATUS_MULTICAST_BIND_ADDRESS = "0.0.0.0";<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span><a name="line.1193"></a>
+<span class="sourceLineNo">1194</span>  /**<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span>   * The port to use for the multicast messages.<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span>   */<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span>  public static final String STATUS_MULTICAST_PORT = "hbase.status.multicast.address.port";<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span>  public static final int DEFAULT_STATUS_MULTICAST_PORT = 16100;<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span><a name="line.1199"></a>
+<span class="sourceLineNo">1200</span>  public static final long NO_NONCE = 0;<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span>  /** Default cipher for encryption */<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span>  public static final String CIPHER_AES = "AES";<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span><a name="line.1204"></a>
+<span class="sourceLineNo">1205</span>  /** Configuration key for the crypto algorithm provider, a class name */<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span>  public static final String CRYPTO_CIPHERPROVIDER_CONF_KEY = "hbase.crypto.cipherprovider";<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span><a name="line.1207"></a>
+<span class="sourceLineNo">1208</span>  /** Configuration key for the crypto key provider, a class name */<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span>  public static final String CRYPTO_KEYPROVIDER_CONF_KEY = "hbase.crypto.keyprovider";<a name="line.1209"></a>
+<span class="sourceLineNo">1210</span><a name="line.1210"></a>
+<span class="sourceLineNo">1211</span>  /** Configuration key for the crypto key provider parameters */<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span>  public static final String CRYPTO_KEYPROVIDER_PARAMETERS_KEY =<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span>      "hbase.crypto.keyprovider.parameters";<a name="line.1213"></a>
 <span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span>  /** Configuration key for the crypto key provider parameters */<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span>  public static final String CRYPTO_KEYPROVIDER_PARAMETERS_KEY =<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span>      "hbase.crypto.keyprovider.parameters";<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span><a name="line.1218"></a>
-<span class="sourceLineNo">1219</span>  /** Configuration key for the name of the master key for the cluster, a string */<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span>  public static final String CRYPTO_MASTERKEY_NAME_CONF_KEY = "hbase.crypto.master.key.name";<a name="line.1220"></a>
+<span class="sourceLineNo">1215</span>  /** Configuration key for the name of the master key for the cluster, a string */<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span>  public static final String CRYPTO_MASTERKEY_NAME_CONF_KEY = "hbase.crypto.master.key.name";<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span><a name="line.1217"></a>
+<span class="sourceLineNo">1218</span>  /** Configuration key for the name of the alternate master key for the cluster, a string */<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span>  public static final String CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY =<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span>    "hbase.crypto.master.alternate.key.name";<a name="line.1220"></a>
 <span class="sourceLineNo">1221</span><a name="line.1221"></a>
-<span class="sourceLineNo">1222</span>  /** Configuration key for the name of the alternate master key for the cluster, a string */<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span>  public static final String CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY =<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span>    "hbase.crypto.master.alternate.key.name";<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span><a name="line.1225"></a>
-<span class="sourceLineNo">1226</span>  /** Configuration key for the algorithm to use when encrypting the WAL, a string */<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span>  public static final String CRYPTO_WAL_ALGORITHM_CONF_KEY = "hbase.crypto.wal.algorithm";<a name="line.1227"></a>
-<span class="sourceLineNo">1228</span><a name="line.1228"></a>
-<span class="sourceLineNo">1229</span>  /** Configuration key for the name of the master WAL encryption key for the cluster, a string */<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span>  public static final String CRYPTO_WAL_KEY_NAME_CONF_KEY = "hbase.crypto.wal.key.name";<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span><a name="line.1231"></a>
-<span class="sourceLineNo">1232</span>  /** Configuration key for the algorithm used for creating jks key, a string */<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span>  public static final String CRYPTO_KEY_ALGORITHM_CONF_KEY = "hbase.crypto.key.algorithm";<a name="line.1233"></a>
+<span class="sourceLineNo">1222</span>  /** Configuration key for the algorithm to use when encrypting the WAL, a string */<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span>  public static final String CRYPTO_WAL_ALGORITHM_CONF_KEY = "hbase.crypto.wal.algorithm";<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span><a name="line.1224"></a>
+<span class="sourceLineNo">1225</span>  /** Configuration key for the name of the master WAL encryption key for the cluster, a string */<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span>  public static final String CRYPTO_WAL_KEY_NAME_CONF_KEY = "hbase.crypto.wal.key.name";<a name="line.1226"></a>
+<span class="sourceLineNo">1227</span><a name="line.1227"></a>
+<span class="sourceLineNo">1228</span>  /** Configuration key for the algorithm used for creating jks key, a string */<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span>  public static final String CRYPTO_KEY_ALGORITHM_CONF_KEY = "hbase.crypto.key.algorithm";<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span><a name="line.1230"></a>
+<span class="sourceLineNo">1231</span>  /** Configuration key for the name of the alternate cipher algorithm for the cluster, a string */<a name="line.1231"></a>
+<span class="sourceLineNo">1232</span>  public static final String CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY =<a name="line.1232"></a>
+<span class="sourceLineNo">1233</span>      "hbase.crypto.alternate.key.algorithm";<a name="line.1233"></a>
 <span class="sourceLineNo">1234</span><a name="line.1234"></a>
-<span class="sourceLineNo">1235</span>  /** Configuration key for the name of the alternate cipher algorithm for the cluster, a string */<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span>  public static final String CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY =<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span>      "hbase.crypto.alternate.key.algorithm";<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span><a name="line.1238"></a>
-<span class="sourceLineNo">1239</span>  /** Configuration key for enabling WAL encryption, a boolean */<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span>  public static final String ENABLE_WAL_ENCRYPTION = "hbase.regionserver.wal.encryption";<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span><a name="line.1241"></a>
-<span class="sourceLineNo">1242</span>  /** Configuration key for setting RPC codec class name */<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span>  public static final String RPC_CODEC_CONF_KEY = "hbase.client.rpc.codec";<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span><a name="line.1244"></a>
-<span class="sourceLineNo">1245</span>  /** Configuration key for setting replication codec class name */<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span>  public static final String REPLICATION_CODEC_CONF_KEY = "hbase.replication.rpc.codec";<a name="line.1246"></a>
+<span class="sourceLineNo">1235</span>  /** Configuration key for enabling WAL encryption, a boolean */<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span>  public static final String ENABLE_WAL_ENCRYPTION = "hbase.regionserver.wal.encryption";<a name="line.1236"></a>
+<span class="sourceLineNo">1237</span><a name="line.1237"></a>
+<span class="sourceLineNo">1238</span>  /** Configuration key for setting RPC codec class name */<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span>  public static final String RPC_CODEC_CONF_KEY = "hbase.client.rpc.codec";<a name="line.1239"></a>
+<span class="sourceLineNo">1240</span><a name="line.1240"></a>
+<span class="sourceLineNo">1241</span>  /** Configuration key for setting replication codec class name */<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span>  public static final String REPLICATION_CODEC_CONF_KEY = "hbase.replication.rpc.codec";<a name="line.1242"></a>
+<span class="sourceLineNo">1243</span><a name="line.1243"></a>
+<span class="sourceLineNo">1244</span>  /** Maximum number of threads used by the replication source for shipping edits to the sinks */<a name="line.1244"></a>
+<span class="sourceLineNo">1245</span>  public static final String REPLICATION_SOURCE_MAXTHREADS_KEY =<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span>      "hbase.replication.source.maxthreads";<a name="line.1246"></a>
 <span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span>  /** Maximum number of threads used by the replication source for shipping edits to the sinks */<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span>  public static final String REPLICATION_SOURCE_MAXTHREADS_KEY =<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span>      "hbase.replication.source.maxthreads";<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span><a name="line.1251"></a>
-<span class="sourceLineNo">1252</span>  public static final int REPLICATION_SOURCE_MAXTHREADS_DEFAULT = 10;<a name="line.1252"></a>
+<span class="sourceLineNo">1248</span>  public static final int REPLICATION_SOURCE_MAXTHREADS_DEFAULT = 10;<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span><a name="line.1249"></a>
+<span class="sourceLineNo">1250</span>  /** Config for pluggable consensus provider */<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span>  public static final String HBASE_COORDINATED_STATE_MANAGER_CLASS =<a name="line.1251"></a>
+<span class="sourceLineNo">1252</span>    "hbase.coordinated.state.manager.class";<a name="line.1252"></a>
 <span class="sourceLineNo">1253</span><a name="line.1253"></a>
-<span class="sourceLineNo">1254</span>  /** Config for pluggable consensus provider */<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span>  public static final String HBASE_COORDINATED_STATE_MANAGER_CLASS =<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span>    "hbase.coordinated.state.manager.class";<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span><a name="line.1257"></a>
-<span class="sourceLineNo">1258</span>  /** Configuration key for SplitLog manager timeout */<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span>  public static final String HBASE_SPLITLOG_MANAGER_TIMEOUT = "hbase.splitlog.manager.timeout";<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span><a name="line.1260"></a>
-<span class="sourceLineNo">1261</span>  /**<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span>   * Configuration keys for Bucket cache<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span>   */<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span>  // TODO moving these bucket cache implementation specific configs to this level is violation of<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span>  // encapsulation. But as these has to be referred from hbase-common and bucket cache<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span>  // sits in hbase-server, there were no other go! Can we move the cache implementation to<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span>  // hbase-common?<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span><a name="line.1268"></a>
-<span class="sourceLineNo">1269</span>  /**<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span>   * Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span>   * to the file that will host the file-based cache.  See BucketCache#getIOEngineFromName() for<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span>   * list of supported ioengine options.<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span>   * &lt;p&gt;Set this option and a non-zero {@link #BUCKET_CACHE_SIZE_KEY} to enable bucket cache.<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span>   */<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span>  public static final String BUCKET_CACHE_IOENGINE_KEY = "hbase.bucketcache.ioengine";<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span><a name="line.1276"></a>
-<span class="sourceLineNo">1277</span>  /**<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span>   * When using bucket cache, this is a float that EITHER represents a percentage of total heap<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span>   * memory size to give to the cache (if &amp;lt; 1.0) OR, it is the capacity in<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span>   * megabytes of the cache.<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span>   */<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span>  public static final String BUCKET_CACHE_SIZE_KEY = "hbase.bucketcache.size";<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span><a name="line.1283"></a>
-<span class="sourceLineNo">1284</span>  /**<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span>   * HConstants for fast fail on the client side follow<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span>   */<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span>  /**<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span>   * Config for enabling/disabling the fast fail mode.<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span>   */<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span>  public static final String HBASE_CLIENT_FAST_FAIL_MODE_ENABLED =<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span>      "hbase.client.fast.fail.mode.enabled";<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span><a name="line.1292"></a>
-<span class="sourceLineNo">1293</span>  public static final boolean HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT =<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span>      false;<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span><a name="line.1295"></a>
-<span class="sourceLineNo">1296</span>  public static final String HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS =<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span>      "hbase.client.fastfail.threshold";<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span><a name="line.1298"></a>
-<span class="sourceLineNo">1299</span>  public static final long HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT =<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span>      60000;<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span><a name="line.1301"></a>
-<span class="sourceLineNo">1302</span>  public static final String HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS =<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>      "hbase.client.fast.fail.cleanup.duration";<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span><a name="line.1304"></a>
-<span class="sourceLineNo">1305</span>  public static final long HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT =<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span>      600000;<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span><a name="line.1307"></a>
-<span class="sourceLineNo">1308</span>  public static final String HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL =<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span>      "hbase.client.fast.fail.interceptor.impl";<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span><a name="line.1310"></a>
-<span class="sourceLineNo">1311</span>  /** Config key for if the server should send backpressure and if the client should listen to<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span>   * that backpressure from the server */<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span>  public static final String ENABLE_CLIENT_BACKPRESSURE = "hbase.client.backpressure.enabled";<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span>  public static final boolean DEFAULT_ENABLE_CLIENT_BACKPRESSURE = false;<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span><a name="line.1315"></a>
-<span class="sourceLineNo">1316</span>  public static final String HEAP_OCCUPANCY_LOW_WATERMARK_KEY =<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span>      "hbase.heap.occupancy.low_water_mark";<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span>  public static final float DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK = 0.95f;<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span>  public static final String HEAP_OCCUPANCY_HIGH_WATERMARK_KEY =<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span>      "hbase.heap.occupancy.high_water_mark";<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span>  public static final float DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK = 0.98f;<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span><a name="line.1322"></a>
-<span class="sourceLineNo">1323</span>  /**<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span>   * The max number of threads used for splitting storefiles in parallel during<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span>   * the region split process.<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span>   */<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span>  public static final String REGION_SPLIT_THREADS_MAX =<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span>    "hbase.regionserver.region.split.threads.max";<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span><a name="line.1329"></a>
-<span class="sourceLineNo">1330</span>  /** Canary config keys */<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>  public static final String HBASE_CANARY_WRITE_DATA_TTL_KEY = "hbase.canary.write.data.ttl";<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span><a name="line.1332"></a>
-<span class="sourceLineNo">1333</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY =<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span>      "hbase.canary.write.perserver.regions.lowerLimit";<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span><a name="line.1335"></a>
-<span class="sourceLineNo">1336</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY =<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span>      "hbase.canary.write.perserver.regions.upperLimit";<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span><a name="line.1338"></a>
-<span class="sourceLineNo">1339</span>  public static final String HBASE_CANARY_WRITE_VALUE_SIZE_KEY = "hbase.canary.write.value.size";<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span><a name="line.1340"></a>
-<span class="sourceLineNo">1341</span>  public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>      "hbase.canary.write.table.check.period";<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span>  <a name="line.1343"></a>
-<span class="sourceLineNo">1344</span>  public static final String HBASE_CANARY_READ_RAW_SCAN_KEY = "hbase.canary.read.raw.enabled";<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span><a name="line.1345"></a>
-<span class="sourceLineNo">1346</span>  /**<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span>   * Configuration keys for programmatic JAAS configuration for secured ZK interaction<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>   */<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span>  public static final String ZK_CLIENT_KEYTAB_FILE = "hbase.zookeeper.client.keytab.file";<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>  public static final String ZK_CLIENT_KERBEROS_PRINCIPAL =<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span>      "hbase.zookeeper.client.kerberos.principal";<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span>  public static final String ZK_SERVER_KEYTAB_FILE = "hbase.zookeeper.server.keytab.file";<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span>  public static final String ZK_SERVER_KERBEROS_PRINCIPAL =<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span>      "hbase.zookeeper.server.kerberos.principal";<a name="line.1354"></a>
-<span class="sourceLineNo">1355</span><a name="line.1355"></a>
-<span class="sourceLineNo">1356</span>  /** Config key for hbase temporary directory in hdfs */<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span>  public static final String TEMPORARY_FS_DIRECTORY_KEY = "hbase.fs.tmp.dir";<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span>  public static final String DEFAULT_TEMPORARY_HDFS_DIRECTORY = "/user/"<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span>      + System.getProperty("user.name") + "/hbase-staging";<a name="line.1359"></a>
+<span class="sourceLineNo">1254</span>  /** Configuration key for SplitLog manager timeout */<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span>  public static final String HBASE_SPLITLOG_MANAGER_TIMEOUT = "hbase.splitlog.manager.timeout";<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span><a name="line.1256"></a>
+<span class="sourceLineNo">1257</span>  /**<a name="line.1257"></a>
+<span class="sourceLineNo">1258</span>   * Configuration keys for Bucket cache<a name="line.1258"></a>
+<span class="sourceLineNo">1259</span>   */<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span>  // TODO moving these bucket cache implementation specific configs to this level is violation of<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span>  // encapsulation. But as these has to be referred from hbase-common and bucket cache<a name="line.1261"></a>
+<span class="sourceLineNo">1262</span>  // sits in hbase-server, there were no other go! Can we move the cache implementation to<a name="line.1262"></a>
+<span class="sourceLineNo">1263</span>  // hbase-common?<a name="line.1263"></a>
+<span class="sourceLineNo">1264</span><a name="line.1264"></a>
+<span class="sourceLineNo">1265</span>  /**<a name="line.1265"></a>
+<span class="sourceLineNo">1266</span>   * Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path<a name="line.1266"></a>
+<span class="sourceLineNo">1267</span>   * to the file that will host the file-based cache.  See BucketCache#getIOEngineFromName() for<a name="line.1267"></a>
+<span class="sourceLineNo">1268</span>   * list of supported ioengine options.<a name="line.1268"></a>
+<span class="sourceLineNo">1269</span>   * &lt;p&gt;Set this option and a non-zero {@link #BUCKET_CACHE_SIZE_KEY} to enable bucket cache.<a name="line.1269"></a>
+<span class="sourceLineNo">1270</span>   */<a name="line.1270"></a>
+<span class="sourceLineNo">1271</span>  public static final String BUCKET_CACHE_IOENGINE_KEY = "hbase.bucketcache.ioengine";<a name="line.1271"></a>
+<span class="sourceLineNo">1272</span><a name="line.1272"></a>
+<span class="sourceLineNo">1273</span>  /**<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span>   * When using bucket cache, this is a float that EITHER represents a percentage of total heap<a name="line.1274"></a>
+<span class="sourceLineNo">1275</span>   * memory size to give to the cache (if &amp;lt; 1.0) OR, it is the capacity in<a name="line.1275"></a>
+<span class="sourceLineNo">1276</span>   * megabytes of the cache.<a name="line.1276"></a>
+<span class="sourceLineNo">1277</span>   */<a name="line.1277"></a>
+<span class="sourceLineNo">1278</span>  public static final String BUCKET_CACHE_SIZE_KEY = "hbase.bucketcache.size";<a name="line.1278"></a>
+<span class="sourceLineNo">1279</span><a name="line.1279"></a>
+<span class="sourceLineNo">1280</span>  /**<a name="line.1280"></a>
+<span class="sourceLineNo">1281</span>   * HConstants for fast fail on the client side follow<a name="line.1281"></a>
+<span class="sourceLineNo">1282</span>   */<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span>  /**<a name="line.1283"></a>
+<span class="sourceLineNo">1284</span>   * Config for enabling/disabling the fast fail mode.<a name="line.1284"></a>
+<span class="sourceLineNo">1285</span>   */<a name="line.1285"></a>
+<span class="sourceLineNo">1286</span>  public static final String HBASE_CLIENT_FAST_FAIL_MODE_ENABLED =<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span>      "hbase.client.fast.fail.mode.enabled";<a name="line.1287"></a>
+<span class="sourceLineNo">1288</span><a name="line.1288"></a>
+<span class="sourceLineNo">1289</span>  public static final boolean HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT =<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span>      false;<a name="line.1290"></a>
+<span class="sourceLineNo">1291</span><a name="line.1291"></a>
+<span class="sourceLineNo">1292</span>  public static final String HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS =<a name="line.1292"></a>
+<span class="sourceLineNo">1293</span>      "hbase.client.fastfail.threshold";<a name="line.1293"></a>
+<span class="sourceLineNo">1294</span><a name="line.1294"></a>
+<span class="sourceLineNo">1295</span>  public static final long HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT =<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span>      60000;<a name="line.1296"></a>
+<span class="sourceLineNo">1297</span><a name="line.1297"></a>
+<span class="sourceLineNo">1298</span>  public static final String HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS =<a name="line.1298"></a>
+<span class="sourceLineNo">1299</span>      "hbase.client.fast.fail.cleanup.duration";<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span><a name="line.1300"></a>
+<span class="sourceLineNo">1301</span>  public static final long HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT =<a name="line.1301"></a>
+<span class="sourceLineNo">1302</span>      600000;<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span><a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>  public static final String HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL =<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span>      "hbase.client.fast.fail.interceptor.impl";<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span><a name="line.1306"></a>
+<span class="sourceLineNo">1307</span>  /** Config key for if the server should send backpressure and if the client should listen to<a name="line.1307"></a>
+<span class="sourceLineNo">1308</span>   * that backpressure from the server */<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span>  public static final String ENABLE_CLIENT_BACKPRESSURE = "hbase.client.backpressure.enabled";<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span>  public static final boolean DEFAULT_ENABLE_CLIENT_BACKPRESSURE = false;<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span><a name="line.1311"></a>
+<span class="sourceLineNo">1312</span>  public static final String HEAP_OCCUPANCY_LOW_WATERMARK_KEY =<a name="line.1312"></a>
+<span class="sourceLineNo">1313</span>      "hbase.heap.occupancy.low_water_mark";<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span>  public static final float DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK = 0.95f;<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span>  public static final String HEAP_OCCUPANCY_HIGH_WATERMARK_KEY =<a name="line.1315"></a>
+<span class="sourceLineNo">1316</span>      "hbase.heap.occupancy.high_water_mark";<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span>  public static final float DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK = 0.98f;<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span><a name="line.1318"></a>
+<span class="sourceLineNo">1319</span>  /**<a name="line.1319"></a>
+<span class="sourceLineNo">1320</span>   * The max number of threads used for splitting storefiles in parallel during<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span>   * the region split process.<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span>   */<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span>  public static final String REGION_SPLIT_THREADS_MAX =<a name="line.1323"></a>
+<span class="sourceLineNo">1324</span>    "hbase.regionserver.region.split.threads.max";<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span><a name="line.1325"></a>
+<span class="sourceLineNo">1326</span>  /** Canary config keys */<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span>  public static final String HBASE_CANARY_WRITE_DATA_TTL_KEY = "hbase.canary.write.data.ttl";<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span><a name="line.1328"></a>
+<span class="sourceLineNo">1329</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY =<a name="line.1329"></a>
+<span class="sourceLineNo">1330</span>      "hbase.canary.write.perserver.regions.lowerLimit";<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span><a name="line.1331"></a>
+<span class="sourceLineNo">1332</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY =<a name="line.1332"></a>
+<span class="sourceLineNo">1333</span>      "hbase.canary.write.perserver.regions.upperLimit";<a name="line.1333"></a>
+<span class="sourceLineNo">1334</span><a name="line.1334"></a>
+<span class="sourceLineNo">1335</span>  public static final String HBASE_CANARY_WRITE_VALUE_SIZE_KEY = "hbase.canary.write.value.size";<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span><a name="line.1336"></a>
+<span class="sourceLineNo">1337</span>  public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span>      "hbase.canary.write.table.check.period";<a name="line.1338"></a>
+<span class="sourceLineNo">1339</span>  <a name="line.1339"></a>
+<span class="sourceLineNo">1340</span>  public static final String HBASE_CANARY_READ_RAW_SCAN_KEY = "hbase.canary.read.raw.enabled";<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span><a name="line.1341"></a>
+<span class="sourceLineNo">1342</span>  /**<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span>   * Configuration keys for programmatic JAAS configuration for secured ZK interaction<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span>   */<a name="line.1344"></a>
+<span class="sourceLineNo">1345</span>  public static final String ZK_CLIENT_KEYTAB_FILE = "hbase.zookeeper.client.keytab.file";<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span>  public static final String ZK_CLIENT_KERBEROS_PRINCIPAL =<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span>      "hbase.zookeeper.client.kerberos.principal";<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span>  public static final String ZK_SERVER_KEYTAB_FILE = "hbase.zookeeper.server.keytab.file";<a name="line.1348"></a>
+<span class="sourceLineNo">1349</span>  public static final String ZK_SERVER_KERBEROS_PRINCIPAL =<a name="line.1349"></a>
+<span class="sourceLineNo">1350</span>      "hbase.zookeeper.server.kerberos.principal";<a name="line.1350"></a>
+<span class="sourceLineNo">1351</span><a name="line.1351"></a>
+<span class="sourceLineNo">1352</span>  /** Config key for hbase temporary directory in hdfs */<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span>  public static final String TEMPORARY_FS_DIRECTORY_KEY = "hbase.fs.tmp.dir";<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span>  public static final String DEFAULT_TEMPORARY_HDFS_DIRECTORY = "/user/"<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span>      + System.getProperty("user.name") + "/hbase-staging";<a name="line.1355"></a>
+<span class="sourceLineNo">1356</span><a name="line.1356"></a>
+<span class="sourceLineNo">1357</span>  public static final String SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT =<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span>      "hbase.snapshot.restore.take.failsafe.snapshot";<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span>  public static final boolean DEFAULT_SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT = false;<a name="line.1359"></a>
 <span class="sourceLineNo">1360</span><a name="line.1360"></a>
-<span class="sourceLineNo">1361</span>  public static final String SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT =<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span>      "hbase.snapshot.restore.take.failsafe.snapshot";<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>  public static final boolean DEFAULT_SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT = false;<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span><a name="line.1364"></a>
-<span class="sourceLineNo">1365</span>  public static final String SNAPSHOT_RESTORE_FAILSAFE_NAME =<a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>      "hbase.snapshot.restore.failsafe.name";<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span>  public static final String DEFAULT_SNAPSHOT_RESTORE_FAILSAFE_NAME =<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>      "hbase-failsafe-{snapshot.name}-{restore.timestamp}";<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span><a name="line.1369"></a>
-<span class="sourceLineNo">1370</span>  private HConstants() {<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span>    // Can't be instantiated with this ctor.<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span>  }<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>}<a name="line.1373"></a>
+<span class="sourceLineNo">1361</span>  public static final String SNAPSHOT_RESTORE_FAILSAFE_NAME =<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span>      "hbase.snapshot.restore.failsafe.name";<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span>  public static final String DEFAULT_SNAPSHOT_RESTORE_FAILSAFE_NAME =<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span>      "hbase-failsafe-{snapshot.name}-{restore.timestamp}";<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span><a name="line.1365"></a>
+<span class="sourceLineNo">1366</span>  private HConstants() {<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span>    // Can't be instantiated with this ctor.<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span>  }<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span>}<a name="line.1369"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 ca07a1a..f5d8ba1 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 = "8b5c161cbf0cab4eb250827e20a12acee00b400d";<a name="line.11"></a>
+<span class="sourceLineNo">011</span>  public static final String revision = "6846b03944d7e72301b825d4d118732c0ca65577";<a name="line.11"></a>
 <span class="sourceLineNo">012</span>  public static final String user = "jenkins";<a name="line.12"></a>
-<span class="sourceLineNo">013</span>  public static final String date = "Fri May 26 14:39:21 UTC 2017";<a name="line.13"></a>
+<span class="sourceLineNo">013</span>  public static final String date = "Sat May 27 14:38:56 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 = "6deb7ac851cfc98372fca780bd18dc0f";<a name="line.15"></a>
+<span class="sourceLineNo">015</span>  public static final String srcChecksum = "7893df3688e2e64c00f65b9a517091e8";<a name="line.15"></a>
 <span class="sourceLineNo">016</span>}<a name="line.16"></a>
 
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 9307cf8..58df534 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
@@ -70,14 +70,14 @@
 <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 = "format", type = "String"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<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 = "assignmentManager", type = "AssignmentManager"),<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<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">065</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;")})<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>
@@ -135,142 +135,142 @@
 <span class="sourceLineNo">127</span>      return m_format__IsNotDefault;<a name="line.127"></a>
 <span class="sourceLineNo">128</span>    }<a name="line.128"></a>
 <span class="sourceLineNo">129</span>    private boolean m_format__IsNotDefault;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    // 21, 1<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.131"></a>
+<span class="sourceLineNo">130</span>    // 28, 1<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    public void setServerManager(ServerManager serverManager)<a name="line.131"></a>
 <span class="sourceLineNo">132</span>    {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      // 21, 1<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      m_frags = frags;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      m_frags__IsNotDefault = true;<a name="line.135"></a>
+<span class="sourceLineNo">133</span>      // 28, 1<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      m_serverManager = serverManager;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      m_serverManager__IsNotDefault = true;<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.137"></a>
+<span class="sourceLineNo">137</span>    public ServerManager getServerManager()<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      return m_frags;<a name="line.139"></a>
+<span class="sourceLineNo">139</span>      return m_serverManager;<a name="line.139"></a>
 <span class="sourceLineNo">140</span>    }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    public boolean getFrags__IsNotDefault()<a name="line.142"></a>
+<span class="sourceLineNo">141</span>    private ServerManager m_serverManager;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    public boolean getServerManager__IsNotDefault()<a name="line.142"></a>
 <span class="sourceLineNo">143</span>    {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      return m_frags__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">144</span>      return m_serverManager__IsNotDefault;<a name="line.144"></a>
 <span class="sourceLineNo">145</span>    }<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    private boolean m_frags__IsNotDefault;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    // 24, 1<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.148"></a>
+<span class="sourceLineNo">146</span>    private boolean m_serverManager__IsNotDefault;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    // 26, 1<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    public void setFilter(String filter)<a name="line.148"></a>
 <span class="sourceLineNo">149</span>    {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      // 24, 1<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      m_deadServers = deadServers;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      m_deadServers__IsNotDefault = true;<a name="line.152"></a>
+<span class="sourceLineNo">150</span>      // 26, 1<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      m_filter = filter;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      m_filter__IsNotDefault = true;<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    public String getFilter()<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      return m_deadServers;<a name="line.156"></a>
+<span class="sourceLineNo">156</span>      return m_filter;<a name="line.156"></a>
 <span class="sourceLineNo">157</span>    }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    public boolean getDeadServers__IsNotDefault()<a name="line.159"></a>
+<span class="sourceLineNo">158</span>    private String m_filter;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    public boolean getFilter__IsNotDefault()<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      return m_deadServers__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">161</span>      return m_filter__IsNotDefault;<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    private boolean m_deadServers__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">163</span>    private boolean m_filter__IsNotDefault;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    // 29, 1<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.165"></a>
 <span class="sourceLineNo">166</span>    {<a name="line.166"></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">167</span>      // 29, 1<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      m_assignmentManager = assignmentManager;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      m_assignmentManager__IsNotDefault = true;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>    }<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    public ServerManager getServerManager()<a name="line.171"></a>
+<span class="sourceLineNo">171</span>    public AssignmentManager getAssignmentManager()<a name="line.171"></a>
 <span class="sourceLineNo">172</span>    {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      return m_serverManager;<a name="line.173"></a>
+<span class="sourceLineNo">173</span>      return m_assignmentManager;<a name="line.173"></a>
 <span class="sourceLineNo">174</span>    }<a name="line.174"></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">175</span>    private AssignmentManager m_assignmentManager;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      return m_serverManager__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">178</span>      return m_assignmentManager__IsNotDefault;<a name="line.178"></a>
 <span class="sourceLineNo">179</span>    }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    private boolean m_serverManager__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_assignmentManager__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&lt;String,Integer&gt; 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&lt;String,Integer&gt; 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&lt;String,Integer&gt; 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>    // 23, 1<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    public void setServers(List&lt;ServerName&gt; servers)<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&lt;ServerName&gt; deadServers)<a name="line.199"></a>
 <span class="sourceLineNo">200</span>    {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      // 23, 1<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      m_servers = servers;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      m_servers__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 List&lt;ServerName&gt; getServers()<a name="line.205"></a>
+<span class="sourceLineNo">205</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.205"></a>
 <span class="sourceLineNo">206</span>    {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      return m_servers;<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 List&lt;ServerName&gt; m_servers;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    public boolean getServers__IsNotDefault()<a name="line.210"></a>
+<span class="sourceLineNo">209</span>    private Set&lt;ServerName&gt; 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_servers__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_servers__IsNotDefault;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    // 26, 1<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    public void setFilter(String filter)<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>    // 22, 1<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.216"></a>
 <span class="sourceLineNo">217</span>    {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      // 26, 1<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      m_filter = filter;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      m_filter__IsNotDefault = true;<a name="line.220"></a>
+<span class="sourceLineNo">218</span>      // 22, 1<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      m_metaLocation = metaLocation;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      m_metaLocation__IsNotDefault = true;<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    }<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    public String getFilter()<a name="line.222"></a>
+<span class="sourceLineNo">222</span>    public ServerName getMetaLocation()<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      return m_filter;<a name="line.224"></a>
+<span class="sourceLineNo">224</span>      return m_metaLocation;<a name="line.224"></a>
 <span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    private String m_filter;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    public boolean getFilter__IsNotDefault()<a name="line.227"></a>
+<span class="sourceLineNo">226</span>    private ServerName m_metaLocation;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return m_filter__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span>      return m_metaLocation__IsNotDefault;<a name="line.229"></a>
 <span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    private boolean m_filter__IsNotDefault;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    // 22, 1<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.233"></a>
+<span class="sourceLineNo">231</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    // 25, 1<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.233"></a>
 <span class="sourceLineNo">234</span>    {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      // 22, 1<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      m_metaLocation = metaLocation;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      m_metaLocation__IsNotDefault = true;<a name="line.237"></a>
+<span class="sourceLineNo">235</span>      // 25, 1<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.237"></a>
 <span class="sourceLineNo">238</span>    }<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    public ServerName getMetaLocation()<a name="line.239"></a>
+<span class="sourceLineNo">239</span>    public boolean getCatalogJanitorEnabled()<a name="line.239"></a>
 <span class="sourceLineNo">240</span>    {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      return m_metaLocation;<a name="line.241"></a>
+<span class="sourceLineNo">241</span>      return m_catalogJanitorEnabled;<a name="line.241"></a>
 <span class="sourceLineNo">242</span>    }<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    private ServerName m_metaLocation;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.244"></a>
+<span class="sourceLineNo">243</span>    private boolean m_catalogJanitorEnabled;<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.244"></a>
 <span class="sourceLineNo">245</span>    {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      return m_metaLocation__IsNotDefault;<a name="line.246"></a>
+<span class="sourceLineNo">246</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.246"></a>
 <span class="sourceLineNo">247</span>    }<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    private boolean m_metaLocation__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">248</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    // 23, 1<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.250"></a>
 <span class="sourceLineNo">251</span>    {<a name="line.251"></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">252</span>      // 23, 1<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      m_servers = servers;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      m_servers__IsNotDefault = true;<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    }<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    public boolean getCatalogJanitorEnabled()<a name="line.256"></a>
+<span class="sourceLineNo">256</span>    public List&lt;ServerName&gt; getServers()<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      return m_catalogJanitorEnabled;<a name="line.258"></a>
+<span class="sourceLineNo">258</span>      return m_servers;<a name="line.258"></a>
 <span class="sourceLineNo">259</span>    }<a name="line.259"></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">260</span>    private List&lt;ServerName&gt; m_servers;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    public boolean getServers__IsNotDefault()<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>      return m_servers__IsNotDefault;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.265"></a>
+<span class="sourceLineNo">265</span>    private boolean m_servers__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>
@@ -289,59 +289,59 @@
 <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 Map&lt;String,Integer&gt; frags;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.285"></a>
+<span class="sourceLineNo">284</span>  protected ServerManager serverManager;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.285"></a>
 <span class="sourceLineNo">286</span>  {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    (getImplData()).setFrags(p_frags);<a name="line.287"></a>
+<span class="sourceLineNo">287</span>    (getImplData()).setServerManager(p_serverManager);<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 Set&lt;ServerName&gt; deadServers;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.292"></a>
+<span class="sourceLineNo">291</span>  protected String filter;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.292"></a>
 <span class="sourceLineNo">293</span>  {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.294"></a>
+<span class="sourceLineNo">294</span>    (getImplData()).setFilter(p_filter);<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 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">298</span>  protected AssignmentManager assignmentManager;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.299"></a>
 <span class="sourceLineNo">300</span>  {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.301"></a>
+<span class="sourceLineNo">301</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<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&lt;String,Integer&gt; frags;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; 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 List&lt;ServerName&gt; servers;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.313"></a>
+<span class="sourceLineNo">312</span>  protected Set&lt;ServerName&gt; deadServers;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.313"></a>
 <span class="sourceLineNo">314</span>  {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    (getImplData()).setServers(p_servers);<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 String filter;<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.320"></a>
+<span class="sourceLineNo">319</span>  protected ServerName metaLocation;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.320"></a>
 <span class="sourceLineNo">321</span>  {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    (getImplData()).setFilter(p_filter);<a name="line.322"></a>
+<span class="sourceLineNo">322</span>    (getImplData()).setMetaLocation(p_metaLocation);<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 ServerName metaLocation;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.327"></a>
+<span class="sourceLineNo">326</span>  protected boolean catalogJanitorEnabled;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.327"></a>
 <span class="sourceLineNo">328</span>  {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.329"></a>
+<span class="sourceLineNo">329</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<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 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">333</span>  protected List&lt;ServerName&gt; servers;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.334"></a>
 <span class="sourceLineNo">335</span>  {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.336"></a>
+<span class="sourceLineNo">336</span>    (getImplData()).setServers(p_servers);<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/f8f0a032/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 9307cf8..58df534 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
@@ -70,14 +70,14 @@
 <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 = "format", type = "String"),<a name="line.64"></a>
-<span class="sourceLineNo">065</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.65"></a>
-<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<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 = "assignmentManager", type = "AssignmentManager"),<a name="line.68"></a>
-<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<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">065</span>    @org.jamon.annotations.Argument(name = "serverManager", type = "ServerManager"),<a name="line.65"></a>
+<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.69"></a>
+<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.70"></a>
+<span class="sourceLineNo">071</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.71"></a>
+<span class="sourceLineNo">072</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;")})<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>
@@ -135,142 +135,142 @@
 <span class="sourceLineNo">127</span>      return m_format__IsNotDefault;<a name="line.127"></a>
 <span class="sourceLineNo">128</span>    }<a name="line.128"></a>
 <span class="sourceLineNo">129</span>    private boolean m_format__IsNotDefault;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    // 21, 1<a name="line.130"></a>
-<span class="sourceLineNo">131</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.131"></a>
+<span class="sourceLineNo">130</span>    // 28, 1<a name="line.130"></a>
+<span class="sourceLineNo">131</span>    public void setServerManager(ServerManager serverManager)<a name="line.131"></a>
 <span class="sourceLineNo">132</span>    {<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      // 21, 1<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      m_frags = frags;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      m_frags__IsNotDefault = true;<a name="line.135"></a>
+<span class="sourceLineNo">133</span>      // 28, 1<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      m_serverManager = serverManager;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>      m_serverManager__IsNotDefault = true;<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    }<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.137"></a>
+<span class="sourceLineNo">137</span>    public ServerManager getServerManager()<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      return m_frags;<a name="line.139"></a>
+<span class="sourceLineNo">139</span>      return m_serverManager;<a name="line.139"></a>
 <span class="sourceLineNo">140</span>    }<a name="line.140"></a>
-<span class="sourceLineNo">141</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    public boolean getFrags__IsNotDefault()<a name="line.142"></a>
+<span class="sourceLineNo">141</span>    private ServerManager m_serverManager;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>    public boolean getServerManager__IsNotDefault()<a name="line.142"></a>
 <span class="sourceLineNo">143</span>    {<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      return m_frags__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">144</span>      return m_serverManager__IsNotDefault;<a name="line.144"></a>
 <span class="sourceLineNo">145</span>    }<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    private boolean m_frags__IsNotDefault;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    // 24, 1<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.148"></a>
+<span class="sourceLineNo">146</span>    private boolean m_serverManager__IsNotDefault;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    // 26, 1<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    public void setFilter(String filter)<a name="line.148"></a>
 <span class="sourceLineNo">149</span>    {<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      // 24, 1<a name="line.150"></a>
-<span class="sourceLineNo">151</span>      m_deadServers = deadServers;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>      m_deadServers__IsNotDefault = true;<a name="line.152"></a>
+<span class="sourceLineNo">150</span>      // 26, 1<a name="line.150"></a>
+<span class="sourceLineNo">151</span>      m_filter = filter;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      m_filter__IsNotDefault = true;<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    }<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    public String getFilter()<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    {<a name="line.155"></a>
-<span class="sourceLineNo">156</span>      return m_deadServers;<a name="line.156"></a>
+<span class="sourceLineNo">156</span>      return m_filter;<a name="line.156"></a>
 <span class="sourceLineNo">157</span>    }<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    public boolean getDeadServers__IsNotDefault()<a name="line.159"></a>
+<span class="sourceLineNo">158</span>    private String m_filter;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    public boolean getFilter__IsNotDefault()<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      return m_deadServers__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">161</span>      return m_filter__IsNotDefault;<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    private boolean m_deadServers__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">163</span>    private boolean m_filter__IsNotDefault;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    // 29, 1<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.165"></a>
 <span class="sourceLineNo">166</span>    {<a name="line.166"></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">167</span>      // 29, 1<a name="line.167"></a>
+<span class="sourceLineNo">168</span>      m_assignmentManager = assignmentManager;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>      m_assignmentManager__IsNotDefault = true;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>    }<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    public ServerManager getServerManager()<a name="line.171"></a>
+<span class="sourceLineNo">171</span>    public AssignmentManager getAssignmentManager()<a name="line.171"></a>
 <span class="sourceLineNo">172</span>    {<a name="line.172"></a>
-<span class="sourceLineNo">173</span>      return m_serverManager;<a name="line.173"></a>
+<span class="sourceLineNo">173</span>      return m_assignmentManager;<a name="line.173"></a>
 <span class="sourceLineNo">174</span>    }<a name="line.174"></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">175</span>    private AssignmentManager m_assignmentManager;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    {<a name="line.177"></a>
-<span class="sourceLineNo">178</span>      return m_serverManager__IsNotDefault;<a name="line.178"></a>
+<span class="sourceLineNo">178</span>      return m_assignmentManager__IsNotDefault;<a name="line.178"></a>
 <span class="sourceLineNo">179</span>    }<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    private boolean m_serverManager__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_assignmentManager__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&lt;String,Integer&gt; 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&lt;String,Integer&gt; 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&lt;String,Integer&gt; 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>    // 23, 1<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    public void setServers(List&lt;ServerName&gt; servers)<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&lt;ServerName&gt; deadServers)<a name="line.199"></a>
 <span class="sourceLineNo">200</span>    {<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      // 23, 1<a name="line.201"></a>
-<span class="sourceLineNo">202</span>      m_servers = servers;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      m_servers__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 List&lt;ServerName&gt; getServers()<a name="line.205"></a>
+<span class="sourceLineNo">205</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.205"></a>
 <span class="sourceLineNo">206</span>    {<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      return m_servers;<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 List&lt;ServerName&gt; m_servers;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    public boolean getServers__IsNotDefault()<a name="line.210"></a>
+<span class="sourceLineNo">209</span>    private Set&lt;ServerName&gt; 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_servers__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_servers__IsNotDefault;<a name="line.214"></a>
-<span class="sourceLineNo">215</span>    // 26, 1<a name="line.215"></a>
-<span class="sourceLineNo">216</span>    public void setFilter(String filter)<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>    // 22, 1<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.216"></a>
 <span class="sourceLineNo">217</span>    {<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      // 26, 1<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      m_filter = filter;<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      m_filter__IsNotDefault = true;<a name="line.220"></a>
+<span class="sourceLineNo">218</span>      // 22, 1<a name="line.218"></a>
+<span class="sourceLineNo">219</span>      m_metaLocation = metaLocation;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>      m_metaLocation__IsNotDefault = true;<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    }<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    public String getFilter()<a name="line.222"></a>
+<span class="sourceLineNo">222</span>    public ServerName getMetaLocation()<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>      return m_filter;<a name="line.224"></a>
+<span class="sourceLineNo">224</span>      return m_metaLocation;<a name="line.224"></a>
 <span class="sourceLineNo">225</span>    }<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    private String m_filter;<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    public boolean getFilter__IsNotDefault()<a name="line.227"></a>
+<span class="sourceLineNo">226</span>    private ServerName m_metaLocation;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    {<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      return m_filter__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span>      return m_metaLocation__IsNotDefault;<a name="line.229"></a>
 <span class="sourceLineNo">230</span>    }<a name="line.230"></a>
-<span class="sourceLineNo">231</span>    private boolean m_filter__IsNotDefault;<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    // 22, 1<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.233"></a>
+<span class="sourceLineNo">231</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    // 25, 1<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.233"></a>
 <span class="sourceLineNo">234</span>    {<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      // 22, 1<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      m_metaLocation = metaLocation;<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      m_metaLocation__IsNotDefault = true;<a name="line.237"></a>
+<span class="sourceLineNo">235</span>      // 25, 1<a name="line.235"></a>
+<span class="sourceLineNo">236</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.236"></a>
+<span class="sourceLineNo">237</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.237"></a>
 <span class="sourceLineNo">238</span>    }<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    public ServerName getMetaLocation()<a name="line.239"></a>
+<span class="sourceLineNo">239</span>    public boolean getCatalogJanitorEnabled()<a name="line.239"></a>
 <span class="sourceLineNo">240</span>    {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      return m_metaLocation;<a name="line.241"></a>
+<span class="sourceLineNo">241</span>      return m_catalogJanitorEnabled;<a name="line.241"></a>
 <span class="sourceLineNo">242</span>    }<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    private ServerName m_metaLocation;<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.244"></a>
+<span class="sourceLineNo">243</span>    private boolean m_catalogJanitorEnabled;<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.244"></a>
 <span class="sourceLineNo">245</span>    {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>      return m_metaLocation__IsNotDefault;<a name="line.246"></a>
+<span class="sourceLineNo">246</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.246"></a>
 <span class="sourceLineNo">247</span>    }<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    private boolean m_metaLocation__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">248</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.248"></a>
+<span class="sourceLineNo">249</span>    // 23, 1<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.250"></a>
 <span class="sourceLineNo">251</span>    {<a name="line.251"></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">252</span>      // 23, 1<a name="line.252"></a>
+<span class="sourceLineNo">253</span>      m_servers = servers;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>      m_servers__IsNotDefault = true;<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    }<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    public boolean getCatalogJanitorEnabled()<a name="line.256"></a>
+<span class="sourceLineNo">256</span>    public List&lt;ServerName&gt; getServers()<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    {<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      return m_catalogJanitorEnabled;<a name="line.258"></a>
+<span class="sourceLineNo">258</span>      return m_servers;<a name="line.258"></a>
 <span class="sourceLineNo">259</span>    }<a name="line.259"></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">260</span>    private List&lt;ServerName&gt; m_servers;<a name="line.260"></a>
+<span class="sourceLineNo">261</span>    public boolean getServers__IsNotDefault()<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>      return m_servers__IsNotDefault;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>    }<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.265"></a>
+<span class="sourceLineNo">265</span>    private boolean m_servers__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>
@@ -289,59 +289,59 @@
 <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 Map&lt;String,Integer&gt; frags;<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.285"></a>
+<span class="sourceLineNo">284</span>  protected ServerManager serverManager;<a name="line.284"></a>
+<span class="sourceLineNo">285</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServerManager(ServerManager p_serverManager)<a name="line.285"></a>
 <span class="sourceLineNo">286</span>  {<a name="line.286"></a>
-<span class="sourceLineNo">287</span>    (getImplData()).setFrags(p_frags);<a name="line.287"></a>
+<span class="sourceLineNo">287</span>    (getImplData()).setServerManager(p_serverManager);<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 Set&lt;ServerName&gt; deadServers;<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.292"></a>
+<span class="sourceLineNo">291</span>  protected String filter;<a name="line.291"></a>
+<span class="sourceLineNo">292</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.292"></a>
 <span class="sourceLineNo">293</span>  {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.294"></a>
+<span class="sourceLineNo">294</span>    (getImplData()).setFilter(p_filter);<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 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">298</span>  protected AssignmentManager assignmentManager;<a name="line.298"></a>
+<span class="sourceLineNo">299</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.299"></a>
 <span class="sourceLineNo">300</span>  {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    (getImplData()).setServerManager(p_serverManager);<a name="line.301"></a>
+<span class="sourceLineNo">301</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<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&lt;String,Integer&gt; frags;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; 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 List&lt;ServerName&gt; servers;<a name="line.312"></a>
-<span class="sourceLineNo">313</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.313"></a>
+<span class="sourceLineNo">312</span>  protected Set&lt;ServerName&gt; deadServers;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.313"></a>
 <span class="sourceLineNo">314</span>  {<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    (getImplData()).setServers(p_servers);<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 String filter;<a name="line.319"></a>
-<span class="sourceLineNo">320</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.320"></a>
+<span class="sourceLineNo">319</span>  protected ServerName metaLocation;<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.320"></a>
 <span class="sourceLineNo">321</span>  {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    (getImplData()).setFilter(p_filter);<a name="line.322"></a>
+<span class="sourceLineNo">322</span>    (getImplData()).setMetaLocation(p_metaLocation);<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 ServerName metaLocation;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.327"></a>
+<span class="sourceLineNo">326</span>  protected boolean catalogJanitorEnabled;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.327"></a>
 <span class="sourceLineNo">328</span>  {<a name="line.328"></a>
-<span class="sourceLineNo">329</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.329"></a>
+<span class="sourceLineNo">329</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<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 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">333</span>  protected List&lt;ServerName&gt; servers;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setServers(List&lt;ServerName&gt; p_servers)<a name="line.334"></a>
 <span class="sourceLineNo">335</span>  {<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.336"></a>
+<span class="sourceLineNo">336</span>    (getImplData()).setServers(p_servers);<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>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 c3b12a1..1d04df1 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -685,20 +685,20 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="typeNameLink">ScannerContext.LimitScope</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 7c07d66..a700851 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/querymatcher/package-tree.html
@@ -125,10 +125,10 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.querymatcher.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/querymatcher/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.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/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/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.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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
index 320500a..326107e 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/wal/package-tree.html
@@ -248,8 +248,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.WALHdrResult.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">ProtobufLogReader.WALHdrResult</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/RingBufferTruck.Type.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">RingBufferTruck.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.wal.<a href="../../../../../../org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.WALHdrResult.html" title="enum in org.apache.hadoop.hbase.regionserver.wal"><span class="typeNameLink">ProtobufLogReader.WALHdrResult</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html b/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html
index d67c090..9e04b64 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.80">HBaseSaslRpcServer.SaslDigestCallbackHandler</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.143">HBaseSaslRpcServer.SaslDigestCallbackHandler</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/javax/security/auth/callback/CallbackHandler.html?is-external=true" title="class or interface in javax.security.auth.callback">CallbackHandler</a></pre>
 <div class="block">CallbackHandler for SASL DIGEST-MD5 mechanism</div>
@@ -140,10 +140,6 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/javax/security/auth
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <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>&lt;org.apache.hadoop.security.UserGroupInformation&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#attemptingUserConsumer">attemptingUserConsumer</a></span></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code>private org.apache.hadoop.security.token.SecretManager&lt;org.apache.hadoop.security.token.TokenIdentifier&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#secretManager">secretManager</a></span></code>&nbsp;</td>
 </tr>
@@ -162,8 +158,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/javax/security/auth
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#SaslDigestCallbackHandler-org.apache.hadoop.security.token.SecretManager-java.util.function.Consumer-">SaslDigestCallbackHandler</a></span>(org.apache.hadoop.security.token.SecretManager&lt;org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;secretManager,
-                         <a href="http://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;org.apache.hadoop.security.UserGroupInformation&gt;&nbsp;attemptingUserConsumer)</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#SaslDigestCallbackHandler-org.apache.hadoop.security.token.SecretManager-">SaslDigestCallbackHandler</a></span>(org.apache.hadoop.security.token.SecretManager&lt;org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;secretManager)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -213,19 +208,10 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/javax/security/auth
 <a name="secretManager">
 <!--   -->
 </a>
-<ul class="blockList">
-<li class="blockList">
-<h4>secretManager</h4>
-<pre>private&nbsp;org.apache.hadoop.security.token.SecretManager&lt;org.apache.hadoop.security.token.TokenIdentifier&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#line.81">secretManager</a></pre>
-</li>
-</ul>
-<a name="attemptingUserConsumer">
-<!--   -->
-</a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>attemptingUserConsumer</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;org.apache.hadoop.security.UserGroupInformation&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#line.82">attemptingUserConsumer</a></pre>
+<h4>secretManager</h4>
+<pre>private&nbsp;org.apache.hadoop.security.token.SecretManager&lt;org.apache.hadoop.security.token.TokenIdentifier&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#line.144">secretManager</a></pre>
 </li>
 </ul>
 </li>
@@ -236,14 +222,13 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/javax/security/auth
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="SaslDigestCallbackHandler-org.apache.hadoop.security.token.SecretManager-java.util.function.Consumer-">
+<a name="SaslDigestCallbackHandler-org.apache.hadoop.security.token.SecretManager-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SaslDigestCallbackHandler</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#line.84">SaslDigestCallbackHandler</a>(org.apache.hadoop.security.token.SecretManager&lt;org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;secretManager,
-                                 <a href="http://docs.oracle.com/javase/8/docs/api/java/util/function/Consumer.html?is-external=true" title="class or interface in java.util.function">Consumer</a>&lt;org.apache.hadoop.security.UserGroupInformation&gt;&nbsp;attemptingUserConsumer)</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#line.146">SaslDigestCallbackHandler</a>(org.apache.hadoop.security.token.SecretManager&lt;org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;secretManager)</pre>
 </li>
 </ul>
 </li>
@@ -260,7 +245,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/javax/security/auth
 <ul class="blockList">
 <li class="blockList">
 <h4>getPassword</h4>
-<pre>private&nbsp;char[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#line.90">getPassword</a>(org.apache.hadoop.security.token.TokenIdentifier&nbsp;tokenid)
+<pre>private&nbsp;char[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#line.150">getPassword</a>(org.apache.hadoop.security.token.TokenIdentifier&nbsp;tokenid)
                     throws org.apache.hadoop.security.token.SecretManager.InvalidToken</pre>
 <dl>
 <dt><span class="throwsLabel">Throws:</span></dt>
@@ -274,7 +259,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/javax/security/auth
 <ul class="blockListLast">
 <li class="blockList">
 <h4>handle</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#line.96">handle</a>(<a href="http://docs.oracle.com/javase/8/docs/api/javax/security/auth/callback/Callback.html?is-external=true" title="class or interface in javax.security.auth.callback">Callback</a>[]&nbsp;callbacks)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html#line.156">handle</a>(<a href="http://docs.oracle.com/javase/8/docs/api/javax/security/auth/callback/Callback.html?is-external=true" title="class or interface in javax.security.auth.callback">Callback</a>[]&nbsp;callbacks)
             throws org.apache.hadoop.security.token.SecretManager.InvalidToken,
                    <a href="http://docs.oracle.com/javase/8/docs/api/javax/security/auth/callback/UnsupportedCallbackException.html?is-external=true" title="class or interface in javax.security.auth.callback">UnsupportedCallbackException</a></pre>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html b/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html
index 87b1a7e..55d8c3e 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html
@@ -117,7 +117,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.148">HBaseSaslRpcServer.SaslGssCallbackHandler</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.205">HBaseSaslRpcServer.SaslGssCallbackHandler</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/javax/security/auth/callback/CallbackHandler.html?is-external=true" title="class or interface in javax.security.auth.callback">CallbackHandler</a></pre>
 <div class="block">CallbackHandler for SASL GSSAPI Kerberos mechanism</div>
@@ -136,10 +136,12 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/javax/security/auth
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Constructor Summary table, listing constructors, and an explanation">
 <caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
 <tr>
-<th class="colOne" scope="col">Constructor and Description</th>
+<th class="colFirst" scope="col">Modifier</th>
+<th class="colLast" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html#SaslGssCallbackHandler--">SaslGssCallbackHandler</a></span>()</code>&nbsp;</td>
+<td class="colFirst"><code>private </code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html#SaslGssCallbackHandler--">SaslGssCallbackHandler</a></span>()</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -188,7 +190,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/javax/security/auth
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SaslGssCallbackHandler</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html#line.148">SaslGssCallbackHandler</a>()</pre>
+<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html#line.205">SaslGssCallbackHandler</a>()</pre>
 </li>
 </ul>
 </li>
@@ -205,7 +207,7 @@ implements <a href="http://docs.oracle.com/javase/8/docs/api/javax/security/auth
 <ul class="blockListLast">
 <li class="blockList">
 <h4>handle</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html#line.152">handle</a>(<a href="http://docs.oracle.com/javase/8/docs/api/javax/security/auth/callback/Callback.html?is-external=true" title="class or interface in javax.security.auth.callback">Callback</a>[]&nbsp;callbacks)
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html#line.209">handle</a>(<a href="http://docs.oracle.com/javase/8/docs/api/javax/security/auth/callback/Callback.html?is-external=true" title="class or interface in javax.security.auth.callback">Callback</a>[]&nbsp;callbacks)
             throws <a href="http://docs.oracle.com/javase/8/docs/api/javax/security/auth/callback/UnsupportedCallbackException.html?is-external=true" title="class or interface in javax.security.auth.callback">UnsupportedCallbackException</a></pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html b/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html
index 8a2420b..30447c3 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html
@@ -18,8 +18,8 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9};
-var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
+var methods = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":9,"i5":10,"i6":10,"i7":10,"i8":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";
@@ -112,7 +112,8 @@ var activeTableTab = "activeTableTab";
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
 public class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.50">HBaseSaslRpcServer</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></pre>
-<div class="block">A utility class for dealing with SASL on RPC server</div>
+<div class="block">A utility class that encapsulates SASL logic for RPC server. Copied from
+ <code>org.apache.hadoop.security</code></div>
 </li>
 </ul>
 </div>
@@ -132,13 +133,13 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <th class="colLast" scope="col">Class and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colFirst"><code>private class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer.SaslDigestCallbackHandler</a></span></code>
 <div class="block">CallbackHandler for SASL DIGEST-MD5 mechanism</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colFirst"><code>private static class&nbsp;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslGssCallbackHandler.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer.SaslGssCallbackHandler</a></span></code>
 <div class="block">CallbackHandler for SASL GSSAPI Kerberos mechanism</div>
 </td>
@@ -159,12 +160,16 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <th class="colLast" scope="col">Field and Description</th>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>private org.apache.hadoop.security.UserGroupInformation</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#attemptingUser">attemptingUser</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <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/security/HBaseSaslRpcServer.html#LOG">LOG</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#saslProps">saslProps</a></span></code>&nbsp;</td>
+<tr class="altColor">
+<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslServer.html?is-external=true" title="class or interface in javax.security.sasl">SaslServer</a></code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#saslServer">saslServer</a></span></code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -181,7 +186,9 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <th class="colOne" scope="col">Constructor and Description</th>
 </tr>
 <tr class="altColor">
-<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#HBaseSaslRpcServer--">HBaseSaslRpcServer</a></span>()</code>&nbsp;</td>
+<td class="colOne"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#HBaseSaslRpcServer-org.apache.hadoop.hbase.security.AuthMethod-java.util.Map-org.apache.hadoop.security.token.SecretManager-">HBaseSaslRpcServer</a></span>(<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a>&nbsp;method,
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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>&gt;&nbsp;saslProps,
+                  org.apache.hadoop.security.token.SecretManager&lt;org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;secretManager)</code>&nbsp;</td>
 </tr>
 </table>
 </li>
@@ -193,23 +200,53 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 </a>
 <h3>Method Summary</h3>
 <table class="memberSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
+<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
 <tr>
 <th class="colFirst" scope="col">Modifier and Type</th>
 <th class="colLast" scope="col">Method and Description</th>
 </tr>
 <tr id="i0" class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#dispose--">dispose</a></span>()</code>
+<div class="block">Release resources used by wrapped saslServer</div>
+</td>
+</tr>
+<tr id="i1" class="rowColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#evaluateResponse-byte:A-">evaluateResponse</a></span>(byte[]&nbsp;response)</code>&nbsp;</td>
+</tr>
+<tr id="i2" class="altColor">
+<td class="colFirst"><code>org.apache.hadoop.security.UserGroupInformation</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#getAttemptingUser--">getAttemptingUser</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i3" class="rowColor">
+<td class="colFirst"><code><a href="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/security/HBaseSaslRpcServer.html#getAuthorizationID--">getAuthorizationID</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i4" class="altColor">
 <td class="colFirst"><code>static &lt;T extends org.apache.hadoop.security.token.TokenIdentifier&gt;<br>T</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#getIdentifier-java.lang.String-org.apache.hadoop.security.token.SecretManager-">getIdentifier</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;id,
              org.apache.hadoop.security.token.SecretManager&lt;T&gt;&nbsp;secretManager)</code>&nbsp;</td>
 </tr>
-<tr id="i1" class="rowColor">
-<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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>&gt;</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#getSaslProps--">getSaslProps</a></span>()</code>&nbsp;</td>
+<tr id="i5" class="rowColor">
+<td class="colFirst"><code><a href="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/security/HBaseSaslRpcServer.html#getNegotiatedQop--">getNegotiatedQop</a></span>()</code>&nbsp;</td>
 </tr>
-<tr id="i2" class="altColor">
-<td class="colFirst"><code>static void</code></td>
-<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#init-org.apache.hadoop.conf.Configuration-">init</a></span>(org.apache.hadoop.conf.Configuration&nbsp;conf)</code>&nbsp;</td>
+<tr id="i6" class="altColor">
+<td class="colFirst"><code>boolean</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#isComplete--">isComplete</a></span>()</code>&nbsp;</td>
+</tr>
+<tr id="i7" class="rowColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#unwrap-byte:A-int-int-">unwrap</a></span>(byte[]&nbsp;buf,
+      int&nbsp;off,
+      int&nbsp;len)</code>&nbsp;</td>
+</tr>
+<tr id="i8" class="altColor">
+<td class="colFirst"><code>byte[]</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#wrap-byte:A-int-int-">wrap</a></span>(byte[]&nbsp;buf,
+    int&nbsp;off,
+    int&nbsp;len)</code>&nbsp;</td>
 </tr>
 </table>
 <ul class="blockList">
@@ -239,16 +276,25 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.51">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.52">LOG</a></pre>
 </li>
 </ul>
-<a name="saslProps">
+<a name="saslServer">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>saslServer</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslServer.html?is-external=true" title="class or interface in javax.security.sasl">SaslServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.54">saslServer</a></pre>
+</li>
+</ul>
+<a name="attemptingUser">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>saslProps</h4>
-<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.53">saslProps</a></pre>
+<h4>attemptingUser</h4>
+<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.56">attemptingUser</a></pre>
 </li>
 </ul>
 </li>
@@ -259,13 +305,20 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <!--   -->
 </a>
 <h3>Constructor Detail</h3>
-<a name="HBaseSaslRpcServer--">
+<a name="HBaseSaslRpcServer-org.apache.hadoop.hbase.security.AuthMethod-java.util.Map-org.apache.hadoop.security.token.SecretManager-">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>HBaseSaslRpcServer</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.50">HBaseSaslRpcServer</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.58">HBaseSaslRpcServer</a>(<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a>&nbsp;method,
+                          <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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>&gt;&nbsp;saslProps,
+                          org.apache.hadoop.security.token.SecretManager&lt;org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;secretManager)
+                   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>
@@ -276,22 +329,96 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <!--   -->
 </a>
 <h3>Method Detail</h3>
-<a name="init-org.apache.hadoop.conf.Configuration-">
+<a name="isComplete--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>isComplete</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.97">isComplete</a>()</pre>
+</li>
+</ul>
+<a name="evaluateResponse-byte:A-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>evaluateResponse</h4>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.101">evaluateResponse</a>(byte[]&nbsp;response)
+                        throws <a href="http://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="dispose--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>dispose</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.106">dispose</a>()</pre>
+<div class="block">Release resources used by wrapped saslServer</div>
+</li>
+</ul>
+<a name="getAttemptingUser--">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>getAttemptingUser</h4>
+<pre>public&nbsp;org.apache.hadoop.security.UserGroupInformation&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.110">getAttemptingUser</a>()</pre>
+</li>
+</ul>
+<a name="wrap-byte:A-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>wrap</h4>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.114">wrap</a>(byte[]&nbsp;buf,
+                   int&nbsp;off,
+                   int&nbsp;len)
+            throws <a href="http://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="unwrap-byte:A-int-int-">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>unwrap</h4>
+<pre>public&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.118">unwrap</a>(byte[]&nbsp;buf,
+                     int&nbsp;off,
+                     int&nbsp;len)
+              throws <a href="http://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></pre>
+<dl>
+<dt><span class="throwsLabel">Throws:</span></dt>
+<dd><code><a href="http://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslException.html?is-external=true" title="class or interface in javax.security.sasl">SaslException</a></code></dd>
+</dl>
+</li>
+</ul>
+<a name="getNegotiatedQop--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>init</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.55">init</a>(org.apache.hadoop.conf.Configuration&nbsp;conf)</pre>
+<h4>getNegotiatedQop</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.122">getNegotiatedQop</a>()</pre>
 </li>
 </ul>
-<a name="getSaslProps--">
+<a name="getAuthorizationID--">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getSaslProps</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.60">getSaslProps</a>()</pre>
+<h4>getAuthorizationID</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.126">getAuthorizationID</a>()</pre>
 </li>
 </ul>
 <a name="getIdentifier-java.lang.String-org.apache.hadoop.security.token.SecretManager-">
@@ -300,7 +427,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getIdentifier</h4>
-<pre>public static&nbsp;&lt;T extends org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.64">getIdentifier</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>&nbsp;id,
+<pre>public static&nbsp;&lt;T extends org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;T&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#line.130">getIdentifier</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>&nbsp;id,
                                                                                            org.apache.hadoop.security.token.SecretManager&lt;T&gt;&nbsp;secretManager)
                                                                                     throws org.apache.hadoop.security.token.SecretManager.InvalidToken</pre>
 <dl>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html b/devapidocs/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html
index 67fa72d..28bf4e7 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html
@@ -122,7 +122,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.39">SaslUtil.QualityOfProtection</a>
+<pre>public static enum <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.40">SaslUtil.QualityOfProtection</a>
 extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang">Enum</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a>&gt;</pre>
 </li>
 </ul>
@@ -240,7 +240,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>AUTHENTICATION</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.40">AUTHENTICATION</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.41">AUTHENTICATION</a></pre>
 </li>
 </ul>
 <a name="INTEGRITY">
@@ -249,7 +249,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>INTEGRITY</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.41">INTEGRITY</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.42">INTEGRITY</a></pre>
 </li>
 </ul>
 <a name="PRIVACY">
@@ -258,7 +258,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>PRIVACY</h4>
-<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.42">PRIVACY</a></pre>
+<pre>public static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.43">PRIVACY</a></pre>
 </li>
 </ul>
 </li>
@@ -275,7 +275,7 @@ the order they are declared.</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>saslQop</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.44">saslQop</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.45">saslQop</a></pre>
 </li>
 </ul>
 </li>
@@ -292,7 +292,7 @@ the order they are declared.</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>values</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.126">values</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.135">values</a>()</pre>
 <div class="block">Returns an array containing the constants of this enum type, in
 the order they are declared.  This method may be used to iterate
 over the constants as follows:
@@ -312,7 +312,7 @@ for (SaslUtil.QualityOfProtection c : SaslUtil.QualityOfProtection.values())
 <ul class="blockList">
 <li class="blockList">
 <h4>valueOf</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.126">valueOf</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>&nbsp;name)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.135">valueOf</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>&nbsp;name)</pre>
 <div class="block">Returns the enum constant of this type with the specified name.
 The string must match <i>exactly</i> an identifier used to declare an
 enum constant in this type.  (Extraneous whitespace characters are 
@@ -334,7 +334,7 @@ not permitted.)</div>
 <ul class="blockList">
 <li class="blockList">
 <h4>getSaslQop</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.50">getSaslQop</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.51">getSaslQop</a>()</pre>
 </li>
 </ul>
 <a name="matches-java.lang.String-">
@@ -343,7 +343,7 @@ not permitted.)</div>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>matches</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.54">matches</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>&nbsp;stringQop)</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html#line.55">matches</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>&nbsp;stringQop)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/security/SaslUtil.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/SaslUtil.html b/devapidocs/org/apache/hadoop/hbase/security/SaslUtil.html
index 76eca1d..1d6f853 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/SaslUtil.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/SaslUtil.html
@@ -18,7 +18,7 @@
     catch(err) {
     }
 //-->
-var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9};
+var methods = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9};
 var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete Methods"]};
 var altColor = "altColor";
 var rowColor = "rowColor";
@@ -110,7 +110,7 @@ var activeTableTab = "activeTableTab";
 <hr>
 <br>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.Private</a>
-public class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.34">SaslUtil</a>
+public class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.35">SaslUtil</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></pre>
 </li>
 </ul>
@@ -213,7 +213,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 </td>
 </tr>
 <tr id="i4" class="altColor">
-<td class="colFirst"><code>(package private) static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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>&gt;</code></td>
+<td class="colFirst"><code>static <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.html#initSaslProperties-java.lang.String-">initSaslProperties</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;rpcProtection)</code>&nbsp;</td>
 </tr>
 <tr id="i5" class="rowColor">
@@ -221,6 +221,10 @@ 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/security/SaslUtil.html#safeDispose-javax.security.sasl.SaslClient-">safeDispose</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslClient.html?is-external=true" title="class or interface in javax.security.sasl">SaslClient</a>&nbsp;saslClient)</code>&nbsp;</td>
 </tr>
 <tr id="i6" class="altColor">
+<td class="colFirst"><code>(package private) static void</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.html#safeDispose-javax.security.sasl.SaslServer-">safeDispose</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslServer.html?is-external=true" title="class or interface in javax.security.sasl">SaslServer</a>&nbsp;saslServer)</code>&nbsp;</td>
+</tr>
+<tr id="i7" 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/security/SaslUtil.html#splitKerberosName-java.lang.String-">splitKerberosName</a></span>(<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;fullName)</code>
 <div class="block">Splitting fully qualified Kerberos name into parts</div>
@@ -254,7 +258,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.35">LOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.36">LOG</a></pre>
 </li>
 </ul>
 <a name="SASL_DEFAULT_REALM">
@@ -263,7 +267,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>SASL_DEFAULT_REALM</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.36">SASL_DEFAULT_REALM</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.37">SASL_DEFAULT_REALM</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.security.SaslUtil.SASL_DEFAULT_REALM">Constant Field Values</a></dd>
@@ -276,7 +280,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SWITCH_TO_SIMPLE_AUTH</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.37">SWITCH_TO_SIMPLE_AUTH</a></pre>
+<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.38">SWITCH_TO_SIMPLE_AUTH</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.security.SaslUtil.SWITCH_TO_SIMPLE_AUTH">Constant Field Values</a></dd>
@@ -297,7 +301,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>SaslUtil</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.34">SaslUtil</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.35">SaslUtil</a>()</pre>
 </li>
 </ul>
 </li>
@@ -314,7 +318,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>splitKerberosName</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.65">splitKerberosName</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>&nbsp;fullName)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.66">splitKerberosName</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>&nbsp;fullName)</pre>
 <div class="block">Splitting fully qualified Kerberos name into parts</div>
 </li>
 </ul>
@@ -324,7 +328,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>encodeIdentifier</h4>
-<pre>static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.69">encodeIdentifier</a>(byte[]&nbsp;identifier)</pre>
+<pre>static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.70">encodeIdentifier</a>(byte[]&nbsp;identifier)</pre>
 </li>
 </ul>
 <a name="decodeIdentifier-java.lang.String-">
@@ -333,7 +337,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>decodeIdentifier</h4>
-<pre>static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.73">decodeIdentifier</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>&nbsp;identifier)</pre>
+<pre>static&nbsp;byte[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.74">decodeIdentifier</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>&nbsp;identifier)</pre>
 </li>
 </ul>
 <a name="encodePassword-byte:A-">
@@ -342,7 +346,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>encodePassword</h4>
-<pre>static&nbsp;char[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.77">encodePassword</a>(byte[]&nbsp;password)</pre>
+<pre>static&nbsp;char[]&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.78">encodePassword</a>(byte[]&nbsp;password)</pre>
 </li>
 </ul>
 <a name="getQop-java.lang.String-">
@@ -351,7 +355,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getQop</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.86">getQop</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>&nbsp;stringQop)</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security">SaslUtil.QualityOfProtection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.87">getQop</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>&nbsp;stringQop)</pre>
 <div class="block">Returns <a href="../../../../../org/apache/hadoop/hbase/security/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security"><code>SaslUtil.QualityOfProtection</code></a>
  corresponding to the given <code>stringQop</code> value.</div>
 <dl>
@@ -366,7 +370,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>initSaslProperties</h4>
-<pre>static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.100">initSaslProperties</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>&nbsp;rpcProtection)</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.101">initSaslProperties</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>&nbsp;rpcProtection)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
 <dd><code>rpcProtection</code> - Value of 'hbase.rpc.protection' configuration.</dd>
@@ -378,10 +382,19 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <a name="safeDispose-javax.security.sasl.SaslClient-">
 <!--   -->
 </a>
+<ul class="blockList">
+<li class="blockList">
+<h4>safeDispose</h4>
+<pre>static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.120">safeDispose</a>(<a href="http://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslClient.html?is-external=true" title="class or interface in javax.security.sasl">SaslClient</a>&nbsp;saslClient)</pre>
+</li>
+</ul>
+<a name="safeDispose-javax.security.sasl.SaslServer-">
+<!--   -->
+</a>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>safeDispose</h4>
-<pre>static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.119">safeDispose</a>(<a href="http://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslClient.html?is-external=true" title="class or interface in javax.security.sasl">SaslClient</a>&nbsp;saslClient)</pre>
+<pre>static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/SaslUtil.html#line.128">safeDispose</a>(<a href="http://docs.oracle.com/javase/8/docs/api/javax/security/sasl/SaslServer.html?is-external=true" title="class or interface in javax.security.sasl">SaslServer</a>&nbsp;saslServer)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/security/class-use/AuthMethod.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/class-use/AuthMethod.html b/devapidocs/org/apache/hadoop/hbase/security/class-use/AuthMethod.html
index 4264170..1af4bd8 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/class-use/AuthMethod.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/class-use/AuthMethod.html
@@ -195,13 +195,18 @@ the order they are declared.</div>
                   boolean&nbsp;initStreamForCrypto)</code>&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html#HBaseSaslRpcServer-org.apache.hadoop.hbase.security.AuthMethod-java.util.Map-org.apache.hadoop.security.token.SecretManager-">HBaseSaslRpcServer</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a>&nbsp;method,
+                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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>&gt;&nbsp;saslProps,
+                  org.apache.hadoop.security.token.SecretManager&lt;org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;secretManager)</code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/NettyHBaseSaslRpcClient.html#NettyHBaseSaslRpcClient-org.apache.hadoop.hbase.security.AuthMethod-org.apache.hadoop.security.token.Token-java.lang.String-boolean-java.lang.String-">NettyHBaseSaslRpcClient</a></span>(<a href="../../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a>&nbsp;method,
                        org.apache.hadoop.security.token.Token&lt;? extends org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;token,
                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serverPrincipal,
                        boolean&nbsp;fallbackAllowed,
                        <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;rpcProtection)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/security/NettyHBaseSaslRpcClientHandler.html#NettyHBaseSaslRpcClientHandler-io.netty.util.concurrent.Promise-org.apache.hadoop.security.UserGroupInformation-org.apache.hadoop.hbase.security.AuthMethod-org.apache.hadoop.security.token.Token-java.lang.String-boolean-org.apache.hadoop.conf.Configuration-">NettyHBaseSaslRpcClientHandler</a></span>(io.netty.util.concurrent.Promise&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Boolean.html?is-external=true" title="class or interface in java.lang">Boolean</a>&gt;&nbsp;saslPromise,
                               org.apache.hadoop.security.UserGroupInformation&nbsp;ugi,
                               <a href="../../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security">AuthMethod</a>&nbsp;method,

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/security/class-use/HBaseSaslRpcServer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/class-use/HBaseSaslRpcServer.html b/devapidocs/org/apache/hadoop/hbase/security/class-use/HBaseSaslRpcServer.html
index e1565de..1a00461 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/class-use/HBaseSaslRpcServer.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/class-use/HBaseSaslRpcServer.html
@@ -72,7 +72,49 @@
 <div class="header">
 <h2 title="Uses of Class org.apache.hadoop.hbase.security.HBaseSaslRpcServer" class="title">Uses of Class<br>org.apache.hadoop.hbase.security.HBaseSaslRpcServer</h2>
 </div>
-<div class="classUseContainer">No usage of org.apache.hadoop.hbase.security.HBaseSaslRpcServer</div>
+<div class="classUseContainer">
+<ul class="blockList">
+<li class="blockList">
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing packages, and an explanation">
+<caption><span>Packages that use <a href="../../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Package</th>
+<th class="colLast" scope="col">Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><a href="#org.apache.hadoop.hbase.ipc">org.apache.hadoop.hbase.ipc</a></td>
+<td class="colLast">
+<div class="block">Tools to help define network clients and servers.</div>
+</td>
+</tr>
+</tbody>
+</table>
+</li>
+<li class="blockList">
+<ul class="blockList">
+<li class="blockList"><a name="org.apache.hadoop.hbase.ipc">
+<!--   -->
+</a>
+<h3>Uses of <a href="../../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a> in <a href="../../../../../../org/apache/hadoop/hbase/ipc/package-summary.html">org.apache.hadoop.hbase.ipc</a></h3>
+<table class="useSummary" border="0" cellpadding="3" cellspacing="0" summary="Use table, listing fields, and an explanation">
+<caption><span>Fields in <a href="../../../../../../org/apache/hadoop/hbase/ipc/package-summary.html">org.apache.hadoop.hbase.ipc</a> declared as <a href="../../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Field and Description</th>
+</tr>
+<tbody>
+<tr class="altColor">
+<td class="colFirst"><code>protected <a href="../../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></code></td>
+<td class="colLast"><span class="typeNameLabel">ServerRpcConnection.</span><code><span class="memberNameLink"><a href="../../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#saslServer">saslServer</a></span></code>&nbsp;</td>
+</tr>
+</tbody>
+</table>
+</li>
+</ul>
+</li>
+</ul>
+</div>
 <!-- ======= START OF BOTTOM NAVBAR ====== -->
 <div class="bottomNav"><a name="navbar.bottom">
 <!--   -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/security/package-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/package-frame.html b/devapidocs/org/apache/hadoop/hbase/security/package-frame.html
index d3f8d26..5206d38 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/package-frame.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/package-frame.html
@@ -21,7 +21,6 @@
 <li><a href="HBasePolicyProvider.html" title="class in org.apache.hadoop.hbase.security" target="classFrame">HBasePolicyProvider</a></li>
 <li><a href="HBaseSaslRpcClient.html" title="class in org.apache.hadoop.hbase.security" target="classFrame">HBaseSaslRpcClient</a></li>
 <li><a href="HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security" target="classFrame">HBaseSaslRpcServer</a></li>
-<li><a href="HBaseSaslRpcServer.SaslDigestCallbackHandler.html" title="class in org.apache.hadoop.hbase.security" target="classFrame">HBaseSaslRpcServer.SaslDigestCallbackHandler</a></li>
 <li><a href="HBaseSaslRpcServer.SaslGssCallbackHandler.html" title="class in org.apache.hadoop.hbase.security" target="classFrame">HBaseSaslRpcServer.SaslGssCallbackHandler</a></li>
 <li><a href="NettyHBaseRpcConnectionHeaderHandler.html" title="class in org.apache.hadoop.hbase.security" target="classFrame">NettyHBaseRpcConnectionHeaderHandler</a></li>
 <li><a href="NettyHBaseSaslRpcClient.html" title="class in org.apache.hadoop.hbase.security" target="classFrame">NettyHBaseSaslRpcClient</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/security/package-summary.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/package-summary.html b/devapidocs/org/apache/hadoop/hbase/security/package-summary.html
index 8379788..75ebb00 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/package-summary.html
@@ -126,13 +126,7 @@
 <tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer</a></td>
 <td class="colLast">
-<div class="block">A utility class for dealing with SASL on RPC server</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseSaslRpcServer.SaslDigestCallbackHandler.html" title="class in org.apache.hadoop.hbase.security">HBaseSaslRpcServer.SaslDigestCallbackHandler</a></td>
-<td class="colLast">
-<div class="block">CallbackHandler for SASL DIGEST-MD5 mechanism</div>
+<div class="block">A utility class that encapsulates SASL logic for RPC server.</div>
 </td>
 </tr>
 <tr class="rowColor">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AuthMethod.html" title="enum in org.apache.hadoop.hbase.security"><span class="typeNameLink">AuthMethod</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/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/f8f0a032/devapidocs/org/apache/hadoop/hbase/security/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/package-use.html b/devapidocs/org/apache/hadoop/hbase/security/package-use.html
index 23adf39..f2fcb50 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/package-use.html
@@ -257,14 +257,19 @@ service.</div>
 </td>
 </tr>
 <tr class="altColor">
-<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/security/class-use/SaslStatus.html#org.apache.hadoop.hbase.ipc">SaslStatus</a>&nbsp;</td>
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/security/class-use/HBaseSaslRpcServer.html#org.apache.hadoop.hbase.ipc">HBaseSaslRpcServer</a>
+<div class="block">A utility class that encapsulates SASL logic for RPC server.</div>
+</td>
 </tr>
 <tr class="rowColor">
+<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/security/class-use/SaslStatus.html#org.apache.hadoop.hbase.ipc">SaslStatus</a>&nbsp;</td>
+</tr>
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/security/class-use/User.html#org.apache.hadoop.hbase.ipc">User</a>
 <div class="block">Wrapper to abstract out usage of user and group information in HBase.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/security/class-use/UserProvider.html#org.apache.hadoop.hbase.ipc">UserProvider</a>
 <div class="block">Provide an instance of a user.</div>
 </td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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..8068c8f 100644
--- a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
@@ -198,9 +198,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.thrift.<a href="../../../../../org/apache/hadoop/hbase/thrift/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>
+<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>
 </ul>
 </li>
 </ul>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.Modify.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.Modify.html b/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.Modify.html
index ac13492..ce4327f 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.Modify.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/HConstants.Modify.html
@@ -1101,284 +1101,280 @@
 <span class="sourceLineNo">1093</span>    "hbase.regionserver.wal.enablecompression";<a name="line.1093"></a>
 <span class="sourceLineNo">1094</span><a name="line.1094"></a>
 <span class="sourceLineNo">1095</span>  /** Configuration name of WAL storage policy<a name="line.1095"></a>
-<span class="sourceLineNo">1096</span>   * Valid values are:<a name="line.1096"></a>
-<span class="sourceLineNo">1097</span>   *  NONE: no preference in destination of block replicas<a name="line.1097"></a>
-<span class="sourceLineNo">1098</span>   *  ONE_SSD: place only one block replica in SSD and the remaining in default storage<a name="line.1098"></a>
-<span class="sourceLineNo">1099</span>   *  and ALL_SSD: place all block replicas on SSD<a name="line.1099"></a>
-<span class="sourceLineNo">1100</span>   *<a name="line.1100"></a>
-<span class="sourceLineNo">1101</span>   * See http://hadoop.apache.org/docs/r2.6.0/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html*/<a name="line.1101"></a>
-<span class="sourceLineNo">1102</span>  public static final String WAL_STORAGE_POLICY = "hbase.wal.storage.policy";<a name="line.1102"></a>
-<span class="sourceLineNo">1103</span>  public static final String DEFAULT_WAL_STORAGE_POLICY = "NONE";<a name="line.1103"></a>
+<span class="sourceLineNo">1096</span>   * Valid values are: HOT, COLD, WARM, ALL_SSD, ONE_SSD, LAZY_PERSIST<a name="line.1096"></a>
+<span class="sourceLineNo">1097</span>   * See http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/ArchivalStorage.html*/<a name="line.1097"></a>
+<span class="sourceLineNo">1098</span>  public static final String WAL_STORAGE_POLICY = "hbase.wal.storage.policy";<a name="line.1098"></a>
+<span class="sourceLineNo">1099</span>  public static final String DEFAULT_WAL_STORAGE_POLICY = "HOT";<a name="line.1099"></a>
+<span class="sourceLineNo">1100</span><a name="line.1100"></a>
+<span class="sourceLineNo">1101</span>  /** Region in Transition metrics threshold time */<a name="line.1101"></a>
+<span class="sourceLineNo">1102</span>  public static final String METRICS_RIT_STUCK_WARNING_THRESHOLD =<a name="line.1102"></a>
+<span class="sourceLineNo">1103</span>      "hbase.metrics.rit.stuck.warning.threshold";<a name="line.1103"></a>
 <span class="sourceLineNo">1104</span><a name="line.1104"></a>
-<span class="sourceLineNo">1105</span>  /** Region in Transition metrics threshold time */<a name="line.1105"></a>
-<span class="sourceLineNo">1106</span>  public static final String METRICS_RIT_STUCK_WARNING_THRESHOLD =<a name="line.1106"></a>
-<span class="sourceLineNo">1107</span>      "hbase.metrics.rit.stuck.warning.threshold";<a name="line.1107"></a>
-<span class="sourceLineNo">1108</span><a name="line.1108"></a>
-<span class="sourceLineNo">1109</span>  public static final String LOAD_BALANCER_SLOP_KEY = "hbase.regions.slop";<a name="line.1109"></a>
-<span class="sourceLineNo">1110</span><a name="line.1110"></a>
-<span class="sourceLineNo">1111</span>  /** delimiter used between portions of a region name */<a name="line.1111"></a>
-<span class="sourceLineNo">1112</span>  public static final int DELIMITER = ',';<a name="line.1112"></a>
-<span class="sourceLineNo">1113</span><a name="line.1113"></a>
-<span class="sourceLineNo">1114</span>  /**<a name="line.1114"></a>
-<span class="sourceLineNo">1115</span>   * QOS attributes: these attributes are used to demarcate RPC call processing<a name="line.1115"></a>
-<span class="sourceLineNo">1116</span>   * by different set of handlers. For example, HIGH_QOS tagged methods are<a name="line.1116"></a>
-<span class="sourceLineNo">1117</span>   * handled by high priority handlers.<a name="line.1117"></a>
-<span class="sourceLineNo">1118</span>   */<a name="line.1118"></a>
-<span class="sourceLineNo">1119</span>  // normal_QOS &lt; replication_QOS &lt; replay_QOS &lt; QOS_threshold &lt; admin_QOS &lt; high_QOS<a name="line.1119"></a>
-<span class="sourceLineNo">1120</span>  public static final int NORMAL_QOS = 0;<a name="line.1120"></a>
-<span class="sourceLineNo">1121</span>  public static final int REPLICATION_QOS = 5;<a name="line.1121"></a>
-<span class="sourceLineNo">1122</span>  public static final int REPLAY_QOS = 6;<a name="line.1122"></a>
-<span class="sourceLineNo">1123</span>  public static final int QOS_THRESHOLD = 10;<a name="line.1123"></a>
-<span class="sourceLineNo">1124</span>  public static final int ADMIN_QOS = 100;<a name="line.1124"></a>
-<span class="sourceLineNo">1125</span>  public static final int HIGH_QOS = 200;<a name="line.1125"></a>
-<span class="sourceLineNo">1126</span>  public static final int SYSTEMTABLE_QOS = HIGH_QOS;<a name="line.1126"></a>
-<span class="sourceLineNo">1127</span><a name="line.1127"></a>
-<span class="sourceLineNo">1128</span>  /** Directory under /hbase where archived hfiles are stored */<a name="line.1128"></a>
-<span class="sourceLineNo">1129</span>  public static final String HFILE_ARCHIVE_DIRECTORY = "archive";<a name="line.1129"></a>
-<span class="sourceLineNo">1130</span><a name="line.1130"></a>
-<span class="sourceLineNo">1131</span>  /**<a name="line.1131"></a>
-<span class="sourceLineNo">1132</span>   * Name of the directory to store all snapshots. See SnapshotDescriptionUtils for<a name="line.1132"></a>
-<span class="sourceLineNo">1133</span>   * remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and<a name="line.1133"></a>
-<span class="sourceLineNo">1134</span>   * uni-directional.<a name="line.1134"></a>
-<span class="sourceLineNo">1135</span>   */<a name="line.1135"></a>
-<span class="sourceLineNo">1136</span>  public static final String SNAPSHOT_DIR_NAME = ".hbase-snapshot";<a name="line.1136"></a>
-<span class="sourceLineNo">1137</span><a name="line.1137"></a>
-<span class="sourceLineNo">1138</span>  /* Name of old snapshot directory. See HBASE-8352 for details on why it needs to be renamed */<a name="line.1138"></a>
-<span class="sourceLineNo">1139</span>  public static final String OLD_SNAPSHOT_DIR_NAME = ".snapshot";<a name="line.1139"></a>
-<span class="sourceLineNo">1140</span><a name="line.1140"></a>
-<span class="sourceLineNo">1141</span>  /** Temporary directory used for table creation and deletion */<a name="line.1141"></a>
-<span class="sourceLineNo">1142</span>  public static final String HBASE_TEMP_DIRECTORY = ".tmp";<a name="line.1142"></a>
-<span class="sourceLineNo">1143</span>  /**<a name="line.1143"></a>
-<span class="sourceLineNo">1144</span>   * The period (in milliseconds) between computing region server point in time metrics<a name="line.1144"></a>
-<span class="sourceLineNo">1145</span>   */<a name="line.1145"></a>
-<span class="sourceLineNo">1146</span>  public static final String REGIONSERVER_METRICS_PERIOD = "hbase.regionserver.metrics.period";<a name="line.1146"></a>
-<span class="sourceLineNo">1147</span>  public static final long DEFAULT_REGIONSERVER_METRICS_PERIOD = 5000;<a name="line.1147"></a>
-<span class="sourceLineNo">1148</span>  /** Directories that are not HBase table directories */<a name="line.1148"></a>
-<span class="sourceLineNo">1149</span>  public static final List&lt;String&gt; HBASE_NON_TABLE_DIRS =<a name="line.1149"></a>
-<span class="sourceLineNo">1150</span>    Collections.unmodifiableList(Arrays.asList(new String[] {<a name="line.1150"></a>
-<span class="sourceLineNo">1151</span>      HBCK_SIDELINEDIR_NAME, HBASE_TEMP_DIRECTORY, MIGRATION_NAME<a name="line.1151"></a>
-<span class="sourceLineNo">1152</span>    }));<a name="line.1152"></a>
-<span class="sourceLineNo">1153</span><a name="line.1153"></a>
-<span class="sourceLineNo">1154</span>  /** Directories that are not HBase user table directories */<a name="line.1154"></a>
-<span class="sourceLineNo">1155</span>  public static final List&lt;String&gt; HBASE_NON_USER_TABLE_DIRS =<a name="line.1155"></a>
-<span class="sourceLineNo">1156</span>    Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(<a name="line.1156"></a>
-<span class="sourceLineNo">1157</span>      new String[] { TableName.META_TABLE_NAME.getNameAsString() },<a name="line.1157"></a>
-<span class="sourceLineNo">1158</span>      HBASE_NON_TABLE_DIRS.toArray())));<a name="line.1158"></a>
-<span class="sourceLineNo">1159</span><a name="line.1159"></a>
-<span class="sourceLineNo">1160</span>  /** Health script related settings. */<a name="line.1160"></a>
-<span class="sourceLineNo">1161</span>  public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";<a name="line.1161"></a>
-<span class="sourceLineNo">1162</span>  public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";<a name="line.1162"></a>
-<span class="sourceLineNo">1163</span>  public static final String HEALTH_CHORE_WAKE_FREQ =<a name="line.1163"></a>
-<span class="sourceLineNo">1164</span>      "hbase.node.health.script.frequency";<a name="line.1164"></a>
-<span class="sourceLineNo">1165</span>  public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;<a name="line.1165"></a>
-<span class="sourceLineNo">1166</span>  /**<a name="line.1166"></a>
-<span class="sourceLineNo">1167</span>   * The maximum number of health check failures a server can encounter consecutively.<a name="line.1167"></a>
-<span class="sourceLineNo">1168</span>   */<a name="line.1168"></a>
-<span class="sourceLineNo">1169</span>  public static final String HEALTH_FAILURE_THRESHOLD =<a name="line.1169"></a>
-<span class="sourceLineNo">1170</span>      "hbase.node.health.failure.threshold";<a name="line.1170"></a>
-<span class="sourceLineNo">1171</span>  public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;<a name="line.1171"></a>
-<span class="sourceLineNo">1172</span><a name="line.1172"></a>
-<span class="sourceLineNo">1173</span><a name="line.1173"></a>
-<span class="sourceLineNo">1174</span>  /**<a name="line.1174"></a>
-<span class="sourceLineNo">1175</span>   * Setting to activate, or not, the publication of the status by the master. Default<a name="line.1175"></a>
-<span class="sourceLineNo">1176</span>   *  notification is by a multicast message.<a name="line.1176"></a>
-<span class="sourceLineNo">1177</span>   */<a name="line.1177"></a>
-<span class="sourceLineNo">1178</span>  public static final String STATUS_PUBLISHED = "hbase.status.published";<a name="line.1178"></a>
-<span class="sourceLineNo">1179</span>  public static final boolean STATUS_PUBLISHED_DEFAULT = false;<a name="line.1179"></a>
-<span class="sourceLineNo">1180</span><a name="line.1180"></a>
-<span class="sourceLineNo">1181</span>  /**<a name="line.1181"></a>
-<span class="sourceLineNo">1182</span>   * IP to use for the multicast status messages between the master and the clients.<a name="line.1182"></a>
-<span class="sourceLineNo">1183</span>   * The default address is chosen as one among others within the ones suitable for multicast<a name="line.1183"></a>
-<span class="sourceLineNo">1184</span>   * messages.<a name="line.1184"></a>
-<span class="sourceLineNo">1185</span>   */<a name="line.1185"></a>
-<span class="sourceLineNo">1186</span>  public static final String STATUS_MULTICAST_ADDRESS = "hbase.status.multicast.address.ip";<a name="line.1186"></a>
-<span class="sourceLineNo">1187</span>  public static final String DEFAULT_STATUS_MULTICAST_ADDRESS = "226.1.1.3";<a name="line.1187"></a>
-<span class="sourceLineNo">1188</span><a name="line.1188"></a>
-<span class="sourceLineNo">1189</span>  /**<a name="line.1189"></a>
-<span class="sourceLineNo">1190</span>   * The address to use for binding the local socket for receiving multicast. Defaults to<a name="line.1190"></a>
-<span class="sourceLineNo">1191</span>   * 0.0.0.0.<a name="line.1191"></a>
-<span class="sourceLineNo">1192</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-9961"&gt;HBASE-9961&lt;/a&gt;<a name="line.1192"></a>
-<span class="sourceLineNo">1193</span>   */<a name="line.1193"></a>
-<span class="sourceLineNo">1194</span>  public static final String STATUS_MULTICAST_BIND_ADDRESS =<a name="line.1194"></a>
-<span class="sourceLineNo">1195</span>      "hbase.status.multicast.bind.address.ip";<a name="line.1195"></a>
-<span class="sourceLineNo">1196</span>  public static final String DEFAULT_STATUS_MULTICAST_BIND_ADDRESS = "0.0.0.0";<a name="line.1196"></a>
-<span class="sourceLineNo">1197</span><a name="line.1197"></a>
-<span class="sourceLineNo">1198</span>  /**<a name="line.1198"></a>
-<span class="sourceLineNo">1199</span>   * The port to use for the multicast messages.<a name="line.1199"></a>
-<span class="sourceLineNo">1200</span>   */<a name="line.1200"></a>
-<span class="sourceLineNo">1201</span>  public static final String STATUS_MULTICAST_PORT = "hbase.status.multicast.address.port";<a name="line.1201"></a>
-<span class="sourceLineNo">1202</span>  public static final int DEFAULT_STATUS_MULTICAST_PORT = 16100;<a name="line.1202"></a>
-<span class="sourceLineNo">1203</span><a name="line.1203"></a>
-<span class="sourceLineNo">1204</span>  public static final long NO_NONCE = 0;<a name="line.1204"></a>
-<span class="sourceLineNo">1205</span><a name="line.1205"></a>
-<span class="sourceLineNo">1206</span>  /** Default cipher for encryption */<a name="line.1206"></a>
-<span class="sourceLineNo">1207</span>  public static final String CIPHER_AES = "AES";<a name="line.1207"></a>
-<span class="sourceLineNo">1208</span><a name="line.1208"></a>
-<span class="sourceLineNo">1209</span>  /** Configuration key for the crypto algorithm provider, a class name */<a name="line.1209"></a>
-<span class="sourceLineNo">1210</span>  public static final String CRYPTO_CIPHERPROVIDER_CONF_KEY = "hbase.crypto.cipherprovider";<a name="line.1210"></a>
-<span class="sourceLineNo">1211</span><a name="line.1211"></a>
-<span class="sourceLineNo">1212</span>  /** Configuration key for the crypto key provider, a class name */<a name="line.1212"></a>
-<span class="sourceLineNo">1213</span>  public static final String CRYPTO_KEYPROVIDER_CONF_KEY = "hbase.crypto.keyprovider";<a name="line.1213"></a>
+<span class="sourceLineNo">1105</span>  public static final String LOAD_BALANCER_SLOP_KEY = "hbase.regions.slop";<a name="line.1105"></a>
+<span class="sourceLineNo">1106</span><a name="line.1106"></a>
+<span class="sourceLineNo">1107</span>  /** delimiter used between portions of a region name */<a name="line.1107"></a>
+<span class="sourceLineNo">1108</span>  public static final int DELIMITER = ',';<a name="line.1108"></a>
+<span class="sourceLineNo">1109</span><a name="line.1109"></a>
+<span class="sourceLineNo">1110</span>  /**<a name="line.1110"></a>
+<span class="sourceLineNo">1111</span>   * QOS attributes: these attributes are used to demarcate RPC call processing<a name="line.1111"></a>
+<span class="sourceLineNo">1112</span>   * by different set of handlers. For example, HIGH_QOS tagged methods are<a name="line.1112"></a>
+<span class="sourceLineNo">1113</span>   * handled by high priority handlers.<a name="line.1113"></a>
+<span class="sourceLineNo">1114</span>   */<a name="line.1114"></a>
+<span class="sourceLineNo">1115</span>  // normal_QOS &lt; replication_QOS &lt; replay_QOS &lt; QOS_threshold &lt; admin_QOS &lt; high_QOS<a name="line.1115"></a>
+<span class="sourceLineNo">1116</span>  public static final int NORMAL_QOS = 0;<a name="line.1116"></a>
+<span class="sourceLineNo">1117</span>  public static final int REPLICATION_QOS = 5;<a name="line.1117"></a>
+<span class="sourceLineNo">1118</span>  public static final int REPLAY_QOS = 6;<a name="line.1118"></a>
+<span class="sourceLineNo">1119</span>  public static final int QOS_THRESHOLD = 10;<a name="line.1119"></a>
+<span class="sourceLineNo">1120</span>  public static final int ADMIN_QOS = 100;<a name="line.1120"></a>
+<span class="sourceLineNo">1121</span>  public static final int HIGH_QOS = 200;<a name="line.1121"></a>
+<span class="sourceLineNo">1122</span>  public static final int SYSTEMTABLE_QOS = HIGH_QOS;<a name="line.1122"></a>
+<span class="sourceLineNo">1123</span><a name="line.1123"></a>
+<span class="sourceLineNo">1124</span>  /** Directory under /hbase where archived hfiles are stored */<a name="line.1124"></a>
+<span class="sourceLineNo">1125</span>  public static final String HFILE_ARCHIVE_DIRECTORY = "archive";<a name="line.1125"></a>
+<span class="sourceLineNo">1126</span><a name="line.1126"></a>
+<span class="sourceLineNo">1127</span>  /**<a name="line.1127"></a>
+<span class="sourceLineNo">1128</span>   * Name of the directory to store all snapshots. See SnapshotDescriptionUtils for<a name="line.1128"></a>
+<span class="sourceLineNo">1129</span>   * remaining snapshot constants; this is here to keep HConstants dependencies at a minimum and<a name="line.1129"></a>
+<span class="sourceLineNo">1130</span>   * uni-directional.<a name="line.1130"></a>
+<span class="sourceLineNo">1131</span>   */<a name="line.1131"></a>
+<span class="sourceLineNo">1132</span>  public static final String SNAPSHOT_DIR_NAME = ".hbase-snapshot";<a name="line.1132"></a>
+<span class="sourceLineNo">1133</span><a name="line.1133"></a>
+<span class="sourceLineNo">1134</span>  /* Name of old snapshot directory. See HBASE-8352 for details on why it needs to be renamed */<a name="line.1134"></a>
+<span class="sourceLineNo">1135</span>  public static final String OLD_SNAPSHOT_DIR_NAME = ".snapshot";<a name="line.1135"></a>
+<span class="sourceLineNo">1136</span><a name="line.1136"></a>
+<span class="sourceLineNo">1137</span>  /** Temporary directory used for table creation and deletion */<a name="line.1137"></a>
+<span class="sourceLineNo">1138</span>  public static final String HBASE_TEMP_DIRECTORY = ".tmp";<a name="line.1138"></a>
+<span class="sourceLineNo">1139</span>  /**<a name="line.1139"></a>
+<span class="sourceLineNo">1140</span>   * The period (in milliseconds) between computing region server point in time metrics<a name="line.1140"></a>
+<span class="sourceLineNo">1141</span>   */<a name="line.1141"></a>
+<span class="sourceLineNo">1142</span>  public static final String REGIONSERVER_METRICS_PERIOD = "hbase.regionserver.metrics.period";<a name="line.1142"></a>
+<span class="sourceLineNo">1143</span>  public static final long DEFAULT_REGIONSERVER_METRICS_PERIOD = 5000;<a name="line.1143"></a>
+<span class="sourceLineNo">1144</span>  /** Directories that are not HBase table directories */<a name="line.1144"></a>
+<span class="sourceLineNo">1145</span>  public static final List&lt;String&gt; HBASE_NON_TABLE_DIRS =<a name="line.1145"></a>
+<span class="sourceLineNo">1146</span>    Collections.unmodifiableList(Arrays.asList(new String[] {<a name="line.1146"></a>
+<span class="sourceLineNo">1147</span>      HBCK_SIDELINEDIR_NAME, HBASE_TEMP_DIRECTORY, MIGRATION_NAME<a name="line.1147"></a>
+<span class="sourceLineNo">1148</span>    }));<a name="line.1148"></a>
+<span class="sourceLineNo">1149</span><a name="line.1149"></a>
+<span class="sourceLineNo">1150</span>  /** Directories that are not HBase user table directories */<a name="line.1150"></a>
+<span class="sourceLineNo">1151</span>  public static final List&lt;String&gt; HBASE_NON_USER_TABLE_DIRS =<a name="line.1151"></a>
+<span class="sourceLineNo">1152</span>    Collections.unmodifiableList(Arrays.asList((String[])ArrayUtils.addAll(<a name="line.1152"></a>
+<span class="sourceLineNo">1153</span>      new String[] { TableName.META_TABLE_NAME.getNameAsString() },<a name="line.1153"></a>
+<span class="sourceLineNo">1154</span>      HBASE_NON_TABLE_DIRS.toArray())));<a name="line.1154"></a>
+<span class="sourceLineNo">1155</span><a name="line.1155"></a>
+<span class="sourceLineNo">1156</span>  /** Health script related settings. */<a name="line.1156"></a>
+<span class="sourceLineNo">1157</span>  public static final String HEALTH_SCRIPT_LOC = "hbase.node.health.script.location";<a name="line.1157"></a>
+<span class="sourceLineNo">1158</span>  public static final String HEALTH_SCRIPT_TIMEOUT = "hbase.node.health.script.timeout";<a name="line.1158"></a>
+<span class="sourceLineNo">1159</span>  public static final String HEALTH_CHORE_WAKE_FREQ =<a name="line.1159"></a>
+<span class="sourceLineNo">1160</span>      "hbase.node.health.script.frequency";<a name="line.1160"></a>
+<span class="sourceLineNo">1161</span>  public static final long DEFAULT_HEALTH_SCRIPT_TIMEOUT = 60000;<a name="line.1161"></a>
+<span class="sourceLineNo">1162</span>  /**<a name="line.1162"></a>
+<span class="sourceLineNo">1163</span>   * The maximum number of health check failures a server can encounter consecutively.<a name="line.1163"></a>
+<span class="sourceLineNo">1164</span>   */<a name="line.1164"></a>
+<span class="sourceLineNo">1165</span>  public static final String HEALTH_FAILURE_THRESHOLD =<a name="line.1165"></a>
+<span class="sourceLineNo">1166</span>      "hbase.node.health.failure.threshold";<a name="line.1166"></a>
+<span class="sourceLineNo">1167</span>  public static final int DEFAULT_HEALTH_FAILURE_THRESHOLD = 3;<a name="line.1167"></a>
+<span class="sourceLineNo">1168</span><a name="line.1168"></a>
+<span class="sourceLineNo">1169</span><a name="line.1169"></a>
+<span class="sourceLineNo">1170</span>  /**<a name="line.1170"></a>
+<span class="sourceLineNo">1171</span>   * Setting to activate, or not, the publication of the status by the master. Default<a name="line.1171"></a>
+<span class="sourceLineNo">1172</span>   *  notification is by a multicast message.<a name="line.1172"></a>
+<span class="sourceLineNo">1173</span>   */<a name="line.1173"></a>
+<span class="sourceLineNo">1174</span>  public static final String STATUS_PUBLISHED = "hbase.status.published";<a name="line.1174"></a>
+<span class="sourceLineNo">1175</span>  public static final boolean STATUS_PUBLISHED_DEFAULT = false;<a name="line.1175"></a>
+<span class="sourceLineNo">1176</span><a name="line.1176"></a>
+<span class="sourceLineNo">1177</span>  /**<a name="line.1177"></a>
+<span class="sourceLineNo">1178</span>   * IP to use for the multicast status messages between the master and the clients.<a name="line.1178"></a>
+<span class="sourceLineNo">1179</span>   * The default address is chosen as one among others within the ones suitable for multicast<a name="line.1179"></a>
+<span class="sourceLineNo">1180</span>   * messages.<a name="line.1180"></a>
+<span class="sourceLineNo">1181</span>   */<a name="line.1181"></a>
+<span class="sourceLineNo">1182</span>  public static final String STATUS_MULTICAST_ADDRESS = "hbase.status.multicast.address.ip";<a name="line.1182"></a>
+<span class="sourceLineNo">1183</span>  public static final String DEFAULT_STATUS_MULTICAST_ADDRESS = "226.1.1.3";<a name="line.1183"></a>
+<span class="sourceLineNo">1184</span><a name="line.1184"></a>
+<span class="sourceLineNo">1185</span>  /**<a name="line.1185"></a>
+<span class="sourceLineNo">1186</span>   * The address to use for binding the local socket for receiving multicast. Defaults to<a name="line.1186"></a>
+<span class="sourceLineNo">1187</span>   * 0.0.0.0.<a name="line.1187"></a>
+<span class="sourceLineNo">1188</span>   * @see &lt;a href="https://issues.apache.org/jira/browse/HBASE-9961"&gt;HBASE-9961&lt;/a&gt;<a name="line.1188"></a>
+<span class="sourceLineNo">1189</span>   */<a name="line.1189"></a>
+<span class="sourceLineNo">1190</span>  public static final String STATUS_MULTICAST_BIND_ADDRESS =<a name="line.1190"></a>
+<span class="sourceLineNo">1191</span>      "hbase.status.multicast.bind.address.ip";<a name="line.1191"></a>
+<span class="sourceLineNo">1192</span>  public static final String DEFAULT_STATUS_MULTICAST_BIND_ADDRESS = "0.0.0.0";<a name="line.1192"></a>
+<span class="sourceLineNo">1193</span><a name="line.1193"></a>
+<span class="sourceLineNo">1194</span>  /**<a name="line.1194"></a>
+<span class="sourceLineNo">1195</span>   * The port to use for the multicast messages.<a name="line.1195"></a>
+<span class="sourceLineNo">1196</span>   */<a name="line.1196"></a>
+<span class="sourceLineNo">1197</span>  public static final String STATUS_MULTICAST_PORT = "hbase.status.multicast.address.port";<a name="line.1197"></a>
+<span class="sourceLineNo">1198</span>  public static final int DEFAULT_STATUS_MULTICAST_PORT = 16100;<a name="line.1198"></a>
+<span class="sourceLineNo">1199</span><a name="line.1199"></a>
+<span class="sourceLineNo">1200</span>  public static final long NO_NONCE = 0;<a name="line.1200"></a>
+<span class="sourceLineNo">1201</span><a name="line.1201"></a>
+<span class="sourceLineNo">1202</span>  /** Default cipher for encryption */<a name="line.1202"></a>
+<span class="sourceLineNo">1203</span>  public static final String CIPHER_AES = "AES";<a name="line.1203"></a>
+<span class="sourceLineNo">1204</span><a name="line.1204"></a>
+<span class="sourceLineNo">1205</span>  /** Configuration key for the crypto algorithm provider, a class name */<a name="line.1205"></a>
+<span class="sourceLineNo">1206</span>  public static final String CRYPTO_CIPHERPROVIDER_CONF_KEY = "hbase.crypto.cipherprovider";<a name="line.1206"></a>
+<span class="sourceLineNo">1207</span><a name="line.1207"></a>
+<span class="sourceLineNo">1208</span>  /** Configuration key for the crypto key provider, a class name */<a name="line.1208"></a>
+<span class="sourceLineNo">1209</span>  public static final String CRYPTO_KEYPROVIDER_CONF_KEY = "hbase.crypto.keyprovider";<a name="line.1209"></a>
+<span class="sourceLineNo">1210</span><a name="line.1210"></a>
+<span class="sourceLineNo">1211</span>  /** Configuration key for the crypto key provider parameters */<a name="line.1211"></a>
+<span class="sourceLineNo">1212</span>  public static final String CRYPTO_KEYPROVIDER_PARAMETERS_KEY =<a name="line.1212"></a>
+<span class="sourceLineNo">1213</span>      "hbase.crypto.keyprovider.parameters";<a name="line.1213"></a>
 <span class="sourceLineNo">1214</span><a name="line.1214"></a>
-<span class="sourceLineNo">1215</span>  /** Configuration key for the crypto key provider parameters */<a name="line.1215"></a>
-<span class="sourceLineNo">1216</span>  public static final String CRYPTO_KEYPROVIDER_PARAMETERS_KEY =<a name="line.1216"></a>
-<span class="sourceLineNo">1217</span>      "hbase.crypto.keyprovider.parameters";<a name="line.1217"></a>
-<span class="sourceLineNo">1218</span><a name="line.1218"></a>
-<span class="sourceLineNo">1219</span>  /** Configuration key for the name of the master key for the cluster, a string */<a name="line.1219"></a>
-<span class="sourceLineNo">1220</span>  public static final String CRYPTO_MASTERKEY_NAME_CONF_KEY = "hbase.crypto.master.key.name";<a name="line.1220"></a>
+<span class="sourceLineNo">1215</span>  /** Configuration key for the name of the master key for the cluster, a string */<a name="line.1215"></a>
+<span class="sourceLineNo">1216</span>  public static final String CRYPTO_MASTERKEY_NAME_CONF_KEY = "hbase.crypto.master.key.name";<a name="line.1216"></a>
+<span class="sourceLineNo">1217</span><a name="line.1217"></a>
+<span class="sourceLineNo">1218</span>  /** Configuration key for the name of the alternate master key for the cluster, a string */<a name="line.1218"></a>
+<span class="sourceLineNo">1219</span>  public static final String CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY =<a name="line.1219"></a>
+<span class="sourceLineNo">1220</span>    "hbase.crypto.master.alternate.key.name";<a name="line.1220"></a>
 <span class="sourceLineNo">1221</span><a name="line.1221"></a>
-<span class="sourceLineNo">1222</span>  /** Configuration key for the name of the alternate master key for the cluster, a string */<a name="line.1222"></a>
-<span class="sourceLineNo">1223</span>  public static final String CRYPTO_MASTERKEY_ALTERNATE_NAME_CONF_KEY =<a name="line.1223"></a>
-<span class="sourceLineNo">1224</span>    "hbase.crypto.master.alternate.key.name";<a name="line.1224"></a>
-<span class="sourceLineNo">1225</span><a name="line.1225"></a>
-<span class="sourceLineNo">1226</span>  /** Configuration key for the algorithm to use when encrypting the WAL, a string */<a name="line.1226"></a>
-<span class="sourceLineNo">1227</span>  public static final String CRYPTO_WAL_ALGORITHM_CONF_KEY = "hbase.crypto.wal.algorithm";<a name="line.1227"></a>
-<span class="sourceLineNo">1228</span><a name="line.1228"></a>
-<span class="sourceLineNo">1229</span>  /** Configuration key for the name of the master WAL encryption key for the cluster, a string */<a name="line.1229"></a>
-<span class="sourceLineNo">1230</span>  public static final String CRYPTO_WAL_KEY_NAME_CONF_KEY = "hbase.crypto.wal.key.name";<a name="line.1230"></a>
-<span class="sourceLineNo">1231</span><a name="line.1231"></a>
-<span class="sourceLineNo">1232</span>  /** Configuration key for the algorithm used for creating jks key, a string */<a name="line.1232"></a>
-<span class="sourceLineNo">1233</span>  public static final String CRYPTO_KEY_ALGORITHM_CONF_KEY = "hbase.crypto.key.algorithm";<a name="line.1233"></a>
+<span class="sourceLineNo">1222</span>  /** Configuration key for the algorithm to use when encrypting the WAL, a string */<a name="line.1222"></a>
+<span class="sourceLineNo">1223</span>  public static final String CRYPTO_WAL_ALGORITHM_CONF_KEY = "hbase.crypto.wal.algorithm";<a name="line.1223"></a>
+<span class="sourceLineNo">1224</span><a name="line.1224"></a>
+<span class="sourceLineNo">1225</span>  /** Configuration key for the name of the master WAL encryption key for the cluster, a string */<a name="line.1225"></a>
+<span class="sourceLineNo">1226</span>  public static final String CRYPTO_WAL_KEY_NAME_CONF_KEY = "hbase.crypto.wal.key.name";<a name="line.1226"></a>
+<span class="sourceLineNo">1227</span><a name="line.1227"></a>
+<span class="sourceLineNo">1228</span>  /** Configuration key for the algorithm used for creating jks key, a string */<a name="line.1228"></a>
+<span class="sourceLineNo">1229</span>  public static final String CRYPTO_KEY_ALGORITHM_CONF_KEY = "hbase.crypto.key.algorithm";<a name="line.1229"></a>
+<span class="sourceLineNo">1230</span><a name="line.1230"></a>
+<span class="sourceLineNo">1231</span>  /** Configuration key for the name of the alternate cipher algorithm for the cluster, a string */<a name="line.1231"></a>
+<span class="sourceLineNo">1232</span>  public static final String CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY =<a name="line.1232"></a>
+<span class="sourceLineNo">1233</span>      "hbase.crypto.alternate.key.algorithm";<a name="line.1233"></a>
 <span class="sourceLineNo">1234</span><a name="line.1234"></a>
-<span class="sourceLineNo">1235</span>  /** Configuration key for the name of the alternate cipher algorithm for the cluster, a string */<a name="line.1235"></a>
-<span class="sourceLineNo">1236</span>  public static final String CRYPTO_ALTERNATE_KEY_ALGORITHM_CONF_KEY =<a name="line.1236"></a>
-<span class="sourceLineNo">1237</span>      "hbase.crypto.alternate.key.algorithm";<a name="line.1237"></a>
-<span class="sourceLineNo">1238</span><a name="line.1238"></a>
-<span class="sourceLineNo">1239</span>  /** Configuration key for enabling WAL encryption, a boolean */<a name="line.1239"></a>
-<span class="sourceLineNo">1240</span>  public static final String ENABLE_WAL_ENCRYPTION = "hbase.regionserver.wal.encryption";<a name="line.1240"></a>
-<span class="sourceLineNo">1241</span><a name="line.1241"></a>
-<span class="sourceLineNo">1242</span>  /** Configuration key for setting RPC codec class name */<a name="line.1242"></a>
-<span class="sourceLineNo">1243</span>  public static final String RPC_CODEC_CONF_KEY = "hbase.client.rpc.codec";<a name="line.1243"></a>
-<span class="sourceLineNo">1244</span><a name="line.1244"></a>
-<span class="sourceLineNo">1245</span>  /** Configuration key for setting replication codec class name */<a name="line.1245"></a>
-<span class="sourceLineNo">1246</span>  public static final String REPLICATION_CODEC_CONF_KEY = "hbase.replication.rpc.codec";<a name="line.1246"></a>
+<span class="sourceLineNo">1235</span>  /** Configuration key for enabling WAL encryption, a boolean */<a name="line.1235"></a>
+<span class="sourceLineNo">1236</span>  public static final String ENABLE_WAL_ENCRYPTION = "hbase.regionserver.wal.encryption";<a name="line.1236"></a>
+<span class="sourceLineNo">1237</span><a name="line.1237"></a>
+<span class="sourceLineNo">1238</span>  /** Configuration key for setting RPC codec class name */<a name="line.1238"></a>
+<span class="sourceLineNo">1239</span>  public static final String RPC_CODEC_CONF_KEY = "hbase.client.rpc.codec";<a name="line.1239"></a>
+<span class="sourceLineNo">1240</span><a name="line.1240"></a>
+<span class="sourceLineNo">1241</span>  /** Configuration key for setting replication codec class name */<a name="line.1241"></a>
+<span class="sourceLineNo">1242</span>  public static final String REPLICATION_CODEC_CONF_KEY = "hbase.replication.rpc.codec";<a name="line.1242"></a>
+<span class="sourceLineNo">1243</span><a name="line.1243"></a>
+<span class="sourceLineNo">1244</span>  /** Maximum number of threads used by the replication source for shipping edits to the sinks */<a name="line.1244"></a>
+<span class="sourceLineNo">1245</span>  public static final String REPLICATION_SOURCE_MAXTHREADS_KEY =<a name="line.1245"></a>
+<span class="sourceLineNo">1246</span>      "hbase.replication.source.maxthreads";<a name="line.1246"></a>
 <span class="sourceLineNo">1247</span><a name="line.1247"></a>
-<span class="sourceLineNo">1248</span>  /** Maximum number of threads used by the replication source for shipping edits to the sinks */<a name="line.1248"></a>
-<span class="sourceLineNo">1249</span>  public static final String REPLICATION_SOURCE_MAXTHREADS_KEY =<a name="line.1249"></a>
-<span class="sourceLineNo">1250</span>      "hbase.replication.source.maxthreads";<a name="line.1250"></a>
-<span class="sourceLineNo">1251</span><a name="line.1251"></a>
-<span class="sourceLineNo">1252</span>  public static final int REPLICATION_SOURCE_MAXTHREADS_DEFAULT = 10;<a name="line.1252"></a>
+<span class="sourceLineNo">1248</span>  public static final int REPLICATION_SOURCE_MAXTHREADS_DEFAULT = 10;<a name="line.1248"></a>
+<span class="sourceLineNo">1249</span><a name="line.1249"></a>
+<span class="sourceLineNo">1250</span>  /** Config for pluggable consensus provider */<a name="line.1250"></a>
+<span class="sourceLineNo">1251</span>  public static final String HBASE_COORDINATED_STATE_MANAGER_CLASS =<a name="line.1251"></a>
+<span class="sourceLineNo">1252</span>    "hbase.coordinated.state.manager.class";<a name="line.1252"></a>
 <span class="sourceLineNo">1253</span><a name="line.1253"></a>
-<span class="sourceLineNo">1254</span>  /** Config for pluggable consensus provider */<a name="line.1254"></a>
-<span class="sourceLineNo">1255</span>  public static final String HBASE_COORDINATED_STATE_MANAGER_CLASS =<a name="line.1255"></a>
-<span class="sourceLineNo">1256</span>    "hbase.coordinated.state.manager.class";<a name="line.1256"></a>
-<span class="sourceLineNo">1257</span><a name="line.1257"></a>
-<span class="sourceLineNo">1258</span>  /** Configuration key for SplitLog manager timeout */<a name="line.1258"></a>
-<span class="sourceLineNo">1259</span>  public static final String HBASE_SPLITLOG_MANAGER_TIMEOUT = "hbase.splitlog.manager.timeout";<a name="line.1259"></a>
-<span class="sourceLineNo">1260</span><a name="line.1260"></a>
-<span class="sourceLineNo">1261</span>  /**<a name="line.1261"></a>
-<span class="sourceLineNo">1262</span>   * Configuration keys for Bucket cache<a name="line.1262"></a>
-<span class="sourceLineNo">1263</span>   */<a name="line.1263"></a>
-<span class="sourceLineNo">1264</span>  // TODO moving these bucket cache implementation specific configs to this level is violation of<a name="line.1264"></a>
-<span class="sourceLineNo">1265</span>  // encapsulation. But as these has to be referred from hbase-common and bucket cache<a name="line.1265"></a>
-<span class="sourceLineNo">1266</span>  // sits in hbase-server, there were no other go! Can we move the cache implementation to<a name="line.1266"></a>
-<span class="sourceLineNo">1267</span>  // hbase-common?<a name="line.1267"></a>
-<span class="sourceLineNo">1268</span><a name="line.1268"></a>
-<span class="sourceLineNo">1269</span>  /**<a name="line.1269"></a>
-<span class="sourceLineNo">1270</span>   * Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path<a name="line.1270"></a>
-<span class="sourceLineNo">1271</span>   * to the file that will host the file-based cache.  See BucketCache#getIOEngineFromName() for<a name="line.1271"></a>
-<span class="sourceLineNo">1272</span>   * list of supported ioengine options.<a name="line.1272"></a>
-<span class="sourceLineNo">1273</span>   * &lt;p&gt;Set this option and a non-zero {@link #BUCKET_CACHE_SIZE_KEY} to enable bucket cache.<a name="line.1273"></a>
-<span class="sourceLineNo">1274</span>   */<a name="line.1274"></a>
-<span class="sourceLineNo">1275</span>  public static final String BUCKET_CACHE_IOENGINE_KEY = "hbase.bucketcache.ioengine";<a name="line.1275"></a>
-<span class="sourceLineNo">1276</span><a name="line.1276"></a>
-<span class="sourceLineNo">1277</span>  /**<a name="line.1277"></a>
-<span class="sourceLineNo">1278</span>   * When using bucket cache, this is a float that EITHER represents a percentage of total heap<a name="line.1278"></a>
-<span class="sourceLineNo">1279</span>   * memory size to give to the cache (if &amp;lt; 1.0) OR, it is the capacity in<a name="line.1279"></a>
-<span class="sourceLineNo">1280</span>   * megabytes of the cache.<a name="line.1280"></a>
-<span class="sourceLineNo">1281</span>   */<a name="line.1281"></a>
-<span class="sourceLineNo">1282</span>  public static final String BUCKET_CACHE_SIZE_KEY = "hbase.bucketcache.size";<a name="line.1282"></a>
-<span class="sourceLineNo">1283</span><a name="line.1283"></a>
-<span class="sourceLineNo">1284</span>  /**<a name="line.1284"></a>
-<span class="sourceLineNo">1285</span>   * HConstants for fast fail on the client side follow<a name="line.1285"></a>
-<span class="sourceLineNo">1286</span>   */<a name="line.1286"></a>
-<span class="sourceLineNo">1287</span>  /**<a name="line.1287"></a>
-<span class="sourceLineNo">1288</span>   * Config for enabling/disabling the fast fail mode.<a name="line.1288"></a>
-<span class="sourceLineNo">1289</span>   */<a name="line.1289"></a>
-<span class="sourceLineNo">1290</span>  public static final String HBASE_CLIENT_FAST_FAIL_MODE_ENABLED =<a name="line.1290"></a>
-<span class="sourceLineNo">1291</span>      "hbase.client.fast.fail.mode.enabled";<a name="line.1291"></a>
-<span class="sourceLineNo">1292</span><a name="line.1292"></a>
-<span class="sourceLineNo">1293</span>  public static final boolean HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT =<a name="line.1293"></a>
-<span class="sourceLineNo">1294</span>      false;<a name="line.1294"></a>
-<span class="sourceLineNo">1295</span><a name="line.1295"></a>
-<span class="sourceLineNo">1296</span>  public static final String HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS =<a name="line.1296"></a>
-<span class="sourceLineNo">1297</span>      "hbase.client.fastfail.threshold";<a name="line.1297"></a>
-<span class="sourceLineNo">1298</span><a name="line.1298"></a>
-<span class="sourceLineNo">1299</span>  public static final long HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT =<a name="line.1299"></a>
-<span class="sourceLineNo">1300</span>      60000;<a name="line.1300"></a>
-<span class="sourceLineNo">1301</span><a name="line.1301"></a>
-<span class="sourceLineNo">1302</span>  public static final String HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS =<a name="line.1302"></a>
-<span class="sourceLineNo">1303</span>      "hbase.client.fast.fail.cleanup.duration";<a name="line.1303"></a>
-<span class="sourceLineNo">1304</span><a name="line.1304"></a>
-<span class="sourceLineNo">1305</span>  public static final long HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT =<a name="line.1305"></a>
-<span class="sourceLineNo">1306</span>      600000;<a name="line.1306"></a>
-<span class="sourceLineNo">1307</span><a name="line.1307"></a>
-<span class="sourceLineNo">1308</span>  public static final String HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL =<a name="line.1308"></a>
-<span class="sourceLineNo">1309</span>      "hbase.client.fast.fail.interceptor.impl";<a name="line.1309"></a>
-<span class="sourceLineNo">1310</span><a name="line.1310"></a>
-<span class="sourceLineNo">1311</span>  /** Config key for if the server should send backpressure and if the client should listen to<a name="line.1311"></a>
-<span class="sourceLineNo">1312</span>   * that backpressure from the server */<a name="line.1312"></a>
-<span class="sourceLineNo">1313</span>  public static final String ENABLE_CLIENT_BACKPRESSURE = "hbase.client.backpressure.enabled";<a name="line.1313"></a>
-<span class="sourceLineNo">1314</span>  public static final boolean DEFAULT_ENABLE_CLIENT_BACKPRESSURE = false;<a name="line.1314"></a>
-<span class="sourceLineNo">1315</span><a name="line.1315"></a>
-<span class="sourceLineNo">1316</span>  public static final String HEAP_OCCUPANCY_LOW_WATERMARK_KEY =<a name="line.1316"></a>
-<span class="sourceLineNo">1317</span>      "hbase.heap.occupancy.low_water_mark";<a name="line.1317"></a>
-<span class="sourceLineNo">1318</span>  public static final float DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK = 0.95f;<a name="line.1318"></a>
-<span class="sourceLineNo">1319</span>  public static final String HEAP_OCCUPANCY_HIGH_WATERMARK_KEY =<a name="line.1319"></a>
-<span class="sourceLineNo">1320</span>      "hbase.heap.occupancy.high_water_mark";<a name="line.1320"></a>
-<span class="sourceLineNo">1321</span>  public static final float DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK = 0.98f;<a name="line.1321"></a>
-<span class="sourceLineNo">1322</span><a name="line.1322"></a>
-<span class="sourceLineNo">1323</span>  /**<a name="line.1323"></a>
-<span class="sourceLineNo">1324</span>   * The max number of threads used for splitting storefiles in parallel during<a name="line.1324"></a>
-<span class="sourceLineNo">1325</span>   * the region split process.<a name="line.1325"></a>
-<span class="sourceLineNo">1326</span>   */<a name="line.1326"></a>
-<span class="sourceLineNo">1327</span>  public static final String REGION_SPLIT_THREADS_MAX =<a name="line.1327"></a>
-<span class="sourceLineNo">1328</span>    "hbase.regionserver.region.split.threads.max";<a name="line.1328"></a>
-<span class="sourceLineNo">1329</span><a name="line.1329"></a>
-<span class="sourceLineNo">1330</span>  /** Canary config keys */<a name="line.1330"></a>
-<span class="sourceLineNo">1331</span>  public static final String HBASE_CANARY_WRITE_DATA_TTL_KEY = "hbase.canary.write.data.ttl";<a name="line.1331"></a>
-<span class="sourceLineNo">1332</span><a name="line.1332"></a>
-<span class="sourceLineNo">1333</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY =<a name="line.1333"></a>
-<span class="sourceLineNo">1334</span>      "hbase.canary.write.perserver.regions.lowerLimit";<a name="line.1334"></a>
-<span class="sourceLineNo">1335</span><a name="line.1335"></a>
-<span class="sourceLineNo">1336</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY =<a name="line.1336"></a>
-<span class="sourceLineNo">1337</span>      "hbase.canary.write.perserver.regions.upperLimit";<a name="line.1337"></a>
-<span class="sourceLineNo">1338</span><a name="line.1338"></a>
-<span class="sourceLineNo">1339</span>  public static final String HBASE_CANARY_WRITE_VALUE_SIZE_KEY = "hbase.canary.write.value.size";<a name="line.1339"></a>
-<span class="sourceLineNo">1340</span><a name="line.1340"></a>
-<span class="sourceLineNo">1341</span>  public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =<a name="line.1341"></a>
-<span class="sourceLineNo">1342</span>      "hbase.canary.write.table.check.period";<a name="line.1342"></a>
-<span class="sourceLineNo">1343</span>  <a name="line.1343"></a>
-<span class="sourceLineNo">1344</span>  public static final String HBASE_CANARY_READ_RAW_SCAN_KEY = "hbase.canary.read.raw.enabled";<a name="line.1344"></a>
-<span class="sourceLineNo">1345</span><a name="line.1345"></a>
-<span class="sourceLineNo">1346</span>  /**<a name="line.1346"></a>
-<span class="sourceLineNo">1347</span>   * Configuration keys for programmatic JAAS configuration for secured ZK interaction<a name="line.1347"></a>
-<span class="sourceLineNo">1348</span>   */<a name="line.1348"></a>
-<span class="sourceLineNo">1349</span>  public static final String ZK_CLIENT_KEYTAB_FILE = "hbase.zookeeper.client.keytab.file";<a name="line.1349"></a>
-<span class="sourceLineNo">1350</span>  public static final String ZK_CLIENT_KERBEROS_PRINCIPAL =<a name="line.1350"></a>
-<span class="sourceLineNo">1351</span>      "hbase.zookeeper.client.kerberos.principal";<a name="line.1351"></a>
-<span class="sourceLineNo">1352</span>  public static final String ZK_SERVER_KEYTAB_FILE = "hbase.zookeeper.server.keytab.file";<a name="line.1352"></a>
-<span class="sourceLineNo">1353</span>  public static final String ZK_SERVER_KERBEROS_PRINCIPAL =<a name="line.1353"></a>
-<span class="sourceLineNo">1354</span>      "hbase.zookeeper.server.kerberos.principal";<a name="line.1354"></a>
-<span class="sourceLineNo">1355</span><a name="line.1355"></a>
-<span class="sourceLineNo">1356</span>  /** Config key for hbase temporary directory in hdfs */<a name="line.1356"></a>
-<span class="sourceLineNo">1357</span>  public static final String TEMPORARY_FS_DIRECTORY_KEY = "hbase.fs.tmp.dir";<a name="line.1357"></a>
-<span class="sourceLineNo">1358</span>  public static final String DEFAULT_TEMPORARY_HDFS_DIRECTORY = "/user/"<a name="line.1358"></a>
-<span class="sourceLineNo">1359</span>      + System.getProperty("user.name") + "/hbase-staging";<a name="line.1359"></a>
+<span class="sourceLineNo">1254</span>  /** Configuration key for SplitLog manager timeout */<a name="line.1254"></a>
+<span class="sourceLineNo">1255</span>  public static final String HBASE_SPLITLOG_MANAGER_TIMEOUT = "hbase.splitlog.manager.timeout";<a name="line.1255"></a>
+<span class="sourceLineNo">1256</span><a name="line.1256"></a>
+<span class="sourceLineNo">1257</span>  /**<a name="line.1257"></a>
+<span class="sourceLineNo">1258</span>   * Configuration keys for Bucket cache<a name="line.1258"></a>
+<span class="sourceLineNo">1259</span>   */<a name="line.1259"></a>
+<span class="sourceLineNo">1260</span>  // TODO moving these bucket cache implementation specific configs to this level is violation of<a name="line.1260"></a>
+<span class="sourceLineNo">1261</span>  // encapsulation. But as these has to be referred from hbase-common and bucket cache<a name="line.1261"></a>
+<span class="sourceLineNo">1262</span>  // sits in hbase-server, there were no other go! Can we move the cache implementation to<a name="line.1262"></a>
+<span class="sourceLineNo">1263</span>  // hbase-common?<a name="line.1263"></a>
+<span class="sourceLineNo">1264</span><a name="line.1264"></a>
+<span class="sourceLineNo">1265</span>  /**<a name="line.1265"></a>
+<span class="sourceLineNo">1266</span>   * Current ioengine options in include: heap, offheap and file:PATH (where PATH is the path<a name="line.1266"></a>
+<span class="sourceLineNo">1267</span>   * to the file that will host the file-based cache.  See BucketCache#getIOEngineFromName() for<a name="line.1267"></a>
+<span class="sourceLineNo">1268</span>   * list of supported ioengine options.<a name="line.1268"></a>
+<span class="sourceLineNo">1269</span>   * &lt;p&gt;Set this option and a non-zero {@link #BUCKET_CACHE_SIZE_KEY} to enable bucket cache.<a name="line.1269"></a>
+<span class="sourceLineNo">1270</span>   */<a name="line.1270"></a>
+<span class="sourceLineNo">1271</span>  public static final String BUCKET_CACHE_IOENGINE_KEY = "hbase.bucketcache.ioengine";<a name="line.1271"></a>
+<span class="sourceLineNo">1272</span><a name="line.1272"></a>
+<span class="sourceLineNo">1273</span>  /**<a name="line.1273"></a>
+<span class="sourceLineNo">1274</span>   * When using bucket cache, this is a float that EITHER represents a percentage of total heap<a name="line.1274"></a>
+<span class="sourceLineNo">1275</span>   * memory size to give to the cache (if &amp;lt; 1.0) OR, it is the capacity in<a name="line.1275"></a>
+<span class="sourceLineNo">1276</span>   * megabytes of the cache.<a name="line.1276"></a>
+<span class="sourceLineNo">1277</span>   */<a name="line.1277"></a>
+<span class="sourceLineNo">1278</span>  public static final String BUCKET_CACHE_SIZE_KEY = "hbase.bucketcache.size";<a name="line.1278"></a>
+<span class="sourceLineNo">1279</span><a name="line.1279"></a>
+<span class="sourceLineNo">1280</span>  /**<a name="line.1280"></a>
+<span class="sourceLineNo">1281</span>   * HConstants for fast fail on the client side follow<a name="line.1281"></a>
+<span class="sourceLineNo">1282</span>   */<a name="line.1282"></a>
+<span class="sourceLineNo">1283</span>  /**<a name="line.1283"></a>
+<span class="sourceLineNo">1284</span>   * Config for enabling/disabling the fast fail mode.<a name="line.1284"></a>
+<span class="sourceLineNo">1285</span>   */<a name="line.1285"></a>
+<span class="sourceLineNo">1286</span>  public static final String HBASE_CLIENT_FAST_FAIL_MODE_ENABLED =<a name="line.1286"></a>
+<span class="sourceLineNo">1287</span>      "hbase.client.fast.fail.mode.enabled";<a name="line.1287"></a>
+<span class="sourceLineNo">1288</span><a name="line.1288"></a>
+<span class="sourceLineNo">1289</span>  public static final boolean HBASE_CLIENT_ENABLE_FAST_FAIL_MODE_DEFAULT =<a name="line.1289"></a>
+<span class="sourceLineNo">1290</span>      false;<a name="line.1290"></a>
+<span class="sourceLineNo">1291</span><a name="line.1291"></a>
+<span class="sourceLineNo">1292</span>  public static final String HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS =<a name="line.1292"></a>
+<span class="sourceLineNo">1293</span>      "hbase.client.fastfail.threshold";<a name="line.1293"></a>
+<span class="sourceLineNo">1294</span><a name="line.1294"></a>
+<span class="sourceLineNo">1295</span>  public static final long HBASE_CLIENT_FAST_FAIL_THREASHOLD_MS_DEFAULT =<a name="line.1295"></a>
+<span class="sourceLineNo">1296</span>      60000;<a name="line.1296"></a>
+<span class="sourceLineNo">1297</span><a name="line.1297"></a>
+<span class="sourceLineNo">1298</span>  public static final String HBASE_CLIENT_FAST_FAIL_CLEANUP_MS_DURATION_MS =<a name="line.1298"></a>
+<span class="sourceLineNo">1299</span>      "hbase.client.fast.fail.cleanup.duration";<a name="line.1299"></a>
+<span class="sourceLineNo">1300</span><a name="line.1300"></a>
+<span class="sourceLineNo">1301</span>  public static final long HBASE_CLIENT_FAST_FAIL_CLEANUP_DURATION_MS_DEFAULT =<a name="line.1301"></a>
+<span class="sourceLineNo">1302</span>      600000;<a name="line.1302"></a>
+<span class="sourceLineNo">1303</span><a name="line.1303"></a>
+<span class="sourceLineNo">1304</span>  public static final String HBASE_CLIENT_FAST_FAIL_INTERCEPTOR_IMPL =<a name="line.1304"></a>
+<span class="sourceLineNo">1305</span>      "hbase.client.fast.fail.interceptor.impl";<a name="line.1305"></a>
+<span class="sourceLineNo">1306</span><a name="line.1306"></a>
+<span class="sourceLineNo">1307</span>  /** Config key for if the server should send backpressure and if the client should listen to<a name="line.1307"></a>
+<span class="sourceLineNo">1308</span>   * that backpressure from the server */<a name="line.1308"></a>
+<span class="sourceLineNo">1309</span>  public static final String ENABLE_CLIENT_BACKPRESSURE = "hbase.client.backpressure.enabled";<a name="line.1309"></a>
+<span class="sourceLineNo">1310</span>  public static final boolean DEFAULT_ENABLE_CLIENT_BACKPRESSURE = false;<a name="line.1310"></a>
+<span class="sourceLineNo">1311</span><a name="line.1311"></a>
+<span class="sourceLineNo">1312</span>  public static final String HEAP_OCCUPANCY_LOW_WATERMARK_KEY =<a name="line.1312"></a>
+<span class="sourceLineNo">1313</span>      "hbase.heap.occupancy.low_water_mark";<a name="line.1313"></a>
+<span class="sourceLineNo">1314</span>  public static final float DEFAULT_HEAP_OCCUPANCY_LOW_WATERMARK = 0.95f;<a name="line.1314"></a>
+<span class="sourceLineNo">1315</span>  public static final String HEAP_OCCUPANCY_HIGH_WATERMARK_KEY =<a name="line.1315"></a>
+<span class="sourceLineNo">1316</span>      "hbase.heap.occupancy.high_water_mark";<a name="line.1316"></a>
+<span class="sourceLineNo">1317</span>  public static final float DEFAULT_HEAP_OCCUPANCY_HIGH_WATERMARK = 0.98f;<a name="line.1317"></a>
+<span class="sourceLineNo">1318</span><a name="line.1318"></a>
+<span class="sourceLineNo">1319</span>  /**<a name="line.1319"></a>
+<span class="sourceLineNo">1320</span>   * The max number of threads used for splitting storefiles in parallel during<a name="line.1320"></a>
+<span class="sourceLineNo">1321</span>   * the region split process.<a name="line.1321"></a>
+<span class="sourceLineNo">1322</span>   */<a name="line.1322"></a>
+<span class="sourceLineNo">1323</span>  public static final String REGION_SPLIT_THREADS_MAX =<a name="line.1323"></a>
+<span class="sourceLineNo">1324</span>    "hbase.regionserver.region.split.threads.max";<a name="line.1324"></a>
+<span class="sourceLineNo">1325</span><a name="line.1325"></a>
+<span class="sourceLineNo">1326</span>  /** Canary config keys */<a name="line.1326"></a>
+<span class="sourceLineNo">1327</span>  public static final String HBASE_CANARY_WRITE_DATA_TTL_KEY = "hbase.canary.write.data.ttl";<a name="line.1327"></a>
+<span class="sourceLineNo">1328</span><a name="line.1328"></a>
+<span class="sourceLineNo">1329</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_LOWERLIMIT_KEY =<a name="line.1329"></a>
+<span class="sourceLineNo">1330</span>      "hbase.canary.write.perserver.regions.lowerLimit";<a name="line.1330"></a>
+<span class="sourceLineNo">1331</span><a name="line.1331"></a>
+<span class="sourceLineNo">1332</span>  public static final String HBASE_CANARY_WRITE_PERSERVER_REGIONS_UPPERLIMIT_KEY =<a name="line.1332"></a>
+<span class="sourceLineNo">1333</span>      "hbase.canary.write.perserver.regions.upperLimit";<a name="line.1333"></a>
+<span class="sourceLineNo">1334</span><a name="line.1334"></a>
+<span class="sourceLineNo">1335</span>  public static final String HBASE_CANARY_WRITE_VALUE_SIZE_KEY = "hbase.canary.write.value.size";<a name="line.1335"></a>
+<span class="sourceLineNo">1336</span><a name="line.1336"></a>
+<span class="sourceLineNo">1337</span>  public static final String HBASE_CANARY_WRITE_TABLE_CHECK_PERIOD_KEY =<a name="line.1337"></a>
+<span class="sourceLineNo">1338</span>      "hbase.canary.write.table.check.period";<a name="line.1338"></a>
+<span class="sourceLineNo">1339</span>  <a name="line.1339"></a>
+<span class="sourceLineNo">1340</span>  public static final String HBASE_CANARY_READ_RAW_SCAN_KEY = "hbase.canary.read.raw.enabled";<a name="line.1340"></a>
+<span class="sourceLineNo">1341</span><a name="line.1341"></a>
+<span class="sourceLineNo">1342</span>  /**<a name="line.1342"></a>
+<span class="sourceLineNo">1343</span>   * Configuration keys for programmatic JAAS configuration for secured ZK interaction<a name="line.1343"></a>
+<span class="sourceLineNo">1344</span>   */<a name="line.1344"></a>
+<span class="sourceLineNo">1345</span>  public static final String ZK_CLIENT_KEYTAB_FILE = "hbase.zookeeper.client.keytab.file";<a name="line.1345"></a>
+<span class="sourceLineNo">1346</span>  public static final String ZK_CLIENT_KERBEROS_PRINCIPAL =<a name="line.1346"></a>
+<span class="sourceLineNo">1347</span>      "hbase.zookeeper.client.kerberos.principal";<a name="line.1347"></a>
+<span class="sourceLineNo">1348</span>  public static final String ZK_SERVER_KEYTAB_FILE = "hbase.zookeeper.server.keytab.file";<a name="line.1348"></a>
+<span class="sourceLineNo">1349</span>  public static final String ZK_SERVER_KERBEROS_PRINCIPAL =<a name="line.1349"></a>
+<span class="sourceLineNo">1350</span>      "hbase.zookeeper.server.kerberos.principal";<a name="line.1350"></a>
+<span class="sourceLineNo">1351</span><a name="line.1351"></a>
+<span class="sourceLineNo">1352</span>  /** Config key for hbase temporary directory in hdfs */<a name="line.1352"></a>
+<span class="sourceLineNo">1353</span>  public static final String TEMPORARY_FS_DIRECTORY_KEY = "hbase.fs.tmp.dir";<a name="line.1353"></a>
+<span class="sourceLineNo">1354</span>  public static final String DEFAULT_TEMPORARY_HDFS_DIRECTORY = "/user/"<a name="line.1354"></a>
+<span class="sourceLineNo">1355</span>      + System.getProperty("user.name") + "/hbase-staging";<a name="line.1355"></a>
+<span class="sourceLineNo">1356</span><a name="line.1356"></a>
+<span class="sourceLineNo">1357</span>  public static final String SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT =<a name="line.1357"></a>
+<span class="sourceLineNo">1358</span>      "hbase.snapshot.restore.take.failsafe.snapshot";<a name="line.1358"></a>
+<span class="sourceLineNo">1359</span>  public static final boolean DEFAULT_SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT = false;<a name="line.1359"></a>
 <span class="sourceLineNo">1360</span><a name="line.1360"></a>
-<span class="sourceLineNo">1361</span>  public static final String SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT =<a name="line.1361"></a>
-<span class="sourceLineNo">1362</span>      "hbase.snapshot.restore.take.failsafe.snapshot";<a name="line.1362"></a>
-<span class="sourceLineNo">1363</span>  public static final boolean DEFAULT_SNAPSHOT_RESTORE_TAKE_FAILSAFE_SNAPSHOT = false;<a name="line.1363"></a>
-<span class="sourceLineNo">1364</span><a name="line.1364"></a>
-<span class="sourceLineNo">1365</span>  public static final String SNAPSHOT_RESTORE_FAILSAFE_NAME =<a name="line.1365"></a>
-<span class="sourceLineNo">1366</span>      "hbase.snapshot.restore.failsafe.name";<a name="line.1366"></a>
-<span class="sourceLineNo">1367</span>  public static final String DEFAULT_SNAPSHOT_RESTORE_FAILSAFE_NAME =<a name="line.1367"></a>
-<span class="sourceLineNo">1368</span>      "hbase-failsafe-{snapshot.name}-{restore.timestamp}";<a name="line.1368"></a>
-<span class="sourceLineNo">1369</span><a name="line.1369"></a>
-<span class="sourceLineNo">1370</span>  private HConstants() {<a name="line.1370"></a>
-<span class="sourceLineNo">1371</span>    // Can't be instantiated with this ctor.<a name="line.1371"></a>
-<span class="sourceLineNo">1372</span>  }<a name="line.1372"></a>
-<span class="sourceLineNo">1373</span>}<a name="line.1373"></a>
+<span class="sourceLineNo">1361</span>  public static final String SNAPSHOT_RESTORE_FAILSAFE_NAME =<a name="line.1361"></a>
+<span class="sourceLineNo">1362</span>      "hbase.snapshot.restore.failsafe.name";<a name="line.1362"></a>
+<span class="sourceLineNo">1363</span>  public static final String DEFAULT_SNAPSHOT_RESTORE_FAILSAFE_NAME =<a name="line.1363"></a>
+<span class="sourceLineNo">1364</span>      "hbase-failsafe-{snapshot.name}-{restore.timestamp}";<a name="line.1364"></a>
+<span class="sourceLineNo">1365</span><a name="line.1365"></a>
+<span class="sourceLineNo">1366</span>  private HConstants() {<a name="line.1366"></a>
+<span class="sourceLineNo">1367</span>    // Can't be instantiated with this ctor.<a name="line.1367"></a>
+<span class="sourceLineNo">1368</span>  }<a name="line.1368"></a>
+<span class="sourceLineNo">1369</span>}<a name="line.1369"></a>
 
 
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 f855604..ada40f3 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 24df095..356ec3e 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 7056414..bb61a70 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 5a5e966..3a3ba4c 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 dd35be7..5c79170 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 d25e10b..0a9efe1 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 5053ffe..9115a1a 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 6da01f6..d9ce070 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 5ca36fd..305d416 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 72b09d0..b52a967 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 86b6dd1..4bc8854 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 a2a81a8..7f8a4b4 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/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 d3d7063..6e928ba 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-archetypes/index.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/index.html b/hbase-archetypes/index.html
index c5723d0..e87013f 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-archetypes/integration.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/integration.html b/hbase-archetypes/integration.html
index 9d5d023..f50a16f 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-archetypes/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/issue-tracking.html b/hbase-archetypes/issue-tracking.html
index 2087827..53cf5d9 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-archetypes/license.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/license.html b/hbase-archetypes/license.html
index 3aa1689..bfb82cb 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-archetypes/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/mail-lists.html b/hbase-archetypes/mail-lists.html
index 1dd156d..4bfbe8d 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-archetypes/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/plugin-management.html b/hbase-archetypes/plugin-management.html
index 7faf777..74840b3 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-archetypes/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/plugins.html b/hbase-archetypes/plugins.html
index f62b899..8525c9e 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-archetypes/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/project-info.html b/hbase-archetypes/project-info.html
index 49033d4..0e17c2a 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-archetypes/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/project-summary.html b/hbase-archetypes/project-summary.html
index 7f71354..c20027c 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-archetypes/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/source-repository.html b/hbase-archetypes/source-repository.html
index edc7c5e..4e7d53c 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-archetypes/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-archetypes/team-list.html b/hbase-archetypes/team-list.html
index b2cf249..c14ac90 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-spark/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-spark/checkstyle.html b/hbase-spark/checkstyle.html
index a3fbc80..a04a339 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-spark/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependencies.html b/hbase-spark/dependencies.html
index 03d79d4..771b49a 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <span id="projectVersion">Version: 2.0.0-SNAPSHOT</span>
                       </div>
             <div class="xright">                    <a href="./" title="Apache HBase - Spark">Apache HBase - Spark</a>
@@ -4774,7 +4774,7 @@ The following provides more details on the included cryptographic software:
 <td>-</td></tr>
 <tr class="b">
 <td>hbase-server-2.0.0-SNAPSHOT-tests.jar</td>
-<td>7.83 MB</td>
+<td>7.84 MB</td>
 <td>-</td>
 <td>-</td>
 <td>-</td>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/hbase-spark/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-convergence.html b/hbase-spark/dependency-convergence.html
index b0e6a2b..f61538d 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-spark/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-info.html b/hbase-spark/dependency-info.html
index 4b1746b..3f2ea3c 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-spark/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-management.html b/hbase-spark/dependency-management.html
index b54cd71..38d76f0 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-spark/index.html
----------------------------------------------------------------------
diff --git a/hbase-spark/index.html b/hbase-spark/index.html
index 1af0a1e..0867b3c 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-spark/integration.html
----------------------------------------------------------------------
diff --git a/hbase-spark/integration.html b/hbase-spark/integration.html
index 5d6329f..9dfadde 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-spark/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-spark/issue-tracking.html b/hbase-spark/issue-tracking.html
index 8aa3448..da75caf 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-spark/license.html
----------------------------------------------------------------------
diff --git a/hbase-spark/license.html b/hbase-spark/license.html
index 712bfef..7784364 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-spark/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-spark/mail-lists.html b/hbase-spark/mail-lists.html
index 4ba9e12..ebcd348 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-spark/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-spark/plugin-management.html b/hbase-spark/plugin-management.html
index 897c685..19e269e 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-spark/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-spark/plugins.html b/hbase-spark/plugins.html
index 79454c2..a8a8566 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-spark/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-info.html b/hbase-spark/project-info.html
index 68ec0ff..85fb5b0 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-spark/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-reports.html b/hbase-spark/project-reports.html
index dd91912..21aa361 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-spark/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-summary.html b/hbase-spark/project-summary.html
index 737c974..6bf969d 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-spark/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-spark/source-repository.html b/hbase-spark/source-repository.html
index ed3dbff..4d93982 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/hbase-spark/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-spark/team-list.html b/hbase-spark/team-list.html
index 99944b7..fe0d784 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-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2017-05-27 -->
 <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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2017-05-26</span>
+        <span id="publishDate">Last Published: 2017-05-27</span>
                   &nbsp;| <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/f8f0a032/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index 8e83bb2..7844640 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/integration.html
----------------------------------------------------------------------
diff --git a/integration.html b/integration.html
index 08734a3..dfee302 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/issue-tracking.html
----------------------------------------------------------------------
diff --git a/issue-tracking.html b/issue-tracking.html
index f041baa..ee9a135 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/license.html
----------------------------------------------------------------------
diff --git a/license.html b/license.html
index 452f97a..7bc6cd2 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/mail-lists.html
----------------------------------------------------------------------
diff --git a/mail-lists.html b/mail-lists.html
index 80a6a0e..5ddbbe9 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/metrics.html
----------------------------------------------------------------------
diff --git a/metrics.html b/metrics.html
index 88571b3..bb07f6b 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) Metrics
@@ -464,7 +464,7 @@ export HBASE_REGIONSERVER_OPTS=&quot;$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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/old_news.html
----------------------------------------------------------------------
diff --git a/old_news.html b/old_news.html
index 76e791f..b3555a7 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/plugin-management.html
----------------------------------------------------------------------
diff --git a/plugin-management.html b/plugin-management.html
index 3ae9805..924eca2 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/plugins.html
----------------------------------------------------------------------
diff --git a/plugins.html b/plugins.html
index 53b5838..2fee0b0 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/poweredbyhbase.html
----------------------------------------------------------------------
diff --git a/poweredbyhbase.html b/poweredbyhbase.html
index ed568b7..bbb6f8f 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/project-info.html
----------------------------------------------------------------------
diff --git a/project-info.html b/project-info.html
index 1adaff5..ba988a9 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/project-reports.html
----------------------------------------------------------------------
diff --git a/project-reports.html b/project-reports.html
index 133ab5b..5b173f0 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/project-summary.html
----------------------------------------------------------------------
diff --git a/project-summary.html b/project-summary.html
index ccf7e70..137a7ff 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/pseudo-distributed.html
----------------------------------------------------------------------
diff --git a/pseudo-distributed.html b/pseudo-distributed.html
index 6cfb366..e1a7340 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/replication.html
----------------------------------------------------------------------
diff --git a/replication.html b/replication.html
index 1af6577..9ab8c61 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/resources.html
----------------------------------------------------------------------
diff --git a/resources.html b/resources.html
index bd75ff0..0c081ee 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/source-repository.html
----------------------------------------------------------------------
diff --git a/source-repository.html b/source-repository.html
index 3007245..bb81c1c 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="20170526" />
+    <meta name="Date-Revision-yyyymmdd" content="20170527" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 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-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2017-05-27</li>
             </p>
                 </div>
 


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 57a0fd0..8f6ff1c 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -524,24 +524,24 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState.html" title="enum in org.apache.hadoop.hbase.client"><span class="typeNameLink">AsyncScanSingleRegionRpcRetryingCaller.ScanControllerState</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 0723bf0..bda44b6 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -176,12 +176,12 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="typeNameLink">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter"><span class="typeNameLink">FuzzyRowFilter.Order</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/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/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/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/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/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/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>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 d7edef5..52bb8aa 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>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Comparable.html?is-external=true" title="class or interface in java.lang">Comparable</a>&lt;T&gt;, java.io.<a href="http://docs.oracle.com/javase/8/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.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/HFileBlock.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">HFileBlock.Writer.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">CacheConfig.ExternalBlockCaches</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/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/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/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/BlockType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockType.BlockCategory.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="typeNameLink">BlockType.BlockCategory</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/ipc/NettyRpcServer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/NettyRpcServer.html b/devapidocs/org/apache/hadoop/hbase/ipc/NettyRpcServer.html
index d29207b..ba3530f 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/NettyRpcServer.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/NettyRpcServer.html
@@ -181,7 +181,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html" titl
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#allowFallbackToSimpleAuth">allowFallbackToSimpleAuth</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#AUDITLOG">AUDITLOG</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#AUTH_FAILED_FOR">AUTH_FAILED_FOR</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#AUTH_SUCCESSFUL_FOR">AUTH_SUCCESSFUL_FOR</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#authManager">authManager</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#authTokenSecretMgr">authTokenSecretMgr</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#CALL_QUEUE_TOO_BIG_EXCEPTION">CALL_QUEUE_TOO_BIG_EXCEPTION</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#callQueueSizeInBytes">callQueueSizeInBytes</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#cellBlockBuilder">cellBlockBuilder</
 a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#conf">conf</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#CurCall">CurCall</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#CURRENT_VERSION">CURRENT_VERSION</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER">DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_MAX_CALLQUEUE_SIZE">DEFAULT_MAX_CALLQUEUE_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_MAX_REQUEST_SIZE">DEFAULT_MAX_REQUEST_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT">DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_WARN_RESPONSE_SIZE">DEFAULT_WARN_RESPONSE_SIZE</a>, <a href="../../../../../org/apache/hadoop
 /hbase/ipc/RpcServer.html#DEFAULT_WARN_RESPONSE_TIME">DEFAULT_WARN_RESPONSE_TIME</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#errorHandler">errorHandler</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#FALLBACK_TO_INSECURE_CLIENT_AUTH">FALLBACK_TO_INSECURE_CLIENT_AUTH</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#isSecurityEnabled">isSecurityEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#MAPPER">MAPPER</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#MAX_REQUEST_SIZE">MAX_REQUEST_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#maxQueueSizeInBytes">maxQueueSizeInBytes</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#maxRequestSize">maxRequestSize</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#metrics">metrics</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.htm
 l#MIN_CLIENT_REQUEST_TIMEOUT">MIN_CLIENT_REQUEST_TIMEOUT</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#minClientRequestTimeout">minClientRequestTimeout</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#minSizeForReservoirUse">minSizeForReservoirUse</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#MONITORED_RPC">MONITORED_RPC</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#NIO_BUFFER_LIMIT">NIO_BUFFER_LIMIT</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#REQUEST_TOO_BIG_EXCEPTION">REQUEST_TOO_BIG_EXCEPTION</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#reservoir">reservoir</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#running">running</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#scheduler">scheduler</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#secretManager">secre
 tManager</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#server">server</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#services">services</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#started">started</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#tcpKeepAlive">tcpKeepAlive</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#tcpNoDelay">tcpNoDelay</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#userProvider">userProvider</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#WARN_RESPONSE_SIZE">WARN_RESPONSE_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#WARN_RESPONSE_TIME">WARN_RESPONSE_TIME</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#warnResponseSize">warnResponseSize</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#warnResponseTime">warnRespo
 nseTime</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#allowFallbackToSimpleAuth">allowFallbackToSimpleAuth</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#AUDITLOG">AUDITLOG</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#AUTH_FAILED_FOR">AUTH_FAILED_FOR</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#AUTH_SUCCESSFUL_FOR">AUTH_SUCCESSFUL_FOR</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#authManager">authManager</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#authTokenSecretMgr">authTokenSecretMgr</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#CALL_QUEUE_TOO_BIG_EXCEPTION">CALL_QUEUE_TOO_BIG_EXCEPTION</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#callQueueSizeInBytes">callQueueSizeInBytes</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#cellBlockBuilder">cellBlockBuilder</
 a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#conf">conf</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#CurCall">CurCall</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#CURRENT_VERSION">CURRENT_VERSION</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER">DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_MAX_CALLQUEUE_SIZE">DEFAULT_MAX_CALLQUEUE_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_MAX_REQUEST_SIZE">DEFAULT_MAX_REQUEST_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT">DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_WARN_RESPONSE_SIZE">DEFAULT_WARN_RESPONSE_SIZE</a>, <a href="../../../../../org/apache/hadoop
 /hbase/ipc/RpcServer.html#DEFAULT_WARN_RESPONSE_TIME">DEFAULT_WARN_RESPONSE_TIME</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#errorHandler">errorHandler</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#FALLBACK_TO_INSECURE_CLIENT_AUTH">FALLBACK_TO_INSECURE_CLIENT_AUTH</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#isSecurityEnabled">isSecurityEnabled</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#MAPPER">MAPPER</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#MAX_REQUEST_SIZE">MAX_REQUEST_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#maxQueueSizeInBytes">maxQueueSizeInBytes</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#maxRequestSize">maxRequestSize</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#metrics">metrics</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.htm
 l#MIN_CLIENT_REQUEST_TIMEOUT">MIN_CLIENT_REQUEST_TIMEOUT</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#minClientRequestTimeout">minClientRequestTimeout</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#minSizeForReservoirUse">minSizeForReservoirUse</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#MONITORED_RPC">MONITORED_RPC</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#NIO_BUFFER_LIMIT">NIO_BUFFER_LIMIT</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#REQUEST_TOO_BIG_EXCEPTION">REQUEST_TOO_BIG_EXCEPTION</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#reservoir">reservoir</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#running">running</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#saslProps">saslProps</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#scheduler">scheduler
 </a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#secretManager">secretManager</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#server">server</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#services">services</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#started">started</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#tcpKeepAlive">tcpKeepAlive</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#tcpNoDelay">tcpNoDelay</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#userProvider">userProvider</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#WARN_RESPONSE_SIZE">WARN_RESPONSE_SIZE</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#WARN_RESPONSE_TIME">WARN_RESPONSE_TIME</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#warnResponseSize">warnResponseSize</a>, <
 a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#warnResponseTime">warnResponseTime</a></code></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/ipc/NettyServerRpcConnection.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/NettyServerRpcConnection.html b/devapidocs/org/apache/hadoop/hbase/ipc/NettyServerRpcConnection.html
index ec15c30..065cddd 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/NettyServerRpcConnection.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/NettyServerRpcConnection.html
@@ -228,7 +228,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.
 <!--   -->
 </a>
 <h3>Methods inherited from class&nbsp;org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html" title="class in org.apache.hadoop.hbase.ipc">ServerRpcConnection</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#createUser-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader-">createUser</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#disposeSasl--">disposeSasl</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#doRawSaslReply-org.apache.hadoop.hbase.security.SaslStatus-org.apache.hadoop.io.Writable-java.lang.String-java.lang.String-">doRawSaslReply</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getAuthorizedUgi-java.lang.String-">getAuthorizedUgi</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getErrorResponse-java.lang.String-java.lang.Exception-">getErrorResponse</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getFatalConnectionString-int-byte-">getFatalConnectionString</a>, <a href="../../../../../org/apache/hadoop/hb
 ase/ipc/ServerRpcConnection.html#getHostAddress--">getHostAddress</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getHostInetAddress--">getHostInetAddress</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getRemotePort--">getRemotePort</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getVersionInfo--">getVersionInfo</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#processOneRpc-org.apache.hadoop.hbase.nio.ByteBuff-">processOneRpc</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#processPreamble-java.nio.ByteBuffer-">processPreamble</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#processRequest-org.apache.hadoop.hbase.nio.ByteBuff-">processRequest</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#saslReadAndProcess-org.apache.hadoop.hbase.nio.ByteBuff-">sasl
 ReadAndProcess</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#setupCellBlockCodecs-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader-">setupCellBlockCodecs</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#setupCryptoCipher-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader-org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeaderResponse.Builder-">setupCryptoCipher</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#toString--">toString</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#disposeSasl--">disposeSasl</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#doRawSaslReply-org.apache.hadoop.hbase.security.SaslStatus-org.apache.hadoop.io.Writable-java.lang.String-java.lang.String-">doRawSaslReply</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getErrorResponse-java.lang.String-java.lang.Exception-">getErrorResponse</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getHostAddress--">getHostAddress</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getHostInetAddress--">getHostInetAddress</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getRemotePort--">getRemotePort</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#getVersionInfo--">getVersionInfo</a>, <a href="../../../../../org/apache/hado
 op/hbase/ipc/ServerRpcConnection.html#processOneRpc-org.apache.hadoop.hbase.nio.ByteBuff-">processOneRpc</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#processPreamble-java.nio.ByteBuffer-">processPreamble</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#processRequest-org.apache.hadoop.hbase.nio.ByteBuff-">processRequest</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#saslReadAndProcess-org.apache.hadoop.hbase.nio.ByteBuff-">saslReadAndProcess</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#toString--">toString</a></code></li>
 </ul>
 <ul class="blockList">
 <li class="blockList"><a name="methods.inherited.from.class.java.lang.Object">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html
index 42cb6a1..8f7a726 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html
@@ -113,7 +113,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.229">RpcServer.BlockingServiceAndInterface</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.233">RpcServer.BlockingServiceAndInterface</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></pre>
 <div class="block">Datastructure for passing a <code>BlockingService</code> and its associated class of
  protobuf service interface.  For example, a server that fielded what is defined
@@ -214,7 +214,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>service</h4>
-<pre>private final&nbsp;org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html#line.230">service</a></pre>
+<pre>private final&nbsp;org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html#line.234">service</a></pre>
 </li>
 </ul>
 <a name="serviceInterface">
@@ -223,7 +223,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>serviceInterface</h4>
-<pre>private final&nbsp;<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>&lt;?&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html#line.231">serviceInterface</a></pre>
+<pre>private final&nbsp;<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>&lt;?&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html#line.235">serviceInterface</a></pre>
 </li>
 </ul>
 </li>
@@ -240,7 +240,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>BlockingServiceAndInterface</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html#line.232">BlockingServiceAndInterface</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService&nbsp;service,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html#line.236">BlockingServiceAndInterface</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService&nbsp;service,
                                    <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>&lt;?&gt;&nbsp;serviceInterface)</pre>
 </li>
 </ul>
@@ -258,7 +258,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getServiceInterface</h4>
-<pre>public&nbsp;<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>&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html#line.237">getServiceInterface</a>()</pre>
+<pre>public&nbsp;<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>&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html#line.241">getServiceInterface</a>()</pre>
 </li>
 </ul>
 <a name="getBlockingService--">
@@ -267,7 +267,7 @@ extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getBlockingService</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html#line.240">getBlockingService</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html#line.244">getBlockingService</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.CallCleanup.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.CallCleanup.html b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.CallCleanup.html
index 8f78d56..30500e3 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.CallCleanup.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.CallCleanup.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>
-protected static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.219">RpcServer.CallCleanup</a></pre>
+protected static interface <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.223">RpcServer.CallCleanup</a></pre>
 </li>
 </ul>
 </div>
@@ -154,7 +154,7 @@ protected static interface <a href="../../../../../src-html/org/apache/hadoop/hb
 <ul class="blockListLast">
 <li class="blockList">
 <h4>run</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.CallCleanup.html#line.220">run</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.CallCleanup.html#line.224">run</a>()</pre>
 </li>
 </ul>
 </li>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html
index 7aeb0fb..f01cf3a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.html
@@ -27,3384 +27,3404 @@
 <span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.regionserver;<a name="line.19"></a>
 <span class="sourceLineNo">020</span><a name="line.20"></a>
 <span class="sourceLineNo">021</span>import com.google.common.annotations.VisibleForTesting;<a name="line.21"></a>
-<span class="sourceLineNo">022</span><a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.FileNotFoundException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.io.InterruptedIOException;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.net.BindException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.net.InetSocketAddress;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.net.UnknownHostException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.nio.ByteBuffer;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.*;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Map.Entry;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.concurrent.ConcurrentMap;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.concurrent.atomic.LongAdder;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.commons.lang.mutable.MutableObject;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.commons.logging.Log;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.commons.logging.LogFactory;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.conf.Configuration;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.fs.Path;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.ByteBufferCell;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.Cell;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.CellScannable;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HConstants;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.MultiActionResultTooLarge;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.client.Append;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.client.ConnectionUtils;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.Get;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.Put;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Result;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.exceptions.ScannerResetException;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.ipc.HBaseRPCErrorHandler;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.ipc.PriorityFunction;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.ipc.QosPriority;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.ipc.RpcCallback;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.ipc.RpcServer.BlockingServiceAndInterface;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.ipc.RpcServerFactory;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.ipc.RpcServerInterface;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.ipc.ServerRpcController;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.master.MasterRpcServices;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.quotas.ActivePolicyEnforcement;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.quotas.RegionServerSpaceQuotaManager;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.quotas.SpaceViolationPolicyEnforcement;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.regionserver.handler.OpenPriorityRegionHandler;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.security.Superusers;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.security.User;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.ResponseConverter;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest.RegionOpenInfo;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse.RegionOpeningState;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Condition;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRegionLoadStats;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionAction;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanRequest;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameBytesPair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsRequest;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceViolationPolicy;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.206"></a>
-<span class="sourceLineNo">207</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.210"></a>
-<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.211"></a>
-<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>import org.apache.zookeeper.KeeperException;<a name="line.213"></a>
-<span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>/**<a name="line.215"></a>
-<span class="sourceLineNo">216</span> * Implements the regionserver RPC services.<a name="line.216"></a>
-<span class="sourceLineNo">217</span> */<a name="line.217"></a>
-<span class="sourceLineNo">218</span>@InterfaceAudience.Private<a name="line.218"></a>
-<span class="sourceLineNo">219</span>@SuppressWarnings("deprecation")<a name="line.219"></a>
-<span class="sourceLineNo">220</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    ConfigurationObserver {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.223"></a>
-<span class="sourceLineNo">224</span><a name="line.224"></a>
-<span class="sourceLineNo">225</span>  /** RPC scheduler to use for the region server. */<a name="line.225"></a>
-<span class="sourceLineNo">226</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    "hbase.region.server.rpc.scheduler.factory.class";<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  /**<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  final LongAdder requestCount = new LongAdder();<a name="line.242"></a>
-<span class="sourceLineNo">243</span><a name="line.243"></a>
-<span class="sourceLineNo">244</span>  // Request counter for rpc get<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  final LongAdder rpcGetRequestCount = new LongAdder();<a name="line.245"></a>
-<span class="sourceLineNo">246</span><a name="line.246"></a>
-<span class="sourceLineNo">247</span>  // Request counter for rpc scan<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  final LongAdder rpcScanRequestCount = new LongAdder();<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span>  // Request counter for rpc multi<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  final LongAdder rpcMultiRequestCount = new LongAdder();<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>  // Request counter for rpc mutate<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  final LongAdder rpcMutateRequestCount = new LongAdder();<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  // Server to handle client requests.<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  final RpcServerInterface rpcServer;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  final InetSocketAddress isa;<a name="line.258"></a>
-<span class="sourceLineNo">259</span><a name="line.259"></a>
-<span class="sourceLineNo">260</span>  private final HRegionServer regionServer;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  private final long maxScannerResultSize;<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  // The reference to the priority extraction function<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  private final PriorityFunction priority;<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>  private final ConcurrentMap&lt;String, RegionScannerHolder&gt; scanners = new ConcurrentHashMap&lt;&gt;();<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>   * The lease timeout period for client scanners (milliseconds).<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private final int scannerLeaseTimeoutPeriod;<a name="line.272"></a>
+<span class="sourceLineNo">022</span>import com.google.common.cache.Cache;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import com.google.common.cache.CacheBuilder;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.io.FileNotFoundException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.io.IOException;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.io.InterruptedIOException;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.net.BindException;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.net.InetSocketAddress;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.net.UnknownHostException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.nio.ByteBuffer;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.ArrayList;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.Arrays;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.Collections;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.HashMap;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.Iterator;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.List;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.Map;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.Map.Entry;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.NavigableMap;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import java.util.Set;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import java.util.TreeSet;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import java.util.concurrent.ConcurrentMap;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.TimeUnit;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.atomic.LongAdder;<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.commons.lang.mutable.MutableObject;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.commons.logging.Log;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.commons.logging.LogFactory;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.conf.Configuration;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.fs.Path;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ByteBufferCell;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.Cell;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.CellScannable;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.HConstants;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.MultiActionResultTooLarge;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.ServerName;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.TableName;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.Append;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.ConnectionUtils;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.client.Get;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.client.Put;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.client.Result;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.exceptions.ScannerResetException;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.ipc.HBaseRPCErrorHandler;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.ipc.PriorityFunction;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.ipc.QosPriority;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.ipc.RpcCallback;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.ipc.RpcServer.BlockingServiceAndInterface;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.ipc.RpcServerFactory;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.ipc.RpcServerInterface;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.ipc.ServerRpcController;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.master.MasterRpcServices;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.quotas.ActivePolicyEnforcement;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.quotas.RegionServerSpaceQuotaManager;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.quotas.SpaceViolationPolicyEnforcement;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.regionserver.handler.OpenPriorityRegionHandler;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.security.Superusers;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.security.User;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.ResponseConverter;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesRequest;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesResponse;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeRequest;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeResponse;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoRequest;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoResponse;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileRequest;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileResponse;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest.RegionOpenInfo;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse.RegionOpeningState;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterRequest;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterResponse;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerRequest;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerResponse;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationRequest;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationResponse;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesRequest;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesResponse;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadRequest;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadResponse;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Condition;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetRequest;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetResponse;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRegionLoadStats;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionAction;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanRequest;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameBytesPair;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.204"></a>
+<span class="sourceLineNo">205</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.205"></a>
+<span class="sourceLineNo">206</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsRequest;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader;<a name="line.209"></a>
+<span class="sourceLineNo">210</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.210"></a>
+<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.213"></a>
+<span class="sourceLineNo">214</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.218"></a>
+<span class="sourceLineNo">219</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.220"></a>
+<span class="sourceLineNo">221</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.221"></a>
+<span class="sourceLineNo">222</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.222"></a>
+<span class="sourceLineNo">223</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.223"></a>
+<span class="sourceLineNo">224</span>import org.apache.zookeeper.KeeperException;<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>/**<a name="line.226"></a>
+<span class="sourceLineNo">227</span> * Implements the regionserver RPC services.<a name="line.227"></a>
+<span class="sourceLineNo">228</span> */<a name="line.228"></a>
+<span class="sourceLineNo">229</span>@InterfaceAudience.Private<a name="line.229"></a>
+<span class="sourceLineNo">230</span>@SuppressWarnings("deprecation")<a name="line.230"></a>
+<span class="sourceLineNo">231</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    ConfigurationObserver {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>  /** RPC scheduler to use for the region server. */<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    "hbase.region.server.rpc.scheduler.factory.class";<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>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  /**<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   */<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.250"></a>
+<span class="sourceLineNo">251</span><a name="line.251"></a>
+<span class="sourceLineNo">252</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  final LongAdder requestCount = new LongAdder();<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>  // Request counter for rpc get<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  final LongAdder rpcGetRequestCount = new LongAdder();<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  // Request counter for rpc scan<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  final LongAdder rpcScanRequestCount = new LongAdder();<a name="line.259"></a>
+<span class="sourceLineNo">260</span><a name="line.260"></a>
+<span class="sourceLineNo">261</span>  // Request counter for rpc multi<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  final LongAdder rpcMultiRequestCount = new LongAdder();<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span>  // Request counter for rpc mutate<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  final LongAdder rpcMutateRequestCount = new LongAdder();<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  // Server to handle client requests.<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  final RpcServerInterface rpcServer;<a name="line.268"></a>
+<span class="sourceLineNo">269</span>  final InetSocketAddress isa;<a name="line.269"></a>
+<span class="sourceLineNo">270</span><a name="line.270"></a>
+<span class="sourceLineNo">271</span>  private final HRegionServer regionServer;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  private final long maxScannerResultSize;<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>   * The RPC timeout period (milliseconds)<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   */<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private final int rpcTimeout;<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  /**<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * The minimum allowable delta to use for the scan limit<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   */<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  private final long minimumScanTimeLimitDelta;<a name="line.282"></a>
-<span class="sourceLineNo">283</span><a name="line.283"></a>
-<span class="sourceLineNo">284</span>  final AtomicBoolean clearCompactionQueues = new AtomicBoolean(false);<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>  /**<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   * An Rpc callback for closing a RegionScanner.<a name="line.287"></a>
-<span class="sourceLineNo">288</span>   */<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  private static final class RegionScannerCloseCallBack implements RpcCallback {<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>    private final RegionScanner scanner;<a name="line.291"></a>
+<span class="sourceLineNo">274</span>  // The reference to the priority extraction function<a name="line.274"></a>
+<span class="sourceLineNo">275</span>  private final PriorityFunction priority;<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  private final ConcurrentMap&lt;String, RegionScannerHolder&gt; scanners = new ConcurrentHashMap&lt;&gt;();<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  // Hold the name of a closed scanner for a while. This is used to keep compatible for old clients<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  // which may send next or close request to a region scanner which has already been exhausted. The<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  // entries will be removed automatically after scannerLeaseTimeoutPeriod.<a name="line.281"></a>
+<span class="sourceLineNo">282</span>  private final Cache&lt;String, String&gt; closedScanners;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  /**<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * The lease timeout period for client scanners (milliseconds).<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   */<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  private final int scannerLeaseTimeoutPeriod;<a name="line.286"></a>
+<span class="sourceLineNo">287</span><a name="line.287"></a>
+<span class="sourceLineNo">288</span>  /**<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   * The RPC timeout period (milliseconds)<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   */<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  private final int rpcTimeout;<a name="line.291"></a>
 <span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>    public RegionScannerCloseCallBack(RegionScanner scanner) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      this.scanner = scanner;<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>    @Override<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    public void run() throws IOException {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      this.scanner.close();<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><a name="line.302"></a>
-<span class="sourceLineNo">303</span>  /**<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>    private final String scannerName;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    private final RegionScanner scanner;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    private final Lease lease;<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      this.scannerName = scannerName;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      this.scanner = scanner;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      this.lease = lease;<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>    @Override<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    public void run() throws IOException {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      this.scanner.shipped();<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      if (scanners.containsKey(scannerName)) {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>        if (lease != null) regionServer.leases.addLease(lease);<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      }<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    }<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * completion of multiGets.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;&gt;();<a name="line.334"></a>
-<span class="sourceLineNo">335</span><a name="line.335"></a>
-<span class="sourceLineNo">336</span>    public void addScanner(RegionScanner scanner) {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      this.scanners.add(scanner);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>    @Override<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    public void run() {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      for (RegionScanner scanner : scanners) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>        try {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>          scanner.close();<a name="line.344"></a>
-<span class="sourceLineNo">345</span>        } catch (IOException e) {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>          LOG.error("Exception while closing the scanner " + scanner, e);<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>    }<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>  /**<a name="line.352"></a>
-<span class="sourceLineNo">353</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  private static final class RegionScannerHolder {<a name="line.355"></a>
-<span class="sourceLineNo">356</span><a name="line.356"></a>
-<span class="sourceLineNo">357</span>    private final AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    private final String scannerName;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    private final RegionScanner s;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    private final Region r;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    private final RpcCallback closeCallBack;<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    private final RpcCallback shippedCallback;<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    private byte[] rowOfLastPartialResult;<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>    public RegionScannerHolder(String scannerName, RegionScanner s, Region r,<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        RpcCallback closeCallBack, RpcCallback shippedCallback) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      this.scannerName = scannerName;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      this.s = s;<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      this.r = r;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>      this.closeCallBack = closeCallBack;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      this.shippedCallback = shippedCallback;<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>    public long getNextCallSeq() {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      return nextCallSeq.get();<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    }<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>    public boolean incNextCallSeq(long currentSeq) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      // Use CAS to prevent multiple scan request running on the same scanner.<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      return nextCallSeq.compareAndSet(currentSeq, currentSeq + 1);<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>  }<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>  /**<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   * closed<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   */<a name="line.387"></a>
-<span class="sourceLineNo">388</span>  private class ScannerListener implements LeaseListener {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    private final String scannerName;<a name="line.389"></a>
-<span class="sourceLineNo">390</span><a name="line.390"></a>
-<span class="sourceLineNo">391</span>    ScannerListener(final String n) {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      this.scannerName = n;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    }<a name="line.393"></a>
-<span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>    @Override<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    public void leaseExpired() {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      RegionScannerHolder rsh = scanners.remove(this.scannerName);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>      if (rsh != null) {<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        RegionScanner s = rsh.s;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>        LOG.info("Scanner " + this.scannerName + " lease expired on region "<a name="line.400"></a>
-<span class="sourceLineNo">401</span>          + s.getRegionInfo().getRegionNameAsString());<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        Region region = null;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>        try {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>          region = regionServer.getRegion(s.getRegionInfo().getRegionName());<a name="line.404"></a>
-<span class="sourceLineNo">405</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>            region.getCoprocessorHost().preScannerClose(s);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>          }<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        } catch (IOException e) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>          LOG.error("Closing scanner for " + s.getRegionInfo().getRegionNameAsString(), e);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        } finally {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>          try {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>            s.close();<a name="line.412"></a>
-<span class="sourceLineNo">413</span>            if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>              region.getCoprocessorHost().postScannerClose(s);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>            }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          } catch (IOException e) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>            LOG.error("Closing scanner for " + s.getRegionInfo().getRegionNameAsString(), e);<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>      } else {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>        LOG.warn("Scanner " + this.scannerName + " lease expired, but no related" +<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          " scanner found, hence no chance to close that related scanner!");<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>  }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>  private static ResultOrException getResultOrException(final ClientProtos.Result r,<a name="line.427"></a>
-<span class="sourceLineNo">428</span>                                                        final int index){<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    return getResultOrException(ResponseConverter.buildActionResult(r), index);<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>  private static ResultOrException getResultOrException(final Exception e, final int index) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return getResultOrException(ResponseConverter.buildActionResult(e), index);<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>  private static ResultOrException getResultOrException(<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      final ResultOrException.Builder builder, final int index) {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    return builder.setIndex(index).build();<a name="line.438"></a>
+<span class="sourceLineNo">293</span>  /**<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * The minimum allowable delta to use for the scan limit<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   */<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  private final long minimumScanTimeLimitDelta;<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span>  final AtomicBoolean clearCompactionQueues = new AtomicBoolean(false);<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>   * An Rpc callback for closing a RegionScanner.<a name="line.301"></a>
+<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  private static final class RegionScannerCloseCallBack implements RpcCallback {<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>    private final RegionScanner scanner;<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>    public RegionScannerCloseCallBack(RegionScanner scanner) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      this.scanner = scanner;<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    }<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>    @Override<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    public void run() throws IOException {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      this.scanner.close();<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><a name="line.316"></a>
+<span class="sourceLineNo">317</span>  /**<a name="line.317"></a>
+<span class="sourceLineNo">318</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   */<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.320"></a>
+<span class="sourceLineNo">321</span><a name="line.321"></a>
+<span class="sourceLineNo">322</span>    private final String scannerName;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    private final RegionScanner scanner;<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    private final Lease lease;<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      this.scannerName = scannerName;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>      this.scanner = scanner;<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      this.lease = lease;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    }<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>    @Override<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    public void run() throws IOException {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      this.scanner.shipped();<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.336"></a>
+<span class="sourceLineNo">337</span>      if (scanners.containsKey(scannerName)) {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>        if (lease != null) regionServer.leases.addLease(lease);<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>  }<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>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   * completion of multiGets.<a name="line.345"></a>
+<span class="sourceLineNo">346</span>   */<a name="line.346"></a>
+<span class="sourceLineNo">347</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;&gt;();<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>    public void addScanner(RegionScanner scanner) {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      this.scanners.add(scanner);<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    }<a name="line.352"></a>
+<span class="sourceLineNo">353</span><a name="line.353"></a>
+<span class="sourceLineNo">354</span>    @Override<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    public void run() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      for (RegionScanner scanner : scanners) {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>        try {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>          scanner.close();<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        } catch (IOException e) {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>          LOG.error("Exception while closing the scanner " + scanner, e);<a name="line.360"></a>
+<span class="sourceLineNo">361</span>        }<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      }<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    }<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span>  /**<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   */<a name="line.368"></a>
+<span class="sourceLineNo">369</span>  private static final class RegionScannerHolder {<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    private final AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    private final String scannerName;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    private final RegionScanner s;<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    private final Region r;<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    private final RpcCallback closeCallBack;<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    private final RpcCallback shippedCallback;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    private byte[] rowOfLastPartialResult;<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    public RegionScannerHolder(String scannerName, RegionScanner s, Region r,<a name="line.379"></a>
+<span class="sourceLineNo">380</span>        RpcCallback closeCallBack, RpcCallback shippedCallback) {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>      this.scannerName = scannerName;<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      this.s = s;<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      this.r = r;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      this.closeCallBack = closeCallBack;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>      this.shippedCallback = shippedCallback;<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>    public long getNextCallSeq() {<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      return nextCallSeq.get();<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span>    public boolean incNextCallSeq(long currentSeq) {<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      // Use CAS to prevent multiple scan request running on the same scanner.<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      return nextCallSeq.compareAndSet(currentSeq, currentSeq + 1);<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><a name="line.397"></a>
+<span class="sourceLineNo">398</span>  /**<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.399"></a>
+<span class="sourceLineNo">400</span>   * closed<a name="line.400"></a>
+<span class="sourceLineNo">401</span>   */<a name="line.401"

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html
index 8f41f08d..d6ee5b4 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncProcedureAdminApi.html
@@ -34,7 +34,7 @@
 <span class="sourceLineNo">026</span>import org.apache.hadoop.hbase.procedure.SimpleMasterProcedureManager;<a name="line.26"></a>
 <span class="sourceLineNo">027</span>import org.apache.hadoop.hbase.procedure.SimpleRSProcedureManager;<a name="line.27"></a>
 <span class="sourceLineNo">028</span>import org.apache.hadoop.hbase.testclassification.ClientTests;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.29"></a>
+<span class="sourceLineNo">029</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.29"></a>
 <span class="sourceLineNo">030</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.30"></a>
 <span class="sourceLineNo">031</span>import org.junit.Assert;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>import org.junit.BeforeClass;<a name="line.32"></a>
@@ -45,85 +45,86 @@
 <span class="sourceLineNo">037</span>import java.util.Map;<a name="line.37"></a>
 <span class="sourceLineNo">038</span>import java.util.Random;<a name="line.38"></a>
 <span class="sourceLineNo">039</span><a name="line.39"></a>
-<span class="sourceLineNo">040</span>import static org.junit.Assert.assertArrayEquals;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import static org.junit.Assert.assertFalse;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import static org.junit.Assert.assertTrue;<a name="line.42"></a>
-<span class="sourceLineNo">043</span><a name="line.43"></a>
-<span class="sourceLineNo">044</span>/**<a name="line.44"></a>
-<span class="sourceLineNo">045</span> * Class to test asynchronous procedure admin operations.<a name="line.45"></a>
-<span class="sourceLineNo">046</span> */<a name="line.46"></a>
-<span class="sourceLineNo">047</span>@Category({ MediumTests.class, ClientTests.class })<a name="line.47"></a>
-<span class="sourceLineNo">048</span>public class TestAsyncProcedureAdminApi extends TestAsyncAdminBase {<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>  @BeforeClass<a name="line.50"></a>
-<span class="sourceLineNo">051</span>  public static void setUpBeforeClass() throws Exception {<a name="line.51"></a>
-<span class="sourceLineNo">052</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_CLIENT_PAUSE, 10);<a name="line.52"></a>
-<span class="sourceLineNo">053</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 3);<a name="line.53"></a>
-<span class="sourceLineNo">054</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_RPC_TIMEOUT_KEY, 1000);<a name="line.54"></a>
-<span class="sourceLineNo">055</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT, 3000);<a name="line.55"></a>
-<span class="sourceLineNo">056</span>    TEST_UTIL.getConfiguration().set(ProcedureManagerHost.MASTER_PROCEDURE_CONF_KEY,<a name="line.56"></a>
-<span class="sourceLineNo">057</span>      SimpleMasterProcedureManager.class.getName());<a name="line.57"></a>
-<span class="sourceLineNo">058</span>    TEST_UTIL.getConfiguration().set(ProcedureManagerHost.REGIONSERVER_PROCEDURE_CONF_KEY,<a name="line.58"></a>
-<span class="sourceLineNo">059</span>      SimpleRSProcedureManager.class.getName());<a name="line.59"></a>
-<span class="sourceLineNo">060</span>    TEST_UTIL.getConfiguration().setBoolean(SnapshotManager.HBASE_SNAPSHOT_ENABLED, true);<a name="line.60"></a>
-<span class="sourceLineNo">061</span>    TEST_UTIL.startMiniCluster(2);<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    ASYNC_CONN = ConnectionFactory.createAsyncConnection(TEST_UTIL.getConfiguration()).get();<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  }<a name="line.63"></a>
-<span class="sourceLineNo">064</span><a name="line.64"></a>
-<span class="sourceLineNo">065</span>  @Test<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  public void testExecProcedure() throws Exception {<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    TableName tableName = TableName.valueOf("testExecProcedure");<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    try {<a name="line.68"></a>
-<span class="sourceLineNo">069</span>      Table table = TEST_UTIL.createTable(tableName, Bytes.toBytes("cf"));<a name="line.69"></a>
-<span class="sourceLineNo">070</span>      for (int i = 0; i &lt; 100; i++) {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>        Put put = new Put(Bytes.toBytes(i)).addColumn(Bytes.toBytes("cf"), null, Bytes.toBytes(i));<a name="line.71"></a>
-<span class="sourceLineNo">072</span>        table.put(put);<a name="line.72"></a>
-<span class="sourceLineNo">073</span>      }<a name="line.73"></a>
-<span class="sourceLineNo">074</span>      // take a snapshot of the enabled table<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      String snapshotString = "offlineTableSnapshot";<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      Map&lt;String, String&gt; props = new HashMap&lt;&gt;();<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      props.put("table", tableName.getNameAsString());<a name="line.77"></a>
-<span class="sourceLineNo">078</span>      admin.execProcedure(SnapshotManager.ONLINE_SNAPSHOT_CONTROLLER_DESCRIPTION, snapshotString,<a name="line.78"></a>
-<span class="sourceLineNo">079</span>        props).get();<a name="line.79"></a>
-<span class="sourceLineNo">080</span>      LOG.debug("Snapshot completed.");<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    } finally {<a name="line.81"></a>
-<span class="sourceLineNo">082</span>      TEST_UTIL.deleteTable(tableName);<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    }<a name="line.83"></a>
-<span class="sourceLineNo">084</span>  }<a name="line.84"></a>
-<span class="sourceLineNo">085</span><a name="line.85"></a>
-<span class="sourceLineNo">086</span>  @Test<a name="line.86"></a>
-<span class="sourceLineNo">087</span>  public void testExecProcedureWithRet() throws Exception {<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    byte[] result = admin.execProcedureWithRet(SimpleMasterProcedureManager.SIMPLE_SIGNATURE,<a name="line.88"></a>
-<span class="sourceLineNo">089</span>      "myTest2", new HashMap&lt;&gt;()).get();<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    assertArrayEquals("Incorrect return data from execProcedure",<a name="line.90"></a>
-<span class="sourceLineNo">091</span>      SimpleMasterProcedureManager.SIMPLE_DATA.getBytes(), result);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>  }<a name="line.92"></a>
-<span class="sourceLineNo">093</span><a name="line.93"></a>
-<span class="sourceLineNo">094</span>  @Test<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  public void listProcedure() throws Exception {<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    ProcedureInfo[] procList = admin.listProcedures().get();<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    assertTrue(procList.length &gt;= 0);<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 isProcedureFinished() throws Exception {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    boolean failed = false;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>    try {<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      admin.isProcedureFinished("fake-signature", "fake-instance", new HashMap&lt;&gt;()).get();<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    } catch (Exception e) {<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      failed = true;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    }<a name="line.107"></a>
-<span class="sourceLineNo">108</span>    Assert.assertTrue(failed);<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<a name="line.111"></a>
-<span class="sourceLineNo">112</span>  public void abortProcedure() throws Exception {<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    Random randomGenerator = new Random();<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    long procId = randomGenerator.nextLong();<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    boolean abortResult = admin.abortProcedure(procId, true).get();<a name="line.115"></a>
-<span class="sourceLineNo">116</span>    assertFalse(abortResult);<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">040</span>import static org.apache.hadoop.hbase.client.AsyncProcess.START_LOG_ERRORS_AFTER_COUNT_KEY;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import static org.junit.Assert.assertArrayEquals;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import static org.junit.Assert.assertFalse;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import static org.junit.Assert.assertTrue;<a name="line.43"></a>
+<span class="sourceLineNo">044</span><a name="line.44"></a>
+<span class="sourceLineNo">045</span>/**<a name="line.45"></a>
+<span class="sourceLineNo">046</span> * Class to test asynchronous procedure admin operations.<a name="line.46"></a>
+<span class="sourceLineNo">047</span> */<a name="line.47"></a>
+<span class="sourceLineNo">048</span>@Category({ LargeTests.class, ClientTests.class })<a name="line.48"></a>
+<span class="sourceLineNo">049</span>public class TestAsyncProcedureAdminApi extends TestAsyncAdminBase {<a name="line.49"></a>
+<span class="sourceLineNo">050</span><a name="line.50"></a>
+<span class="sourceLineNo">051</span>  @BeforeClass<a name="line.51"></a>
+<span class="sourceLineNo">052</span>  public static void setUpBeforeClass() throws Exception {<a name="line.52"></a>
+<span class="sourceLineNo">053</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_RPC_TIMEOUT_KEY, 60000);<a name="line.53"></a>
+<span class="sourceLineNo">054</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_CLIENT_OPERATION_TIMEOUT, 120000);<a name="line.54"></a>
+<span class="sourceLineNo">055</span>    TEST_UTIL.getConfiguration().setInt(HConstants.HBASE_CLIENT_RETRIES_NUMBER, 2);<a name="line.55"></a>
+<span class="sourceLineNo">056</span>    TEST_UTIL.getConfiguration().setInt(START_LOG_ERRORS_AFTER_COUNT_KEY, 0);<a name="line.56"></a>
+<span class="sourceLineNo">057</span>    TEST_UTIL.getConfiguration().set(ProcedureManagerHost.MASTER_PROCEDURE_CONF_KEY,<a name="line.57"></a>
+<span class="sourceLineNo">058</span>      SimpleMasterProcedureManager.class.getName());<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    TEST_UTIL.getConfiguration().set(ProcedureManagerHost.REGIONSERVER_PROCEDURE_CONF_KEY,<a name="line.59"></a>
+<span class="sourceLineNo">060</span>      SimpleRSProcedureManager.class.getName());<a name="line.60"></a>
+<span class="sourceLineNo">061</span>    TEST_UTIL.getConfiguration().setBoolean(SnapshotManager.HBASE_SNAPSHOT_ENABLED, true);<a name="line.61"></a>
+<span class="sourceLineNo">062</span>    TEST_UTIL.startMiniCluster(2);<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    ASYNC_CONN = ConnectionFactory.createAsyncConnection(TEST_UTIL.getConfiguration()).get();<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  }<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>  @Test<a name="line.66"></a>
+<span class="sourceLineNo">067</span>  public void testExecProcedure() throws Exception {<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    TableName tableName = TableName.valueOf("testExecProcedure");<a name="line.68"></a>
+<span class="sourceLineNo">069</span>    try {<a name="line.69"></a>
+<span class="sourceLineNo">070</span>      Table table = TEST_UTIL.createTable(tableName, Bytes.toBytes("cf"));<a name="line.70"></a>
+<span class="sourceLineNo">071</span>      for (int i = 0; i &lt; 100; i++) {<a name="line.71"></a>
+<span class="sourceLineNo">072</span>        Put put = new Put(Bytes.toBytes(i)).addColumn(Bytes.toBytes("cf"), null, Bytes.toBytes(i));<a name="line.72"></a>
+<span class="sourceLineNo">073</span>        table.put(put);<a name="line.73"></a>
+<span class="sourceLineNo">074</span>      }<a name="line.74"></a>
+<span class="sourceLineNo">075</span>      // take a snapshot of the enabled table<a name="line.75"></a>
+<span class="sourceLineNo">076</span>      String snapshotString = "offlineTableSnapshot";<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      Map&lt;String, String&gt; props = new HashMap&lt;&gt;();<a name="line.77"></a>
+<span class="sourceLineNo">078</span>      props.put("table", tableName.getNameAsString());<a name="line.78"></a>
+<span class="sourceLineNo">079</span>      admin.execProcedure(SnapshotManager.ONLINE_SNAPSHOT_CONTROLLER_DESCRIPTION, snapshotString,<a name="line.79"></a>
+<span class="sourceLineNo">080</span>        props).get();<a name="line.80"></a>
+<span class="sourceLineNo">081</span>      LOG.debug("Snapshot completed.");<a name="line.81"></a>
+<span class="sourceLineNo">082</span>    } finally {<a name="line.82"></a>
+<span class="sourceLineNo">083</span>      TEST_UTIL.deleteTable(tableName);<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    }<a name="line.84"></a>
+<span class="sourceLineNo">085</span>  }<a name="line.85"></a>
+<span class="sourceLineNo">086</span><a name="line.86"></a>
+<span class="sourceLineNo">087</span>  @Test<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  public void testExecProcedureWithRet() throws Exception {<a name="line.88"></a>
+<span class="sourceLineNo">089</span>    byte[] result = admin.execProcedureWithRet(SimpleMasterProcedureManager.SIMPLE_SIGNATURE,<a name="line.89"></a>
+<span class="sourceLineNo">090</span>      "myTest2", new HashMap&lt;&gt;()).get();<a name="line.90"></a>
+<span class="sourceLineNo">091</span>    assertArrayEquals("Incorrect return data from execProcedure",<a name="line.91"></a>
+<span class="sourceLineNo">092</span>      SimpleMasterProcedureManager.SIMPLE_DATA.getBytes(), result);<a name="line.92"></a>
+<span class="sourceLineNo">093</span>  }<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>  @Test<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  public void listProcedure() throws Exception {<a name="line.96"></a>
+<span class="sourceLineNo">097</span>    ProcedureInfo[] procList = admin.listProcedures().get();<a name="line.97"></a>
+<span class="sourceLineNo">098</span>    assertTrue(procList.length &gt;= 0);<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  }<a name="line.99"></a>
+<span class="sourceLineNo">100</span><a name="line.100"></a>
+<span class="sourceLineNo">101</span>  @Test<a name="line.101"></a>
+<span class="sourceLineNo">102</span>  public void isProcedureFinished() throws Exception {<a name="line.102"></a>
+<span class="sourceLineNo">103</span>    boolean failed = false;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>    try {<a name="line.104"></a>
+<span class="sourceLineNo">105</span>      admin.isProcedureFinished("fake-signature", "fake-instance", new HashMap&lt;&gt;()).get();<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    } catch (Exception e) {<a name="line.106"></a>
+<span class="sourceLineNo">107</span>      failed = true;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>    }<a name="line.108"></a>
+<span class="sourceLineNo">109</span>    Assert.assertTrue(failed);<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  }<a name="line.110"></a>
+<span class="sourceLineNo">111</span><a name="line.111"></a>
+<span class="sourceLineNo">112</span>  @Test<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  public void abortProcedure() throws Exception {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>    Random randomGenerator = new Random();<a name="line.114"></a>
+<span class="sourceLineNo">115</span>    long procId = randomGenerator.nextLong();<a name="line.115"></a>
+<span class="sourceLineNo">116</span>    boolean abortResult = admin.abortProcedure(procId, true).get();<a name="line.116"></a>
+<span class="sourceLineNo">117</span>    assertFalse(abortResult);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  }<a name="line.118"></a>
+<span class="sourceLineNo">119</span>}<a name="line.119"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/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 370ae75..5a3392b 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/client/TestAsyncRegionAdminApi.html
@@ -55,7 +55,7 @@
 <span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.regionserver.Region;<a name="line.47"></a>
 <span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.48"></a>
 <span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.testclassification.ClientTests;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.testclassification.MediumTests;<a name="line.50"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.testclassification.LargeTests;<a name="line.50"></a>
 <span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.51"></a>
 <span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.util.JVMClusterUtil;<a name="line.52"></a>
 <span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.53"></a>
@@ -67,7 +67,7 @@
 <span class="sourceLineNo">059</span>/**<a name="line.59"></a>
 <span class="sourceLineNo">060</span> * Class to test asynchronous region admin operations.<a name="line.60"></a>
 <span class="sourceLineNo">061</span> */<a name="line.61"></a>
-<span class="sourceLineNo">062</span>@Category({ MediumTests.class, ClientTests.class })<a name="line.62"></a>
+<span class="sourceLineNo">062</span>@Category({ LargeTests.class, ClientTests.class })<a name="line.62"></a>
 <span class="sourceLineNo">063</span>public class TestAsyncRegionAdminApi extends TestAsyncAdminBase {<a name="line.63"></a>
 <span class="sourceLineNo">064</span><a name="line.64"></a>
 <span class="sourceLineNo">065</span>  public static Random RANDOM = new Random(System.currentTimeMillis());<a name="line.65"></a>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html
index 7aeb0fb..f01cf3a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerHolder.html
@@ -27,3384 +27,3404 @@
 <span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.regionserver;<a name="line.19"></a>
 <span class="sourceLineNo">020</span><a name="line.20"></a>
 <span class="sourceLineNo">021</span>import com.google.common.annotations.VisibleForTesting;<a name="line.21"></a>
-<span class="sourceLineNo">022</span><a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.FileNotFoundException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.io.InterruptedIOException;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.net.BindException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.net.InetSocketAddress;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.net.UnknownHostException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.nio.ByteBuffer;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.*;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Map.Entry;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.concurrent.ConcurrentMap;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.concurrent.atomic.LongAdder;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.commons.lang.mutable.MutableObject;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.commons.logging.Log;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.commons.logging.LogFactory;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.conf.Configuration;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.fs.Path;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.ByteBufferCell;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.Cell;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.CellScannable;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HConstants;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.MultiActionResultTooLarge;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.client.Append;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.client.ConnectionUtils;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.Get;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.Put;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Result;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.exceptions.ScannerResetException;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.ipc.HBaseRPCErrorHandler;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.ipc.PriorityFunction;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.ipc.QosPriority;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.ipc.RpcCallback;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.ipc.RpcServer.BlockingServiceAndInterface;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.ipc.RpcServerFactory;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.ipc.RpcServerInterface;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.ipc.ServerRpcController;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.master.MasterRpcServices;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.quotas.ActivePolicyEnforcement;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.quotas.RegionServerSpaceQuotaManager;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.quotas.SpaceViolationPolicyEnforcement;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.regionserver.handler.OpenPriorityRegionHandler;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.security.Superusers;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.security.User;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.ResponseConverter;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest.RegionOpenInfo;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse.RegionOpeningState;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Condition;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRegionLoadStats;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionAction;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanRequest;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameBytesPair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsRequest;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceViolationPolicy;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.206"></a>
-<span class="sourceLineNo">207</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.210"></a>
-<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.211"></a>
-<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>import org.apache.zookeeper.KeeperException;<a name="line.213"></a>
-<span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>/**<a name="line.215"></a>
-<span class="sourceLineNo">216</span> * Implements the regionserver RPC services.<a name="line.216"></a>
-<span class="sourceLineNo">217</span> */<a name="line.217"></a>
-<span class="sourceLineNo">218</span>@InterfaceAudience.Private<a name="line.218"></a>
-<span class="sourceLineNo">219</span>@SuppressWarnings("deprecation")<a name="line.219"></a>
-<span class="sourceLineNo">220</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    ConfigurationObserver {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.223"></a>
-<span class="sourceLineNo">224</span><a name="line.224"></a>
-<span class="sourceLineNo">225</span>  /** RPC scheduler to use for the region server. */<a name="line.225"></a>
-<span class="sourceLineNo">226</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    "hbase.region.server.rpc.scheduler.factory.class";<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  /**<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  final LongAdder requestCount = new LongAdder();<a name="line.242"></a>
-<span class="sourceLineNo">243</span><a name="line.243"></a>
-<span class="sourceLineNo">244</span>  // Request counter for rpc get<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  final LongAdder rpcGetRequestCount = new LongAdder();<a name="line.245"></a>
-<span class="sourceLineNo">246</span><a name="line.246"></a>
-<span class="sourceLineNo">247</span>  // Request counter for rpc scan<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  final LongAdder rpcScanRequestCount = new LongAdder();<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span>  // Request counter for rpc multi<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  final LongAdder rpcMultiRequestCount = new LongAdder();<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>  // Request counter for rpc mutate<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  final LongAdder rpcMutateRequestCount = new LongAdder();<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  // Server to handle client requests.<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  final RpcServerInterface rpcServer;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  final InetSocketAddress isa;<a name="line.258"></a>
-<span class="sourceLineNo">259</span><a name="line.259"></a>
-<span class="sourceLineNo">260</span>  private final HRegionServer regionServer;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  private final long maxScannerResultSize;<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  // The reference to the priority extraction function<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  private final PriorityFunction priority;<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>  private final ConcurrentMap&lt;String, RegionScannerHolder&gt; scanners = new ConcurrentHashMap&lt;&gt;();<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>   * The lease timeout period for client scanners (milliseconds).<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private final int scannerLeaseTimeoutPeriod;<a name="line.272"></a>
+<span class="sourceLineNo">022</span>import com.google.common.cache.Cache;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import com.google.common.cache.CacheBuilder;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.io.FileNotFoundException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.io.IOException;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.io.InterruptedIOException;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.net.BindException;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.net.InetSocketAddress;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.net.UnknownHostException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.nio.ByteBuffer;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.ArrayList;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.Arrays;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.Collections;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.HashMap;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.Iterator;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.List;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.Map;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.Map.Entry;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.NavigableMap;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import java.util.Set;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import java.util.TreeSet;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import java.util.concurrent.ConcurrentMap;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.TimeUnit;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.atomic.LongAdder;<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.commons.lang.mutable.MutableObject;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.commons.logging.Log;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.commons.logging.LogFactory;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.conf.Configuration;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.fs.Path;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ByteBufferCell;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.Cell;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.CellScannable;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.HConstants;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.MultiActionResultTooLarge;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.ServerName;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.TableName;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.Append;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.ConnectionUtils;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.client.Get;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.client.Put;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.client.Result;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.exceptions.ScannerResetException;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.ipc.HBaseRPCErrorHandler;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.ipc.PriorityFunction;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.ipc.QosPriority;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.ipc.RpcCallback;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.ipc.RpcServer.BlockingServiceAndInterface;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.ipc.RpcServerFactory;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.ipc.RpcServerInterface;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.ipc.ServerRpcController;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.master.MasterRpcServices;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.quotas.ActivePolicyEnforcement;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.quotas.RegionServerSpaceQuotaManager;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.quotas.SpaceViolationPolicyEnforcement;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.regionserver.handler.OpenPriorityRegionHandler;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.security.Superusers;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.security.User;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.ResponseConverter;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesRequest;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesResponse;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeRequest;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeResponse;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoRequest;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoResponse;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileRequest;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileResponse;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest.RegionOpenInfo;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse.RegionOpeningState;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterRequest;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterResponse;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerRequest;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerResponse;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationRequest;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationResponse;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesRequest;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesResponse;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadRequest;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadResponse;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Condition;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetRequest;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetResponse;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRegionLoadStats;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionAction;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanRequest;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameBytesPair;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.204"></a>
+<span class="sourceLineNo">205</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.205"></a>
+<span class="sourceLineNo">206</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsRequest;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader;<a name="line.209"></a>
+<span class="sourceLineNo">210</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.210"></a>
+<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.213"></a>
+<span class="sourceLineNo">214</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.218"></a>
+<span class="sourceLineNo">219</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.220"></a>
+<span class="sourceLineNo">221</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.221"></a>
+<span class="sourceLineNo">222</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.222"></a>
+<span class="sourceLineNo">223</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.223"></a>
+<span class="sourceLineNo">224</span>import org.apache.zookeeper.KeeperException;<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>/**<a name="line.226"></a>
+<span class="sourceLineNo">227</span> * Implements the regionserver RPC services.<a name="line.227"></a>
+<span class="sourceLineNo">228</span> */<a name="line.228"></a>
+<span class="sourceLineNo">229</span>@InterfaceAudience.Private<a name="line.229"></a>
+<span class="sourceLineNo">230</span>@SuppressWarnings("deprecation")<a name="line.230"></a>
+<span class="sourceLineNo">231</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    ConfigurationObserver {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>  /** RPC scheduler to use for the region server. */<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    "hbase.region.server.rpc.scheduler.factory.class";<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>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  /**<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   */<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.250"></a>
+<span class="sourceLineNo">251</span><a name="line.251"></a>
+<span class="sourceLineNo">252</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  final LongAdder requestCount = new LongAdder();<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>  // Request counter for rpc get<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  final LongAdder rpcGetRequestCount = new LongAdder();<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  // Request counter for rpc scan<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  final LongAdder rpcScanRequestCount = new LongAdder();<a name="line.259"></a>
+<span class="sourceLineNo">260</span><a name="line.260"></a>
+<span class="sourceLineNo">261</span>  // Request counter for rpc multi<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  final LongAdder rpcMultiRequestCount = new LongAdder();<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span>  // Request counter for rpc mutate<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  final LongAdder rpcMutateRequestCount = new LongAdder();<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  // Server to handle client requests.<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  final RpcServerInterface rpcServer;<a name="line.268"></a>
+<span class="sourceLineNo">269</span>  final InetSocketAddress isa;<a name="line.269"></a>
+<span class="sourceLineNo">270</span><a name="line.270"></a>
+<span class="sourceLineNo">271</span>  private final HRegionServer regionServer;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  private final long maxScannerResultSize;<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>   * The RPC timeout period (milliseconds)<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   */<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private final int rpcTimeout;<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  /**<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * The minimum allowable delta to use for the scan limit<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   */<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  private final long minimumScanTimeLimitDelta;<a name="line.282"></a>
-<span class="sourceLineNo">283</span><a name="line.283"></a>
-<span class="sourceLineNo">284</span>  final AtomicBoolean clearCompactionQueues = new AtomicBoolean(false);<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>  /**<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   * An Rpc callback for closing a RegionScanner.<a name="line.287"></a>
-<span class="sourceLineNo">288</span>   */<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  private static final class RegionScannerCloseCallBack implements RpcCallback {<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>    private final RegionScanner scanner;<a name="line.291"></a>
+<span class="sourceLineNo">274</span>  // The reference to the priority extraction function<a name="line.274"></a>
+<span class="sourceLineNo">275</span>  private final PriorityFunction priority;<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  private final ConcurrentMap&lt;String, RegionScannerHolder&gt; scanners = new ConcurrentHashMap&lt;&gt;();<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  // Hold the name of a closed scanner for a while. This is used to keep compatible for old clients<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  // which may send next or close request to a region scanner which has already been exhausted. The<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  // entries will be removed automatically after scannerLeaseTimeoutPeriod.<a name="line.281"></a>
+<span class="sourceLineNo">282</span>  private final Cache&lt;String, String&gt; closedScanners;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  /**<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * The lease timeout period for client scanners (milliseconds).<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   */<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  private final int scannerLeaseTimeoutPeriod;<a name="line.286"></a>
+<span class="sourceLineNo">287</span><a name="line.287"></a>
+<span class="sourceLineNo">288</span>  /**<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   * The RPC timeout period (milliseconds)<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   */<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  private final int rpcTimeout;<a name="line.291"></a>
 <span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>    public RegionScannerCloseCallBack(RegionScanner scanner) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      this.scanner = scanner;<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>    @Override<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    public void run() throws IOException {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      this.scanner.close();<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><a name="line.302"></a>
-<span class="sourceLineNo">303</span>  /**<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>    private final String scannerName;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    private final RegionScanner scanner;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    private final Lease lease;<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      this.scannerName = scannerName;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      this.scanner = scanner;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      this.lease = lease;<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>    @Override<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    public void run() throws IOException {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      this.scanner.shipped();<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      if (scanners.containsKey(scannerName)) {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>        if (lease != null) regionServer.leases.addLease(lease);<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      }<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    }<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * completion of multiGets.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;&gt;();<a name="line.334"></a>
-<span class="sourceLineNo">335</span><a name="line.335"></a>
-<span class="sourceLineNo">336</span>    public void addScanner(RegionScanner scanner) {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      this.scanners.add(scanner);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>    @Override<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    public void run() {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      for (RegionScanner scanner : scanners) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>        try {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>          scanner.close();<a name="line.344"></a>
-<span class="sourceLineNo">345</span>        } catch (IOException e) {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>          LOG.error("Exception while closing the scanner " + scanner, e);<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>    }<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>  /**<a name="line.352"></a>
-<span class="sourceLineNo">353</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  private static final class RegionScannerHolder {<a name="line.355"></a>
-<span class="sourceLineNo">356</span><a name="line.356"></a>
-<span class="sourceLineNo">357</span>    private final AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    private final String scannerName;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    private final RegionScanner s;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    private final Region r;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    private final RpcCallback closeCallBack;<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    private final RpcCallback shippedCallback;<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    private byte[] rowOfLastPartialResult;<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>    public RegionScannerHolder(String scannerName, RegionScanner s, Region r,<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        RpcCallback closeCallBack, RpcCallback shippedCallback) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      this.scannerName = scannerName;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      this.s = s;<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      this.r = r;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>      this.closeCallBack = closeCallBack;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      this.shippedCallback = shippedCallback;<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>    public long getNextCallSeq() {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      return nextCallSeq.get();<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    }<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>    public boolean incNextCallSeq(long currentSeq) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      // Use CAS to prevent multiple scan request running on the same scanner.<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      return nextCallSeq.compareAndSet(currentSeq, currentSeq + 1);<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>  }<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>  /**<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   * closed<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   */<a name="line.387"></a>
-<span class="sourceLineNo">388</span>  private class ScannerListener implements LeaseListener {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    private final String scannerName;<a name="line.389"></a>
-<span class="sourceLineNo">390</span><a name="line.390"></a>
-<span class="sourceLineNo">391</span>    ScannerListener(final String n) {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      this.scannerName = n;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    }<a name="line.393"></a>
-<span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>    @Override<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    public void leaseExpired() {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      RegionScannerHolder rsh = scanners.remove(this.scannerName);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>      if (rsh != null) {<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        RegionScanner s = rsh.s;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>        LOG.info("Scanner " + this.scannerName + " lease expired on region "<a name="line.400"></a>
-<span class="sourceLineNo">401</span>          + s.getRegionInfo().getRegionNameAsString());<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        Region region = null;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>        try {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>          region = regionServer.getRegion(s.getRegionInfo().getRegionName());<a name="line.404"></a>
-<span class="sourceLineNo">405</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>            region.getCoprocessorHost().preScannerClose(s);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>          }<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        } catch (IOException e) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>          LOG.error("Closing scanner for " + s.getRegionInfo().getRegionNameAsString(), e);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        } finally {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>          try {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>            s.close();<a name="line.412"></a>
-<span class="sourceLineNo">413</span>            if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>              region.getCoprocessorHost().postScannerClose(s);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>            }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          } catch (IOException e) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>            LOG.error("Closing scanner for " + s.getRegionInfo().getRegionNameAsString(), e);<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>      } else {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>        LOG.warn("Scanner " + this.scannerName + " lease expired, but no related" +<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          " scanner found, hence no chance to close that related scanner!");<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>  }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>  private static ResultOrException getResultOrException(final ClientProtos.Result r,<a name="line.427"></a>
-<span class="sourceLineNo">428</span>                                                        final int index){<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    return getResultOrException(ResponseConverter.buildActionResult(r), index);<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>  private static ResultOrException getResultOrException(final Exception e, final int index) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return getResultOrException(ResponseConverter.buildActionResult(e), index);<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>  private static ResultOrException getResultOrException(<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      final ResultOrException.Builder builder, final int index) {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    return builder.setIndex(index).build();<a name="line.438"></a>
+<span class="sourceLineNo">293</span>  /**<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * The minimum allowable delta to use for the scan limit<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   */<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  private final long minimumScanTimeLimitDelta;<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span>  final AtomicBoolean clearCompactionQueues = new AtomicBoolean(false);<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>   * An Rpc callback for closing a RegionScanner.<a name="line.301"></a>
+<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  private static final class RegionScannerCloseCallBack implements RpcCallback {<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>    private final RegionScanner scanner;<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>    public RegionScannerCloseCallBack(RegionScanner scanner) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      this.scanner = scanner;<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    }<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>    @Override<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    public void run() throws IOException {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      this.scanner.close();<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><a name="line.316"></a>
+<span class="sourceLineNo">317</span>  /**<a name="line.317"></a>
+<span class="sourceLineNo">318</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   */<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.320"></a>
+<span class="sourceLineNo">321</span><a name="line.321"></a>
+<span class="sourceLineNo">322</span>    private final String scannerName;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    private final RegionScanner scanner;<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    private final Lease lease;<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      this.scannerName = scannerName;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>      this.scanner = scanner;<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      this.lease = lease;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    }<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>    @Override<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    public void run() throws IOException {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      this.scanner.shipped();<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.336"></a>
+<span class="sourceLineNo">337</span>      if (scanners.containsKey(scannerName)) {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>        if (lease != null) regionServer.leases.addLease(lease);<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>  }<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>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   * completion of multiGets.<a name="line.345"></a>
+<span class="sourceLineNo">346</span>   */<a name="line.346"></a>
+<span class="sourceLineNo">347</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;&gt;();<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>    public void addScanner(RegionScanner scanner) {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      this.scanners.add(scanner);<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    }<a name="line.352"></a>
+<span class="sourceLineNo">353</span><a name="line.353"></a>
+<span class="sourceLineNo">354</span>    @Override<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    public void run() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      for (RegionScanner scanner : scanners) {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>        try {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>          scanner.close();<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        } catch (IOException e) {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>          LOG.error("Exception while closing the scanner " + scanner, e);<a name="line.360"></a>
+<span class="sourceLineNo">361</span>        }<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      }<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    }<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span>  /**<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   */<a name="line.368"></a>
+<span class="sourceLineNo">369</span>  private static final class RegionScannerHolder {<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    private final AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    private final String scannerName;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    private final RegionScanner s;<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    private final Region r;<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    private final RpcCallback closeCallBack;<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    private final RpcCallback shippedCallback;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    private byte[] rowOfLastPartialResult;<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    public RegionScannerHolder(String scannerName, RegionScanner s, Region r,<a name="line.379"></a>
+<span class="sourceLineNo">380</span>        RpcCallback closeCallBack, RpcCallback shippedCallback) {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>      this.scannerName = scannerName;<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      this.s = s;<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      this.r = r;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      this.closeCallBack = closeCallBack;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>      this.shippedCallback = shippedCallback;<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>    public long getNextCallSeq() {<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      return nextCallSeq.get();<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span>    public boolean incNextCallSeq(long currentSeq) {<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      // Use CAS to prevent multiple scan request running on the same scanner.<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      return nextCallSeq.compareAndSet(currentSeq, currentSeq + 1);<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><a name="line.397"></a>
+<span class="sourceLineNo">398</span>  /**<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.399"></a>
+<span class="sourceLineNo">400</s

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html
index b363f06..790089d 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html
@@ -37,854 +37,810 @@
 <span class="sourceLineNo">029</span>import java.nio.channels.Channels;<a name="line.29"></a>
 <span class="sourceLineNo">030</span>import java.nio.channels.ReadableByteChannel;<a name="line.30"></a>
 <span class="sourceLineNo">031</span>import java.security.GeneralSecurityException;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.security.PrivilegedExceptionAction;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.Properties;<a name="line.33"></a>
-<span class="sourceLineNo">034</span><a name="line.34"></a>
-<span class="sourceLineNo">035</span>import javax.security.sasl.Sasl;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import javax.security.sasl.SaslException;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import javax.security.sasl.SaslServer;<a name="line.37"></a>
-<span class="sourceLineNo">038</span><a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.commons.crypto.cipher.CryptoCipherFactory;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.commons.crypto.random.CryptoRandom;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.commons.crypto.random.CryptoRandomFactory;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.codec.Codec;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.io.ByteBufferOutputStream;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.io.crypto.aes.CryptoAES;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.ipc.RpcServer.CallCleanup;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.nio.SingleByteBuff;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.security.AuthMethod;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslDigestCallbackHandler;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer.SaslGssCallbackHandler;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.security.SaslStatus;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.security.SaslUtil;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.security.User;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteInput;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.CodedInputStream;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.MethodDescriptor;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.VersionInfo;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ResponseHeader;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.UserInformation;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.io.BytesWritable;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.io.IntWritable;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.io.Writable;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.io.WritableUtils;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.io.compress.CompressionCodec;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.security.authorize.AuthorizationException;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.security.authorize.ProxyUsers;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.security.token.SecretManager.InvalidToken;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.htrace.TraceInfo;<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>/** Reads calls from a connection and queues them for handling. */<a name="line.88"></a>
-<span class="sourceLineNo">089</span>@edu.umd.cs.findbugs.annotations.SuppressWarnings(<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    value="VO_VOLATILE_INCREMENT",<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    justification="False positive according to http://sourceforge.net/p/findbugs/bugs/1032/")<a name="line.91"></a>
-<span class="sourceLineNo">092</span>abstract class ServerRpcConnection implements Closeable {<a name="line.92"></a>
-<span class="sourceLineNo">093</span>  /**  */<a name="line.93"></a>
-<span class="sourceLineNo">094</span>  protected final RpcServer rpcServer;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>  // If the connection header has been read or not.<a name="line.95"></a>
-<span class="sourceLineNo">096</span>  protected boolean connectionHeaderRead = false;<a name="line.96"></a>
-<span class="sourceLineNo">097</span><a name="line.97"></a>
-<span class="sourceLineNo">098</span>  protected CallCleanup callCleanup;<a name="line.98"></a>
-<span class="sourceLineNo">099</span><a name="line.99"></a>
-<span class="sourceLineNo">100</span>  // Cache the remote host &amp; port info so that even if the socket is<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  // disconnected, we can say where it used to connect to.<a name="line.101"></a>
-<span class="sourceLineNo">102</span>  protected String hostAddress;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>  protected int remotePort;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>  protected InetAddress addr;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>  protected ConnectionHeader connectionHeader;<a name="line.105"></a>
-<span class="sourceLineNo">106</span><a name="line.106"></a>
-<span class="sourceLineNo">107</span>  /**<a name="line.107"></a>
-<span class="sourceLineNo">108</span>   * Codec the client asked use.<a name="line.108"></a>
-<span class="sourceLineNo">109</span>   */<a name="line.109"></a>
-<span class="sourceLineNo">110</span>  protected Codec codec;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>  /**<a name="line.111"></a>
-<span class="sourceLineNo">112</span>   * Compression codec the client asked us use.<a name="line.112"></a>
-<span class="sourceLineNo">113</span>   */<a name="line.113"></a>
-<span class="sourceLineNo">114</span>  protected CompressionCodec compressionCodec;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>  protected BlockingService service;<a name="line.115"></a>
-<span class="sourceLineNo">116</span><a name="line.116"></a>
-<span class="sourceLineNo">117</span>  protected AuthMethod authMethod;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>  protected boolean saslContextEstablished;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  protected boolean skipInitialSaslHandshake;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>  private ByteBuffer unwrappedData;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>  // When is this set? FindBugs wants to know! Says NP<a name="line.121"></a>
-<span class="sourceLineNo">122</span>  private ByteBuffer unwrappedDataLengthBuffer = ByteBuffer.allocate(4);<a name="line.122"></a>
-<span class="sourceLineNo">123</span>  protected boolean useSasl;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>  protected SaslServer saslServer;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>  protected CryptoAES cryptoAES;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>  protected boolean useWrap = false;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>  protected boolean useCryptoAesWrap = false;<a name="line.127"></a>
+<span class="sourceLineNo">032</span>import java.util.Properties;<a name="line.32"></a>
+<span class="sourceLineNo">033</span><a name="line.33"></a>
+<span class="sourceLineNo">034</span>import org.apache.commons.crypto.cipher.CryptoCipherFactory;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import org.apache.commons.crypto.random.CryptoRandom;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import org.apache.commons.crypto.random.CryptoRandomFactory;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.codec.Codec;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.io.ByteBufferOutputStream;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.io.crypto.aes.CryptoAES;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.ipc.RpcServer.CallCleanup;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.nio.ByteBuff;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.nio.SingleByteBuff;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.security.AccessDeniedException;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.security.AuthMethod;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.security.HBaseSaslRpcServer;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.security.SaslStatus;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.security.SaslUtil;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.security.User;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteInput;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.CodedInputStream;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Descriptors.MethodDescriptor;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.VersionInfo;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ResponseHeader;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.UserInformation;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.io.BytesWritable;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.io.IntWritable;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.io.Writable;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.io.WritableUtils;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.io.compress.CompressionCodec;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.security.authorize.AuthorizationException;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.security.authorize.ProxyUsers;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.security.token.SecretManager.InvalidToken;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.security.token.TokenIdentifier;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.htrace.TraceInfo;<a name="line.80"></a>
+<span class="sourceLineNo">081</span><a name="line.81"></a>
+<span class="sourceLineNo">082</span>/** Reads calls from a connection and queues them for handling. */<a name="line.82"></a>
+<span class="sourceLineNo">083</span>@edu.umd.cs.findbugs.annotations.SuppressWarnings(<a name="line.83"></a>
+<span class="sourceLineNo">084</span>    value="VO_VOLATILE_INCREMENT",<a name="line.84"></a>
+<span class="sourceLineNo">085</span>    justification="False positive according to http://sourceforge.net/p/findbugs/bugs/1032/")<a name="line.85"></a>
+<span class="sourceLineNo">086</span>@InterfaceAudience.Private<a name="line.86"></a>
+<span class="sourceLineNo">087</span>abstract class ServerRpcConnection implements Closeable {<a name="line.87"></a>
+<span class="sourceLineNo">088</span>  /**  */<a name="line.88"></a>
+<span class="sourceLineNo">089</span>  protected final RpcServer rpcServer;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>  // If the connection header has been read or not.<a name="line.90"></a>
+<span class="sourceLineNo">091</span>  protected boolean connectionHeaderRead = false;<a name="line.91"></a>
+<span class="sourceLineNo">092</span><a name="line.92"></a>
+<span class="sourceLineNo">093</span>  protected CallCleanup callCleanup;<a name="line.93"></a>
+<span class="sourceLineNo">094</span><a name="line.94"></a>
+<span class="sourceLineNo">095</span>  // Cache the remote host &amp; port info so that even if the socket is<a name="line.95"></a>
+<span class="sourceLineNo">096</span>  // disconnected, we can say where it used to connect to.<a name="line.96"></a>
+<span class="sourceLineNo">097</span>  protected String hostAddress;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>  protected int remotePort;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>  protected InetAddress addr;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>  protected ConnectionHeader connectionHeader;<a name="line.100"></a>
+<span class="sourceLineNo">101</span><a name="line.101"></a>
+<span class="sourceLineNo">102</span>  /**<a name="line.102"></a>
+<span class="sourceLineNo">103</span>   * Codec the client asked use.<a name="line.103"></a>
+<span class="sourceLineNo">104</span>   */<a name="line.104"></a>
+<span class="sourceLineNo">105</span>  protected Codec codec;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>  /**<a name="line.106"></a>
+<span class="sourceLineNo">107</span>   * Compression codec the client asked us use.<a name="line.107"></a>
+<span class="sourceLineNo">108</span>   */<a name="line.108"></a>
+<span class="sourceLineNo">109</span>  protected CompressionCodec compressionCodec;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>  protected BlockingService service;<a name="line.110"></a>
+<span class="sourceLineNo">111</span><a name="line.111"></a>
+<span class="sourceLineNo">112</span>  protected AuthMethod authMethod;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>  protected boolean saslContextEstablished;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>  protected boolean skipInitialSaslHandshake;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>  private ByteBuffer unwrappedData;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>  // When is this set? FindBugs wants to know! Says NP<a name="line.116"></a>
+<span class="sourceLineNo">117</span>  private ByteBuffer unwrappedDataLengthBuffer = ByteBuffer.allocate(4);<a name="line.117"></a>
+<span class="sourceLineNo">118</span>  protected boolean useSasl;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>  protected HBaseSaslRpcServer saslServer;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>  protected CryptoAES cryptoAES;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>  protected boolean useWrap = false;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>  protected boolean useCryptoAesWrap = false;<a name="line.122"></a>
+<span class="sourceLineNo">123</span><a name="line.123"></a>
+<span class="sourceLineNo">124</span>  // was authentication allowed with a fallback to simple auth<a name="line.124"></a>
+<span class="sourceLineNo">125</span>  protected boolean authenticatedWithFallback;<a name="line.125"></a>
+<span class="sourceLineNo">126</span><a name="line.126"></a>
+<span class="sourceLineNo">127</span>  protected boolean retryImmediatelySupported = false;<a name="line.127"></a>
 <span class="sourceLineNo">128</span><a name="line.128"></a>
-<span class="sourceLineNo">129</span>  // was authentication allowed with a fallback to simple auth<a name="line.129"></a>
-<span class="sourceLineNo">130</span>  protected boolean authenticatedWithFallback;<a name="line.130"></a>
+<span class="sourceLineNo">129</span>  protected User user = null;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  protected UserGroupInformation ugi = null;<a name="line.130"></a>
 <span class="sourceLineNo">131</span><a name="line.131"></a>
-<span class="sourceLineNo">132</span>  protected boolean retryImmediatelySupported = false;<a name="line.132"></a>
-<span class="sourceLineNo">133</span><a name="line.133"></a>
-<span class="sourceLineNo">134</span>  private UserGroupInformation attemptingUser = null; // user name before auth<a name="line.134"></a>
-<span class="sourceLineNo">135</span>  protected User user = null;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>  protected UserGroupInformation ugi = null;<a name="line.136"></a>
-<span class="sourceLineNo">137</span><a name="line.137"></a>
-<span class="sourceLineNo">138</span>  public ServerRpcConnection(RpcServer rpcServer) {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    this.rpcServer = rpcServer;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    this.callCleanup = null;<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>  @Override<a name="line.143"></a>
-<span class="sourceLineNo">144</span>  public String toString() {<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    return getHostAddress() + ":" + remotePort;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>  }<a name="line.146"></a>
-<span class="sourceLineNo">147</span><a name="line.147"></a>
-<span class="sourceLineNo">148</span>  public String getHostAddress() {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    return hostAddress;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>  }<a name="line.150"></a>
-<span class="sourceLineNo">151</span><a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public InetAddress getHostInetAddress() {<a name="line.152"></a>
-<span class="sourceLineNo">153</span>    return addr;<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>  public int getRemotePort() {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    return remotePort;<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>  public VersionInfo getVersionInfo() {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    if (connectionHeader.hasVersionInfo()) {<a name="line.161"></a>
-<span class="sourceLineNo">162</span>      return connectionHeader.getVersionInfo();<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    return null;<a name="line.164"></a>
+<span class="sourceLineNo">132</span>  public ServerRpcConnection(RpcServer rpcServer) {<a name="line.132"></a>
+<span class="sourceLineNo">133</span>    this.rpcServer = rpcServer;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>    this.callCleanup = null;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>  }<a name="line.135"></a>
+<span class="sourceLineNo">136</span><a name="line.136"></a>
+<span class="sourceLineNo">137</span>  @Override<a name="line.137"></a>
+<span class="sourceLineNo">138</span>  public String toString() {<a name="line.138"></a>
+<span class="sourceLineNo">139</span>    return getHostAddress() + ":" + remotePort;<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>  public String getHostAddress() {<a name="line.142"></a>
+<span class="sourceLineNo">143</span>    return hostAddress;<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>  public InetAddress getHostInetAddress() {<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    return addr;<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>  public int getRemotePort() {<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    return remotePort;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>  }<a name="line.152"></a>
+<span class="sourceLineNo">153</span><a name="line.153"></a>
+<span class="sourceLineNo">154</span>  public VersionInfo getVersionInfo() {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>    if (connectionHeader.hasVersionInfo()) {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>      return connectionHeader.getVersionInfo();<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    }<a name="line.157"></a>
+<span class="sourceLineNo">158</span>    return null;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>  }<a name="line.159"></a>
+<span class="sourceLineNo">160</span><a name="line.160"></a>
+<span class="sourceLineNo">161</span>  private String getFatalConnectionString(final int version, final byte authByte) {<a name="line.161"></a>
+<span class="sourceLineNo">162</span>    return "serverVersion=" + RpcServer.CURRENT_VERSION +<a name="line.162"></a>
+<span class="sourceLineNo">163</span>    ", clientVersion=" + version + ", authMethod=" + authByte +<a name="line.163"></a>
+<span class="sourceLineNo">164</span>    ", authSupported=" + (authMethod != null) + " from " + toString();<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>  protected String getFatalConnectionString(final int version, final byte authByte) {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    return "serverVersion=" + RpcServer.CURRENT_VERSION +<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    ", clientVersion=" + version + ", authMethod=" + authByte +<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    ", authSupported=" + (authMethod != null) + " from " + toString();<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>  protected UserGroupInformation getAuthorizedUgi(String authorizedId)<a name="line.173"></a>
-<span class="sourceLineNo">174</span>      throws IOException {<a name="line.174"></a>
-<span class="sourceLineNo">175</span>    UserGroupInformation authorizedUgi;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    if (authMethod == AuthMethod.DIGEST) {<a name="line.176"></a>
-<span class="sourceLineNo">177</span>      TokenIdentifier tokenId = HBaseSaslRpcServer.getIdentifier(authorizedId,<a name="line.177"></a>
-<span class="sourceLineNo">178</span>          this.rpcServer.secretManager);<a name="line.178"></a>
-<span class="sourceLineNo">179</span>      authorizedUgi = tokenId.getUser();<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      if (authorizedUgi == null) {<a name="line.180"></a>
-<span class="sourceLineNo">181</span>        throw new AccessDeniedException(<a name="line.181"></a>
-<span class="sourceLineNo">182</span>            "Can't retrieve username from tokenIdentifier.");<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      }<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      authorizedUgi.addTokenIdentifier(tokenId);<a name="line.184"></a>
-<span class="sourceLineNo">185</span>    } else {<a name="line.185"></a>
-<span class="sourceLineNo">186</span>      authorizedUgi = UserGroupInformation.createRemoteUser(authorizedId);<a name="line.186"></a>
-<span class="sourceLineNo">187</span>    }<a name="line.187"></a>
-<span class="sourceLineNo">188</span>    authorizedUgi.setAuthenticationMethod(authMethod.authenticationMethod.getAuthMethod());<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    return authorizedUgi;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>  }<a name="line.190"></a>
-<span class="sourceLineNo">191</span><a name="line.191"></a>
-<span class="sourceLineNo">192</span>  /**<a name="line.192"></a>
-<span class="sourceLineNo">193</span>   * Set up cell block codecs<a name="line.193"></a>
-<span class="sourceLineNo">194</span>   * @throws FatalConnectionException<a name="line.194"></a>
-<span class="sourceLineNo">195</span>   */<a name="line.195"></a>
-<span class="sourceLineNo">196</span>  protected void setupCellBlockCodecs(final ConnectionHeader header)<a name="line.196"></a>
-<span class="sourceLineNo">197</span>      throws FatalConnectionException {<a name="line.197"></a>
-<span class="sourceLineNo">198</span>    // TODO: Plug in other supported decoders.<a name="line.198"></a>
-<span class="sourceLineNo">199</span>    if (!header.hasCellBlockCodecClass()) return;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    String className = header.getCellBlockCodecClass();<a name="line.200"></a>
-<span class="sourceLineNo">201</span>    if (className == null || className.length() == 0) return;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>    try {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>      this.codec = (Codec)Class.forName(className).newInstance();<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    } catch (Exception e) {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      throw new UnsupportedCellCodecException(className, e);<a name="line.205"></a>
-<span class="sourceLineNo">206</span>    }<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    if (!header.hasCellBlockCompressorClass()) return;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    className = header.getCellBlockCompressorClass();<a name="line.208"></a>
-<span class="sourceLineNo">209</span>    try {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      this.compressionCodec = (CompressionCodec)Class.forName(className).newInstance();<a name="line.210"></a>
-<span class="sourceLineNo">211</span>    } catch (Exception e) {<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      throw new UnsupportedCompressionCodecException(className, e);<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    }<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  }<a name="line.214"></a>
-<span class="sourceLineNo">215</span><a name="line.215"></a>
-<span class="sourceLineNo">216</span>  /**<a name="line.216"></a>
-<span class="sourceLineNo">217</span>   * Set up cipher for rpc encryption with Apache Commons Crypto<a name="line.217"></a>
-<span class="sourceLineNo">218</span>   *<a name="line.218"></a>
-<span class="sourceLineNo">219</span>   * @throws FatalConnectionException<a name="line.219"></a>
-<span class="sourceLineNo">220</span>   */<a name="line.220"></a>
-<span class="sourceLineNo">221</span>  protected void setupCryptoCipher(final ConnectionHeader header,<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      RPCProtos.ConnectionHeaderResponse.Builder chrBuilder)<a name="line.222"></a>
-<span class="sourceLineNo">223</span>      throws FatalConnectionException {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    // If simple auth, return<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    if (saslServer == null) return;<a name="line.225"></a>
-<span class="sourceLineNo">226</span>    // check if rpc encryption with Crypto AES<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    String qop = (String) saslServer.getNegotiatedProperty(Sasl.QOP);<a name="line.227"></a>
-<span class="sourceLineNo">228</span>    boolean isEncryption = SaslUtil.QualityOfProtection.PRIVACY<a name="line.228"></a>
-<span class="sourceLineNo">229</span>        .getSaslQop().equalsIgnoreCase(qop);<a name="line.229"></a>
-<span class="sourceLineNo">230</span>    boolean isCryptoAesEncryption = isEncryption &amp;&amp; this.rpcServer.conf.getBoolean(<a name="line.230"></a>
-<span class="sourceLineNo">231</span>        "hbase.rpc.crypto.encryption.aes.enabled", false);<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    if (!isCryptoAesEncryption) return;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    if (!header.hasRpcCryptoCipherTransformation()) return;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>    String transformation = header.getRpcCryptoCipherTransformation();<a name="line.234"></a>
-<span class="sourceLineNo">235</span>    if (transformation == null || transformation.length() == 0) return;<a name="line.235"></a>
-<span class="sourceLineNo">236</span>     // Negotiates AES based on complete saslServer.<a name="line.236"></a>
-<span class="sourceLineNo">237</span>     // The Crypto metadata need to be encrypted and send to client.<a name="line.237"></a>
-<span class="sourceLineNo">238</span>    Properties properties = new Properties();<a name="line.238"></a>
-<span class="sourceLineNo">239</span>    // the property for SecureRandomFactory<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    properties.setProperty(CryptoRandomFactory.CLASSES_KEY,<a name="line.240"></a>
-<span class="sourceLineNo">241</span>        this.rpcServer.conf.get("hbase.crypto.sasl.encryption.aes.crypto.random",<a name="line.241"></a>
-<span class="sourceLineNo">242</span>            "org.apache.commons.crypto.random.JavaCryptoRandom"));<a name="line.242"></a>
-<span class="sourceLineNo">243</span>    // the property for cipher class<a name="line.243"></a>
-<span class="sourceLineNo">244</span>    properties.setProperty(CryptoCipherFactory.CLASSES_KEY,<a name="line.244"></a>
-<span class="sourceLineNo">245</span>        this.rpcServer.conf.get("hbase.rpc.crypto.encryption.aes.cipher.class",<a name="line.245"></a>
-<span class="sourceLineNo">246</span>            "org.apache.commons.crypto.cipher.JceCipher"));<a name="line.246"></a>
-<span class="sourceLineNo">247</span><a name="line.247"></a>
-<span class="sourceLineNo">248</span>    int cipherKeyBits = this.rpcServer.conf.getInt(<a name="line.248"></a>
-<span class="sourceLineNo">249</span>        "hbase.rpc.crypto.encryption.aes.cipher.keySizeBits", 128);<a name="line.249"></a>
-<span class="sourceLineNo">250</span>    // generate key and iv<a name="line.250"></a>
-<span class="sourceLineNo">251</span>    if (cipherKeyBits % 8 != 0) {<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      throw new IllegalArgumentException("The AES cipher key size in bits" +<a name="line.252"></a>
-<span class="sourceLineNo">253</span>          " should be a multiple of byte");<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    }<a name="line.254"></a>
-<span class="sourceLineNo">255</span>    int len = cipherKeyBits / 8;<a name="line.255"></a>
-<span class="sourceLineNo">256</span>    byte[] inKey = new byte[len];<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    byte[] outKey = new byte[len];<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    byte[] inIv = new byte[len];<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    byte[] outIv = new byte[len];<a name="line.259"></a>
-<span class="sourceLineNo">260</span><a name="line.260"></a>
-<span class="sourceLineNo">261</span>    try {<a name="line.261"></a>
-<span class="sourceLineNo">262</span>      // generate the cipher meta data with SecureRandom<a name="line.262"></a>
-<span class="sourceLineNo">263</span>      CryptoRandom secureRandom = CryptoRandomFactory.getCryptoRandom(properties);<a name="line.263"></a>
-<span class="sourceLineNo">264</span>      secureRandom.nextBytes(inKey);<a name="line.264"></a>
-<span class="sourceLineNo">265</span>      secureRandom.nextBytes(outKey);<a name="line.265"></a>
-<span class="sourceLineNo">266</span>      secureRandom.nextBytes(inIv);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>      secureRandom.nextBytes(outIv);<a name="line.267"></a>
-<span class="sourceLineNo">268</span><a name="line.268"></a>
-<span class="sourceLineNo">269</span>      // create CryptoAES for server<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      cryptoAES = new CryptoAES(transformation, properties,<a name="line.270"></a>
-<span class="sourceLineNo">271</span>          inKey, outKey, inIv, outIv);<a name="line.271"></a>
-<span class="sourceLineNo">272</span>      // create SaslCipherMeta and send to client,<a name="line.272"></a>
-<span class="sourceLineNo">273</span>      //  for client, the [inKey, outKey], [inIv, outIv] should be reversed<a name="line.273"></a>
-<span class="sourceLineNo">274</span>      RPCProtos.CryptoCipherMeta.Builder ccmBuilder = RPCProtos.CryptoCipherMeta.newBuilder();<a name="line.274"></a>
-<span class="sourceLineNo">275</span>      ccmBuilder.setTransformation(transformation);<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      ccmBuilder.setInIv(getByteString(outIv));<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      ccmBuilder.setInKey(getByteString(outKey));<a name="line.277"></a>
-<span class="sourceLineNo">278</span>      ccmBuilder.setOutIv(getByteString(inIv));<a name="line.278"></a>
-<span class="sourceLineNo">279</span>      ccmBuilder.setOutKey(getByteString(inKey));<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      chrBuilder.setCryptoCipherMeta(ccmBuilder);<a name="line.280"></a>
-<span class="sourceLineNo">281</span>      useCryptoAesWrap = true;<a name="line.281"></a>
-<span class="sourceLineNo">282</span>    } catch (GeneralSecurityException | IOException ex) {<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      throw new UnsupportedCryptoException(ex.getMessage(), ex);<a name="line.283"></a>
-<span class="sourceLineNo">284</span>    }<a name="line.284"></a>
-<span class="sourceLineNo">285</span>  }<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  private ByteString getByteString(byte[] bytes) {<a name="line.287"></a>
-<span class="sourceLineNo">288</span>    // return singleton to reduce object allocation<a name="line.288"></a>
-<span class="sourceLineNo">289</span>    return (bytes.length == 0) ? ByteString.EMPTY : ByteString.copyFrom(bytes);<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>  protected UserGroupInformation createUser(ConnectionHeader head) {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    UserGroupInformation ugi = null;<a name="line.293"></a>
-<span class="sourceLineNo">294</span><a name="line.294"></a>
-<span class="sourceLineNo">295</span>    if (!head.hasUserInfo()) {<a name="line.295"></a>
-<span class="sourceLineNo">296</span>      return null;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    }<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    UserInformation userInfoProto = head.getUserInfo();<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    String effectiveUser = null;<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    if (userInfoProto.hasEffectiveUser()) {<a name="line.300"></a>
-<span class="sourceLineNo">301</span>      effectiveUser = userInfoProto.getEffectiveUser();<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    }<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    String realUser = null;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    if (userInfoProto.hasRealUser()) {<a name="line.304"></a>
-<span class="sourceLineNo">305</span>      realUser = userInfoProto.getRealUser();<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    }<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    if (effectiveUser != null) {<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      if (realUser != null) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        UserGroupInformation realUserUgi =<a name="line.309"></a>
-<span class="sourceLineNo">310</span>            UserGroupInformation.createRemoteUser(realUser);<a name="line.310"></a>
-<span class="sourceLineNo">311</span>        ugi = UserGroupInformation.createProxyUser(effectiveUser, realUserUgi);<a name="line.311"></a>
-<span class="sourceLineNo">312</span>      } else {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>        ugi = UserGroupInformation.createRemoteUser(effectiveUser);<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>    return ugi;<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 void disposeSasl() {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    if (saslServer != null) {<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      try {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        saslServer.dispose();<a name="line.322"></a>
-<span class="sourceLineNo">323</span>        saslServer = null;<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      } catch (SaslException ignored) {<a name="line.324"></a>
-<span class="sourceLineNo">325</span>        // Ignored. This is being disposed of anyway.<a name="line.325"></a>
-<span class="sourceLineNo">326</span>      }<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    }<a name="line.327"></a>
-<span class="sourceLineNo">328</span>  }<a name="line.328"></a>
-<span class="sourceLineNo">329</span><a name="line.329"></a>
-<span class="sourceLineNo">330</span>  /**<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * No protobuf encoding of raw sasl messages<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>  protected final void doRawSaslReply(SaslStatus status, Writable rv,<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      String errorClass, String error) throws IOException {<a name="line.334"></a>
-<span class="sourceLineNo">335</span>    BufferChain bc;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>    // In my testing, have noticed that sasl messages are usually<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    // in the ballpark of 100-200. That's why the initial capacity is 256.<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    try (ByteBufferOutputStream saslResponse = new ByteBufferOutputStream(256);<a name="line.338"></a>
-<span class="sourceLineNo">339</span>        DataOutputStream  out = new DataOutputStream(saslResponse)) {<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      out.writeInt(status.state); // write status<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      if (status == SaslStatus.SUCCESS) {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>        rv.write(out);<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      } else {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>        WritableUtils.writeString(out, errorClass);<a name="line.344"></a>
-<span class="sourceLineNo">345</span>        WritableUtils.writeString(out, error);<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      }<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      bc = new BufferChain(saslResponse.getByteBuffer());<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    }<a name="line.348"></a>
-<span class="sourceLineNo">349</span>    doRespond(() -&gt; bc);<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>  public void saslReadAndProcess(ByteBuff saslToken) throws IOException,<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      InterruptedException {<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    if (saslContextEstablished) {<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      if (RpcServer.LOG.isTraceEnabled())<a name="line.355"></a>
-<span class="sourceLineNo">356</span>        RpcServer.LOG.trace("Have read input token of size " + saslToken.limit()<a name="line.356"></a>
-<span class="sourceLineNo">357</span>            + " for processing by saslServer.unwrap()");<a name="line.357"></a>
-<span class="sourceLineNo">358</span><a name="line.358"></a>
-<span class="sourceLineNo">359</span>      if (!useWrap) {<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        processOneRpc(saslToken);<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      } else {<a name="line.361"></a>
-<span class="sourceLineNo">362</span>        byte[] b = saslToken.hasArray() ? saslToken.array() : saslToken.toBytes();<a name="line.362"></a>
-<span class="sourceLineNo">363</span>        byte [] plaintextData;<a name="line.363"></a>
-<span class="sourceLineNo">364</span>        if (useCryptoAesWrap) {<a name="line.364"></a>
-<span class="sourceLineNo">365</span>          // unwrap with CryptoAES<a name="line.365"></a>
-<span class="sourceLineNo">366</span>          plaintextData = cryptoAES.unwrap(b, 0, b.length);<a name="line.366"></a>
-<span class="sourceLineNo">367</span>        } else {<a name="line.367"></a>
-<span class="sourceLineNo">368</span>          plaintextData = saslServer.unwrap(b, 0, b.length);<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        }<a name="line.369"></a>
-<span class="sourceLineNo">370</span>        processUnwrappedData(plaintextData);<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      }<a name="line.371"></a>
-<span class="sourceLineNo">372</span>    } else {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      byte[] replyToken;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>      try {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>        if (saslServer == null) {<a name="line.375"></a>
-<span class="sourceLineNo">376</span>          switch (authMethod) {<a name="line.376"></a>
-<span class="sourceLineNo">377</span>          case DIGEST:<a name="line.377"></a>
-<span class="sourceLineNo">378</span>            if (this.rpcServer.secretManager == null) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>              throw new AccessDeniedException(<a name="line.379"></a>
-<span class="sourceLineNo">380</span>                  "Server is not configured to do DIGEST authentication.");<a name="line.380"></a>
-<span class="sourceLineNo">381</span>            }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>            saslServer = Sasl.createSaslServer(AuthMethod.DIGEST<a name="line.382"></a>
-<span class="sourceLineNo">383</span>                .getMechanismName(), null, SaslUtil.SASL_DEFAULT_REALM,<a name="line.383"></a>
-<span class="sourceLineNo">384</span>                HBaseSaslRpcServer.getSaslProps(), new SaslDigestCallbackHandler(<a name="line.384"></a>
-<span class="sourceLineNo">385</span>                    this.rpcServer.secretManager, ugi -&gt;  attemptingUser = ugi));<a name="line.385"></a>
-<span class="sourceLineNo">386</span>            break;<a name="line.386"></a>
-<span class="sourceLineNo">387</span>          default:<a name="line.387"></a>
-<span class="sourceLineNo">388</span>            UserGroupInformation current = UserGroupInformation.getCurrentUser();<a name="line.388"></a>
-<span class="sourceLineNo">389</span>            String fullName = current.getUserName();<a name="line.389"></a>
-<span class="sourceLineNo">390</span>            if (RpcServer.LOG.isDebugEnabled()) {<a name="line.390"></a>
-<span class="sourceLineNo">391</span>              RpcServer.LOG.debug("Kerberos principal name is " + fullName);<a name="line.391"></a>
-<span class="sourceLineNo">392</span>            }<a name="line.392"></a>
-<span class="sourceLineNo">393</span>            final String names[] = SaslUtil.splitKerberosName(fullName);<a name="line.393"></a>
-<span class="sourceLineNo">394</span>            if (names.length != 3) {<a name="line.394"></a>
-<span class="sourceLineNo">395</span>              throw new AccessDeniedException(<a name="line.395"></a>
-<span class="sourceLineNo">396</span>                  "Kerberos principal name does NOT have the expected "<a name="line.396"></a>
-<span class="sourceLineNo">397</span>                      + "hostname part: " + fullName);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>            }<a name="line.398"></a>
-<span class="sourceLineNo">399</span>            current.doAs(new PrivilegedExceptionAction&lt;Object&gt;() {<a name="line.399"></a>
-<span class="sourceLineNo">400</span>              @Override<a name="line.400"></a>
-<span class="sourceLineNo">401</span>              public Object run() throws SaslException {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>                saslServer = Sasl.createSaslServer(AuthMethod.KERBEROS<a name="line.402"></a>
-<span class="sourceLineNo">403</span>                    .getMechanismName(), names[0], names[1],<a name="line.403"></a>
-<span class="sourceLineNo">404</span>                    HBaseSaslRpcServer.getSaslProps(), new SaslGssCallbackHandler());<a name="line.404"></a>
-<span class="sourceLineNo">405</span>                return null;<a name="line.405"></a>
-<span class="sourceLineNo">406</span>              }<a name="line.406"></a>
-<span class="sourceLineNo">407</span>            });<a name="line.407"></a>
-<span class="sourceLineNo">408</span>          }<a name="line.408"></a>
-<span class="sourceLineNo">409</span>          if (saslServer == null)<a name="line.409"></a>
-<span class="sourceLineNo">410</span>            throw new AccessDeniedException(<a name="line.410"></a>
-<span class="sourceLineNo">411</span>                "Unable to find SASL server implementation for "<a name="line.411"></a>
-<span class="sourceLineNo">412</span>                    + authMethod.getMechanismName());<a name="line.412"></a>
-<span class="sourceLineNo">413</span>          if (RpcServer.LOG.isDebugEnabled()) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>            RpcServer.LOG.debug("Created SASL server with mechanism = " + authMethod.getMechanismName());<a name="line.414"></a>
-<span class="sourceLineNo">415</span>          }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>        }<a name="line.416"></a>
-<span class="sourceLineNo">417</span>        if (RpcServer.LOG.isDebugEnabled()) {<a name="line.417"></a>
-<span class="sourceLineNo">418</span>          RpcServer.LOG.debug("Have read input token of size " + saslToken.limit()<a name="line.418"></a>
-<span class="sourceLineNo">419</span>              + " for processing by saslServer.evaluateResponse()");<a name="line.419"></a>
-<span class="sourceLineNo">420</span>        }<a name="line.420"></a>
-<span class="sourceLineNo">421</span>        replyToken = saslServer<a name="line.421"></a>
-<span class="sourceLineNo">422</span>            .evaluateResponse(saslToken.hasArray() ? saslToken.array() : saslToken.toBytes());<a name="line.422"></a>
-<span class="sourceLineNo">423</span>      } catch (IOException e) {<a name="line.423"></a>
-<span class="sourceLineNo">424</span>        IOException sendToClient = e;<a name="line.424"></a>
-<span class="sourceLineNo">425</span>        Throwable cause = e;<a name="line.425"></a>
-<span class="sourceLineNo">426</span>        while (cause != null) {<a name="line.426"></a>
-<span class="sourceLineNo">427</span>          if (cause instanceof InvalidToken) {<a name="line.427"></a>
-<span class="sourceLineNo">428</span>            sendToClient = (InvalidToken) cause;<a name="line.428"></a>
-<span class="sourceLineNo">429</span>            break;<a name="line.429"></a>
-<span class="sourceLineNo">430</span>          }<a name="line.430"></a>
-<span class="sourceLineNo">431</span>          cause = cause.getCause();<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        }<a name="line.432"></a>
-<span class="sourceLineNo">433</span>        doRawSaslReply(SaslStatus.ERROR, null, sendToClient.getClass().getName(),<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          sendToClient.getLocalizedMessage());<a name="line.434"></a>
-<span class="sourceLineNo">435</span>        this.rpcServer.metrics.authenticationFailure();<a name="line.435"></a>
-<span class="sourceLineNo">436</span>        String clientIP = this.toString();<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        // attempting user could be null<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        RpcServer.AUDITLOG.warn(RpcServer.AUTH_FAILED_FOR + clientIP + ":" + attemptingUser);<a name="line.438"></a>
-<span class="sourceLineNo">439</span>        throw e;<a name="line.439"></a>
-<span class="sourceLineNo">440</span>      }<a name="line.440"></a>
-<span class="sourceLineNo">441</span>      if (replyToken != null) {<a name="line.441"></a>
-<span class="sourceLineNo">442</span>        if (RpcServer.LOG.isDebugEnabled()) {<a name="line.442"></a>
-<span class="sourceLineNo">443</span>          RpcServer.LOG.debug("Will send token of size " + replyToken.length<a name="line.443"></a>
-<span class="sourceLineNo">444</span>              + " from saslServer.");<a name="line.444"></a>
-<span class="sourceLineNo">445</span>        }<a name="line.445"></a>
-<span class="sourceLineNo">446</span>        doRawSaslReply(SaslStatus.SUCCESS, new BytesWritable(replyToken), null,<a name="line.446"></a>
-<span class="sourceLineNo">447</span>            null);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>      }<a name="line.448"></a>
-<span class="sourceLineNo">449</span>      if (saslServer.isComplete()) {<a name="line.449"></a>
-<span class="sourceLineNo">450</span>        String qop = (String) saslServer.getNegotiatedProperty(Sasl.QOP);<a name="line.450"></a>
-<span class="sourceLineNo">451</span>        useWrap = qop != null &amp;&amp; !"auth".equalsIgnoreCase(qop);<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        ugi = getAuthorizedUgi(saslServer.getAuthorizationID());<a name="line.452"></a>
-<span class="sourceLineNo">453</span>        if (RpcServer.LOG.isDebugEnabled()) {<a name="line.453"></a>
-<span class="sourceLineNo">454</span>          RpcServer.LOG.debug("SASL server context established. Authenticated client: "<a name="line.454"></a>
-<span class="sourceLineNo">455</span>            + ugi + ". Negotiated QoP is "<a name="line.455"></a>
-<span class="sourceLineNo">456</span>            + saslServer.getNegotiatedProperty(Sasl.QOP));<a name="line.456"></a>
-<span class="sourceLineNo">457</span>        }<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        this.rpcServer.metrics.authenticationSuccess();<a name="line.458"></a>
-<span class="sourceLineNo">459</span>        RpcServer.AUDITLOG.info(RpcServer.AUTH_SUCCESSFUL_FOR + ugi);<a name="line.459"></a>
-<span class="sourceLineNo">460</span>        saslContextEstablished = true;<a name="line.460"></a>
-<span class="sourceLineNo">461</span>      }<a name="line.461"></a>
-<span class="sourceLineNo">462</span>    }<a name="line.462"></a>
-<span class="sourceLineNo">463</span>  }<a name="line.463"></a>
-<span class="sourceLineNo">464</span><a name="line.464"></a>
-<span class="sourceLineNo">465</span>  private void processUnwrappedData(byte[] inBuf) throws IOException, InterruptedException {<a name="line.465"></a>
-<span class="sourceLineNo">466</span>    ReadableByteChannel ch = Channels.newChannel(new ByteArrayInputStream(inBuf));<a name="line.466"></a>
-<span class="sourceLineNo">467</span>    // Read all RPCs contained in the inBuf, even partial ones<a name="line.467"></a>
-<span class="sourceLineNo">468</span>    while (true) {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      int count;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      if (unwrappedDataLengthBuffer.remaining() &gt; 0) {<a name="line.470"></a>
-<span class="sourceLineNo">471</span>        count = this.rpcServer.channelRead(ch, unwrappedDataLengthBuffer);<a name="line.471"></a>
-<span class="sourceLineNo">472</span>        if (count &lt;= 0 || unwrappedDataLengthBuffer.remaining() &gt; 0)<a name="line.472"></a>
-<span class="sourceLineNo">473</span>          return;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      }<a name="line.474"></a>
-<span class="sourceLineNo">475</span><a name="line.475"></a>
-<span class="sourceLineNo">476</span>      if (unwrappedData == null) {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        unwrappedDataLengthBuffer.flip();<a name="line.477"></a>
-<span class="sourceLineNo">478</span>        int unwrappedDataLength = unwrappedDataLengthBuffer.getInt();<a name="line.478"></a>
-<span class="sourceLineNo">479</span><a name="line.479"></a>
-<span class="sourceLineNo">480</span>        if (unwrappedDataLength == RpcClient.PING_CALL_ID) {<a name="line.480"></a>
-<span class="sourceLineNo">481</span>          if (RpcServer.LOG.isDebugEnabled())<a name="line.481"></a>
-<span class="sourceLineNo">482</span>            RpcServer.LOG.debug("Received ping message");<a name="line.482"></a>
-<span class="sourceLineNo">483</span>          unwrappedDataLengthBuffer.clear();<a name="line.483"></a>
-<span class="sourceLineNo">484</span>          continue; // ping message<a name="line.484"></a>
-<span class="sourceLineNo">485</span>        }<a name="line.485"></a>
-<span class="sourceLineNo">486</span>        unwrappedData = ByteBuffer.allocate(unwrappedDataLength);<a name="line.486"></a>
-<span class="sourceLineNo">487</span>      }<a name="line.487"></a>
-<span class="sourceLineNo">488</span><a name="line.488"></a>
-<span class="sourceLineNo">489</span>      count = this.rpcServer.channelRead(ch, unwrappedData);<a name="line.489"></a>
-<span class="sourceLineNo">490</span>      if (count &lt;= 0 || unwrappedData.remaining() &gt; 0)<a name="line.490"></a>
-<span class="sourceLineNo">491</span>        return;<a name="line.491"></a>
-<span class="sourceLineNo">492</span><a name="line.492"></a>
-<span class="sourceLineNo">493</span>      if (unwrappedData.remaining() == 0) {<a name="line.493"></a>
-<span class="sourceLineNo">494</span>        unwrappedDataLengthBuffer.clear();<a name="line.494"></a>
-<span class="sourceLineNo">495</span>        unwrappedData.flip();<a name="line.495"></a>
-<span class="sourceLineNo">496</span>        processOneRpc(new SingleByteBuff(unwrappedData));<a name="line.496"></a>
-<span class="sourceLineNo">497</span>        unwrappedData = null;<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      }<a name="line.498"></a>
-<span class="sourceLineNo">499</span>    }<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>  public void processOneRpc(ByteBuff buf) throws IOException,<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      InterruptedException {<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    if (connectionHeaderRead) {<a name="line.504"></a>
-<span class="sourceLineNo">505</span>      processRequest(buf);<a name="line.505"></a>
-<span class="sourceLineNo">506</span>    } else {<a name="line.506"></a>
-<span class="sourceLineNo">507</span>      processConnectionHeader(buf);<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      this.connectionHeaderRead = true;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      if (!authorizeConnection()) {<a name="line.509"></a>
-<span class="sourceLineNo">510</span>        // Throw FatalConnectionException wrapping ACE so client does right thing and closes<a name="line.510"></a>
-<span class="sourceLineNo">511</span>        // down the connection instead of trying to read non-existent retun.<a name="line.511"></a>
-<span class="sourceLineNo">512</span>        throw new AccessDeniedException("Connection from " + this + " for service " +<a name="line.512"></a>
-<span class="sourceLineNo">513</span>          connectionHeader.getServiceName() + " is unauthorized for user: " + ugi);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>      this.user = this.rpcServer.userProvider.create(this.ugi);<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><a name="line.518"></a>
-<span class="sourceLineNo">519</span>  private boolean authorizeConnection() throws IOException {<a name="line.519"></a>
-<span class="sourceLineNo">520</span>    try {<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      // If auth method is DIGEST, the token was obtained by the<a name="line.521"></a>
-<span class="sourceLineNo">522</span>      // real user for the effective user, therefore not required to<a name="line.522"></a>
-<span class="sourceLineNo">523</span>      // authorize real user. doAs is allowed only for simple or kerberos<a name="line.523"></a>
-<span class="sourceLineNo">524</span>      // authentication<a name="line.524"></a>
-<span class="sourceLineNo">525</span>      if (ugi != null &amp;&amp; ugi.getRealUser() != null<a name="line.525"></a>
-<span class="sourceLineNo">526</span>          &amp;&amp; (authMethod != AuthMethod.DIGEST)) {<a name="line.526"></a>
-<span class="sourceLineNo">527</span>        ProxyUsers.authorize(ugi, this.getHostAddress(), this.rpcServer.conf);<a name="line.527"></a>
-<span class="sourceLineNo">528</span>      }<a name="line.528"></a>
-<span class="sourceLineNo">529</span>      this.rpcServer.authorize(ugi, connectionHeader, getHostInetAddress());<a name="line.529"></a>
-<span class="sourceLineNo">530</span>      this.rpcServer.metrics.authorizationSuccess();<a name="line.530"></a>
-<span class="sourceLineNo">531</span>    } catch (AuthorizationException ae) {<a name="line.531"></a>
-<span class="sourceLineNo">532</span>      if (RpcServer.LOG.isDebugEnabled()) {<a name="line.532"></a>
-<span class="sourceLineNo">533</span>        RpcServer.LOG.debug("Connection authorization failed: " + ae.getMessage(), ae);<a name="line.533"></a>
-<span class="sourceLineNo">534</span>      }<a name="line.534"></a>
-<span class="sourceLineNo">535</span>      this.rpcServer.metrics.authorizationFailure();<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      doRespond(getErrorResponse(ae.getMessage(), new AccessDeniedException(ae)));<a name="line.536"></a>
-<span class="sourceLineNo">537</span>      return false;<a name="line.537"></a>
-<span class="sourceLineNo">538</span>    }<a name="line.538"></a>
-<span class="sourceLineNo">539</span>    return true;<a name="line.539"></a>
-<span class="sourceLineNo">540</span>  }<a name="line.540"></a>
-<span class="sourceLineNo">541</span><a name="line.541"></a>
-<span class="sourceLineNo">542</span>  // Reads the connection header following version<a name="line.542"></a>
-<span class="sourceLineNo">543</span>  private void processConnectionHeader(ByteBuff buf) throws IOException {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>    if (buf.hasArray()) {<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      this.connectionHeader = ConnectionHeader.parseFrom(buf.array());<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    } else {<a name="line.546"></a>
-<span class="sourceLineNo">547</span>      CodedInputStream cis = UnsafeByteOperations<a name="line.547"></a>
-<span class="sourceLineNo">548</span>          .unsafeWrap(new ByteBuffByteInput(buf, 0, buf.limit()), 0, buf.limit()).newCodedInput();<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      cis.enableAliasing(true);<a name="line.549"></a>
-<span class="sourceLineNo">550</span>      this.connectionHeader = ConnectionHeader.parseFrom(cis);<a name="line.550"></a>
-<span class="sourceLineNo">551</span>    }<a name="line.551"></a>
-<span class="sourceLineNo">552</span>    String serviceName = connectionHeader.getServiceName();<a name="line.552"></a>
-<span class="sourceLineNo">553</span>    if (serviceName == null) throw new EmptyServiceNameException();<a name="line.553"></a>
-<span class="sourceLineNo">554</span>    this.service = RpcServer.getService(this.rpcServer.services, serviceName);<a name="line.554"></a>
-<span class="sourceLineNo">555</span>    if (this.service == null) throw new UnknownServiceException(serviceName);<a name="line.555"></a>
-<span class="sourceLineNo">556</span>    setupCellBlockCodecs(this.connectionHeader);<a name="line.556"></a>
-<span class="sourceLineNo">557</span>    RPCProtos.ConnectionHeaderResponse.Builder chrBuilder =<a name="line.557"></a>
-<span class="sourceLineNo">558</span>        RPCProtos.ConnectionHeaderResponse.newBuilder();<a name="line.558"></a>
-<span class="sourceLineNo">559</span>    setupCryptoCipher(this.connectionHeader, chrBuilder);<a name="line.559"></a>
-<span class="sourceLineNo">560</span>    responseConnectionHeader(chrBuilder);<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    UserGroupInformation protocolUser = createUser(connectionHeader);<a name="line.561"></a>
-<span class="sourceLineNo">562</span>    if (!useSasl) {<a name="line.562"></a>
-<span class="sourceLineNo">563</span>      ugi = protocolUser;<a name="line.563"></a>
-<span class="sourceLineNo">564</span>      if (ugi != null) {<a name="line.564"></a>
-<span class="sourceLineNo">565</span>        ugi.setAuthenticationMethod(AuthMethod.SIMPLE.authenticationMethod);<a name="line.565"></a>
-<span class="sourceLineNo">566</span>      }<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      // audit logging for SASL authenticated users happens in saslReadAndProcess()<a name="line.567"></a>
-<span class="sourceLineNo">568</span>      if (authenticatedWithFallback) {<a name="line.568"></a>
-<span class="sourceLineNo">569</span>        RpcServer.LOG.warn("Allowed fallback to SIMPLE auth for " + ugi<a name="line.569"></a>
-<span class="sourceLineNo">570</span>            + " connecting from " + getHostAddress());<a name="line.570"></a>
-<span class="sourceLineNo">571</span>      }<a name="line.571"></a>
-<span class="sourceLineNo">572</span>      RpcServer.AUDITLOG.info(RpcServer.AUTH_SUCCESSFUL_FOR + ugi);<a name="line.572"></a>
-<span class="sourceLineNo">573</span>    } else {<a name="line.573"></a>
-<span class="sourceLineNo">574</span>      // user is authenticated<a name="line.574"></a>
-<span class="sourceLineNo">575</span>      ugi.setAuthenticationMethod(authMethod.authenticationMethod);<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      //Now we check if this is a proxy user case. If the protocol user is<a name="line.576"></a>
-<span class="sourceLineNo">577</span>      //different from the 'user', it is a proxy user scenario. However,<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      //this is not allowed if user authenticated with DIGEST.<a name="line.578"></a>
-<span class="sourceLineNo">579</span>      if ((protocolUser != null)<a name="line.579"></a>
-<span class="sourceLineNo">580</span>          &amp;&amp; (!protocolUser.getUserName().equals(ugi.getUserName()))) {<a name="line.580"></a>
-<span class="sourceLineNo">581</span>        if (authMethod == AuthMethod.DIGEST) {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>          // Not allowed to doAs if token authentication is used<a name="line.582"></a>
-<span class="sourceLineNo">583</span>          throw new AccessDeniedException("Authenticated user (" + ugi<a name="line.583"></a>
-<span class="sourceLineNo">584</span>              + ") doesn't match what the client claims to be ("<a name="line.584"></a>
-<span class="sourceLineNo">585</span>              + protocolUser + ")");<a name="line.585"></a>
-<span class="sourceLineNo">586</span>        } else {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>          // Effective user can be different from authenticated user<a name="line.587"></a>
-<span class="sourceLineNo">588</span>          // for simple auth or kerberos auth<a name="line.588"></a>
-<span class="sourceLineNo">589</span>          // The user is the real user. Now we create a proxy user<a name="line.589"></a>
-<span class="sourceLineNo">590</span>          UserGroupInformation realUser = ugi;<a name="line.590"></a>
-<span class="sourceLineNo">591</span>          ugi = UserGroupInformation.createProxyUser(protocolUser<a name="line.591"></a>
-<span class="sourceLineNo">592</span>              .getUserName(), realUser);<a name="line.592"></a>
-<span class="sourceLineNo">593</span>          // Now the user is a proxy user, set Authentication method Proxy.<a name="line.593"></a>
-<span class="sourceLineNo">594</span>          ugi.setAuthenticationMethod(AuthenticationMethod.PROXY);<a name="line.594"></a>
-<span class="sourceLineNo">595</span>        }<a name="line.595"></a>
-<span class="sourceLineNo">596</span>      }<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    }<a name="line.597"></a>
-<span class="sourceLineNo">598</span>    if (connectionHeader.hasVersionInfo()) {<a name="line.598"></a>
-<span class="sourceLineNo">599</span>      // see if this connection will support RetryImmediatelyException<a name="line.599"></a>
-<span class="sourceLineNo">600</span>      retryImmediatelySupported = VersionInfoUtil.hasMinimumVersion(getVersionInfo(), 1, 2);<a name="line.600"></a>
-<span class="sourceLineNo">601</span><a name="line.601"></a>
-<span class="sourceLineNo">602</span>      RpcServer.AUDITLOG.info("Connection from " + this.hostAddress + " port: " + this.remotePort<a name="line.602"></a>
-<span class="sourceLineNo">603</span>          + " with version info: "<a name="line.603"></a>
-<span class="sourceLineNo">604</span>          + TextFormat.shortDebugString(connectionHeader.getVersionInfo()));<a name="line.604"></a>
-<span class="sourceLineNo">605</span>    } else {<a name="line.605"></a>
-<span class="sourceLineNo">606</span>      RpcServer.AUDITLOG.info("Connection from " + this.hostAddress + " port: " + this.remotePort<a name="line.606"></a>
-<span class="sourceLineNo">607</span>          + " with unknown version info");<a name="line.607"></a>
-<span class="sourceLineNo">608</span>    }<a name="line.608"></a>
-<span class="sourceLineNo">609</span>  }<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>   * Send the response for connection header<a name="line.612"></a>
-<span class="sourceLineNo">613</span>   */<a name="line.613"></a>
-<span class="sourceLineNo">614</span>  private void responseConnectionHeader(RPCProtos.ConnectionHeaderResponse.Builder chrBuilder)<a name="line.614"></a>
-<span class="sourceLineNo">615</span>      throws FatalConnectionException {<a name="line.615"></a>
-<span class="sourceLineNo">616</span>    // Response the connection header if Crypto AES is enabled<a name="line.616"></a>
-<span class="sourceLineNo">617</span>    if (!chrBuilder.hasCryptoCipherMeta()) return;<a name="line.617"></a>
-<span class="sourceLineNo">618</span>    try {<a name="line.618"></a>
-<span class="sourceLineNo">619</span>      byte[] connectionHeaderResBytes = chrBuilder.build().toByteArray();<a name="line.619"></a>
-<span class="sourceLineNo">620</span>      // encrypt the Crypto AES cipher meta data with sasl server, and send to client<a name="line.620"></a>
-<span class="sourceLineNo">621</span>      byte[] unwrapped = new byte[connectionHeaderResBytes.length + 4];<a name="line.621"></a>
-<span class="sourceLineNo">622</span>      Bytes.putBytes(unwrapped, 0, Bytes.toBytes(connectionHeaderResBytes.length), 0, 4);<a name="line.622"></a>
-<span class="sourceLineNo">623</span>      Bytes.putBytes(unwrapped, 4, connectionHeaderResBytes, 0, connectionHeaderResBytes.length);<a name="line.623"></a>
-<span class="sourceLineNo">624</span>      byte[] wrapped = saslServer.wrap(unwrapped, 0, unwrapped.length);<a name="line.624"></a>
-<span class="sourceLineNo">625</span>      BufferChain bc;<a name="line.625"></a>
-<span class="sourceLineNo">626</span>      try (ByteBufferOutputStream response = new ByteBufferOutputStream(wrapped.length + 4);<a name="line.626"></a>
-<span class="sourceLineNo">627</span>          DataOutputStream out = new DataOutputStream(response)) {<a name="line.627"></a>
-<span class="sourceLineNo">628</span>        out.writeInt(wrapped.length);<a name="line.628"></a>
-<span class="sourceLineNo">629</span>        out.write(wrapped);<a name="line.629"></a>
-<span class="sourceLineNo">630</span>        bc = new BufferChain(response.getByteBuffer());<a name="line.630"></a>
-<span class="sourceLineNo">631</span>      }<a name="line.631"></a>
-<span class="sourceLineNo">632</span>      doRespond(() -&gt; bc);<a name="line.632"></a>
-<span class="sourceLineNo">633</span>    } catch (IOException ex) {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      throw new UnsupportedCryptoException(ex.getMessage(), ex);<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><a name="line.637"></a>
-<span class="sourceLineNo">638</span>  protected abstract void doRespond(RpcResponse resp) throws IOException;<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>   * @param buf<a name="line.641"></a>
-<span class="sourceLineNo">642</span>   *          Has the request header and the request param and optionally<a name="line.642"></a>
-<span class="sourceLineNo">643</span>   *          encoded data buffer all in this one array.<a name="line.643"></a>
-<span class="sourceLineNo">644</span>   * @throws IOException<a name="line.644"></a>
-<span class="sourceLineNo">645</span>   * @throws InterruptedException<a name="line.645"></a>
-<span class="sourceLineNo">646</span>   */<a name="line.646"></a>
-<span class="sourceLineNo">647</span>  protected void processRequest(ByteBuff buf) throws IOException,<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      InterruptedException {<a name="line.648"></a>
-<span class="sourceLineNo">649</span>    long totalRequestSize = buf.limit();<a name="line.649"></a>
-<span class="sourceLineNo">650</span>    int offset = 0;<a name="line.650"></a>
-<span class="sourceLineNo">651</span>    // Here we read in the header. We avoid having pb<a name="line.651"></a>
-<span class="sourceLineNo">652</span>    // do its default 4k allocation for CodedInputStream. We force it to use<a name="line.652"></a>
-<span class="sourceLineNo">653</span>    // backing array.<a name="line.653"></a>
-<span class="sourceLineNo">654</span>    CodedInputStream cis;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>    if (buf.hasArray()) {<a name="line.655"></a>
-<span class="sourceLineNo">656</span>      cis = UnsafeByteOperations.unsafeWrap(buf.array(), 0, buf.limit()).newCodedInput();<a name="line.656"></a>
-<span class="sourceLineNo">657</span>    } else {<a name="line.657"></a>
-<span class="sourceLineNo">658</span>      cis = UnsafeByteOperations<a name="line.658"></a>
-<span class="sourceLineNo">659</span>          .unsafeWrap(new ByteBuffByteInput(buf, 0, buf.limit()), 0, buf.limit()).newCodedInput();<a name="line.659"></a>
-<span class="sourceLineNo">660</span>    }<a name="line.660"></a>
-<span class="sourceLineNo">661</span>    cis.enableAliasing(true);<a name="line.661"></a>
-<span class="sourceLineNo">662</span>    int headerSize = cis.readRawVarint32();<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    offset = cis.getTotalBytesRead();<a name="line.663"></a>
-<span class="sourceLineNo">664</span>    Message.Builder builder = RequestHeader.newBuilder();<a name="line.664"></a>
-<span class="sourceLineNo">665</span>    ProtobufUtil.mergeFrom(builder, cis, headerSize);<a name="line.665"></a>
-<span class="sourceLineNo">666</span>    RequestHeader header = (RequestHeader) builder.build();<a name="line.666"></a>
-<span class="sourceLineNo">667</span>    offset += headerSize;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>    int id = header.getCallId();<a name="line.668"></a>
-<span class="sourceLineNo">669</span>    if (RpcServer.LOG.isTraceEnabled()) {<a name="line.669"></a>
-<span class="sourceLineNo">670</span>      RpcServer.LOG.trace("RequestHeader " + TextFormat.shortDebugString(header)<a name="line.670"></a>
-<span class="sourceLineNo">671</span>          + " totalRequestSize: " + totalRequestSize + " bytes");<a name="line.671"></a>
-<span class="sourceLineNo">672</span>    }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>    // Enforcing the call queue size, this triggers a retry in the client<a name="line.673"></a>
-<span class="sourceLineNo">674</span>    // This is a bit late to be doing this check - we have already read in the<a name="line.674"></a>
-<span class="sourceLineNo">675</span>    // total request.<a name="line.675"></a>
-<span class="sourceLineNo">676</span>    if ((totalRequestSize +<a name="line.676"></a>
-<span class="sourceLineNo">677</span>        this.rpcServer.callQueueSizeInBytes.sum()) &gt; this.rpcServer.maxQueueSizeInBytes) {<a name="line.677"></a>
-<span class="sourceLineNo">678</span>      final ServerCall&lt;?&gt; callTooBig = createCall(id, this.service, null, null, null, null,<a name="line.678"></a>
-<span class="sourceLineNo">679</span>        totalRequestSize, null, null, 0, this.callCleanup);<a name="line.679"></a>
-<span class="sourceLineNo">680</span>      this.rpcServer.metrics.exception(RpcServer.CALL_QUEUE_TOO_BIG_EXCEPTION);<a name="line.680"></a>
-<span class="sourceLineNo">681</span>      callTooBig.setResponse(null, null,  RpcServer.CALL_QUEUE_TOO_BIG_EXCEPTION,<a name="line.681"></a>
-<span class="sourceLineNo">682</span>        "Call queue is full on " + this.rpcServer.server.getServerName() +<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        ", is hbase.ipc.server.max.callqueue.size too small?");<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      callTooBig.sendResponseIfReady();<a name="line.684"></a>
-<span class="sourceLineNo">685</span>      return;<a name="line.685"></a>
-<span class="sourceLineNo">686</span>    }<a name="line.686"></a>
-<span class="sourceLineNo">687</span>    MethodDescriptor md = null;<a name="line.687"></a>
-<span class="sourceLineNo">688</span>    Message param = null;<a name="line.688"></a>
-<span class="sourceLineNo">689</span>    CellScanner cellScanner = null;<a name="line.689"></a>
-<span class="sourceLineNo">690</span>    try {<a name="line.690"></a>
-<span class="sourceLineNo">691</span>      if (header.hasRequestParam() &amp;&amp; header.getRequestParam()) {<a name="line.691"></a>
-<span class="sourceLineNo">692</span>        md = this.service.getDescriptorForType().findMethodByName(<a name="line.692"></a>
-<span class="sourceLineNo">693</span>            header.getMethodName());<a name="line.693"></a>
-<span class="sourceLineNo">694</span>        if (md == null)<a name="line.694"></a>
-<span class="sourceLineNo">695</span>          throw new UnsupportedOperationException(header.getMethodName());<a name="line.695"></a>
-<span class="sourceLineNo">696</span>        builder = this.service.getRequestPrototype(md).newBuilderForType();<a name="line.696"></a>
-<span class="sourceLineNo">697</span>        cis.resetSizeCounter();<a name="line.697"></a>
-<span class="sourceLineNo">698</span>        int paramSize = cis.readRawVarint32();<a name="line.698"></a>
-<span class="sourceLineNo">699</span>        offset += cis.getTotalBytesRead();<a name="line.699"></a>
-<span class="sourceLineNo">700</span>        if (builder != null) {<a name="line.700"></a>
-<span class="sourceLineNo">701</span>          ProtobufUtil.mergeFrom(builder, cis, paramSize);<a name="line.701"></a>
-<span class="sourceLineNo">702</span>          param = builder.build();<a name="line.702"></a>
-<span class="sourceLineNo">703</span>        }<a name="line.703"></a>
-<span class="sourceLineNo">704</span>        offset += paramSize;<a name="line.704"></a>
-<span class="sourceLineNo">705</span>      } else {<a name="line.705"></a>
-<span class="sourceLineNo">706</span>        // currently header must have request param, so we directly throw<a name="line.706"></a>
-<span class="sourceLineNo">707</span>        // exception here<a name="line.707"></a>
-<span class="sourceLineNo">708</span>        String msg = "Invalid request header: "<a name="line.708"></a>
-<span class="sourceLineNo">709</span>            + TextFormat.shortDebugString(header)<a name="line.709"></a>
-<span class="sourceLineNo">710</span>            + ", should have param set in it";<a name="line.710"></a>
-<span class="sourceLineNo">711</span>        RpcServer.LOG.warn(msg);<a name="line.711"></a>
-<span class="sourceLineNo">712</span>        throw new DoNotRetryIOException(msg);<a name="line.712"></a>
-<span class="sourceLineNo">713</span>      }<a name="line.713"></a>
-<span class="sourceLineNo">714</span>      if (header.hasCellBlockMeta()) {<a name="line.714"></a>
-<span class="sourceLineNo">715</span>        buf.position(offset);<a name="line.715"></a>
-<span class="sourceLineNo">716</span>        ByteBuff dup = buf.duplicate();<a name="line.716"></a>
-<span class="sourceLineNo">717</span>        dup.limit(offset + header.getCellBlockMeta().getLength());<a name="line.717"></a>
-<span class="sourceLineNo">718</span>        cellScanner = this.rpcServer.cellBlockBuilder.createCellScannerReusingBuffers(<a name="line.718"></a>
-<span class="sourceLineNo">719</span>            this.codec, this.compressionCodec, dup);<a name="line.719"></a>
-<span class="sourceLineNo">720</span>      }<a name="line.720"></a>
-<span class="sourceLineNo">721</span>    } catch (Throwable t) {<a name="line.721"></a>
-<span class="sourceLineNo">722</span>      InetSocketAddress address = this.rpcServer.getListenerAddress();<a name="line.722"></a>
-<span class="sourceLineNo">723</span>      String msg = (address != null ? address : "(channel closed)")<a name="line.723"></a>
-<span class="sourceLineNo">724</span>          + " is unable to read call parameter from client "<a name="line.724"></a>
-<span class="sourceLineNo">725</span>          + getHostAddress();<a name="line.725"></a>
-<span class="sourceLineNo">726</span>      RpcServer.LOG.warn(msg, t);<a name="line.726"></a>
-<span class="sourceLineNo">727</span><a name="line.727"></a>
-<span class="sourceLineNo">728</span>      this.rpcServer.metrics.exception(t);<a name="line.728"></a>
-<span class="sourceLineNo">729</span><a name="line.729"></a>
-<span class="sourceLineNo">730</span>      // probably the hbase hadoop version does not match the running hadoop<a name="line.730"></a>
-<span class="sourceLineNo">731</span>      // version<a name="line.731"></a>
-<span class="sourceLineNo">732</span>      if (t instanceof LinkageError) {<a name="line.732"></a>
-<span class="sourceLineNo">733</span>        t = new DoNotRetryIOException(t);<a name="line.733"></a>
-<span class="sourceLineNo">734</span>      }<a name="line.734"></a>
-<span class="sourceLineNo">735</span>      // If the method is not present on the server, do not retry.<a name="line.735"></a>
-<span class="sourceLineNo">736</span>      if (t instanceof UnsupportedOperationException) {<a name="line.736"></a>
-<span class="sourceLineNo">737</span>        t = new DoNotRetryIOException(t);<a name="line.737"></a>
-<span class="sourceLineNo">738</span>      }<a name="line.738"></a>
-<span class="sourceLineNo">739</span><a name="line.739"></a>
-<span class="sourceLineNo">740</span>      ServerCall&lt;?&gt; readParamsFailedCall = createCall(id, this.service, null, null, null, null,<a name="line.740"></a>
-<span class="sourceLineNo">741</span>        totalRequestSize, null, null, 0, this.callCleanup);<a name="line.741"></a>
-<span class="sourceLineNo">742</span>      readParamsFailedCall.setResponse(null, null, t, msg + "; " + t.getMessage());<a name="line.742"></a>
-<span class="sourceLineNo">743</span>      readParamsFailedCall.sendResponseIfReady();<a name="line.743"></a>
-<span class="sourceLineNo">744</span>      return;<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>    TraceInfo traceInfo = header.hasTraceInfo() ? new TraceInfo(header<a name="line.747"></a>
-<span class="sourceLineNo">748</span>        .getTraceInfo().getTraceId(), header.getTraceInfo().getParentId())<a name="line.748"></a>
-<span class="sourceLineNo">749</span>        : null;<a name="line.749"></a>
-<span class="sourceLineNo">750</span>    int timeout = 0;<a name="line.750"></a>
-<span class="sourceLineNo">751</span>    if (header.hasTimeout() &amp;&amp; header.getTimeout() &gt; 0) {<a name="line.751"></a>
-<span class="sourceLineNo">752</span>      timeout = Math.max(this.rpcServer.minClientRequestTimeout, header.getTimeout());<a name="line.752"></a>
-<span class="sourceLineNo">753</span>    }<a name="line.753"></a>
-<span class="sourceLineNo">754</span>    ServerCall&lt;?&gt; call = createCall(id, this.service, md, header, param, cellScanner, totalRequestSize,<a name="line.754"></a>
-<span class="sourceLineNo">755</span>      traceInfo, this.addr, timeout, this.callCleanup);<a name="line.755"></a>
-<span class="sourceLineNo">756</span><a name="line.756"></a>
-<span class="sourceLineNo">757</span>    if (!this.rpcServer.scheduler.dispatch(new CallRunner(this.rpcServer, call))) {<a name="line.757"></a>
-<span class="sourceLineNo">758</span>      this.rpcServer.callQueueSizeInBytes.add(-1 * call.getSize());<a name="line.758"></a>
-<span class="sourceLineNo">759</span>      this.rpcServer.metrics.exception(RpcServer.CALL_QUEUE_TOO_BIG_EXCEPTION);<a name="line.759"></a>
-<span class="sourceLineNo">760</span>      call.setResponse

<TRUNCATED>

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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.html b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.html
index c9d55e3..7f7c8ab 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.html
@@ -119,7 +119,7 @@ var activeTableTab = "activeTableTab";
 <br>
 <pre><a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.LimitedPrivate.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceAudience.LimitedPrivate</a>(<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.LimitedPrivate.html#value--">value</a>={"Coprocesssor","Phoenix"})
  <a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceStability.Evolving.html" title="annotation in org.apache.hadoop.hbase.classification">@InterfaceStability.Evolving</a>
-public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.85">RpcServer</a>
+public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.88">RpcServer</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/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a>, <a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserver.html" title="interface in org.apache.hadoop.hbase.conf">ConfigurationObserver</a></pre>
 <div class="block">An RPC server that hosts protobuf described Services.</div>
@@ -346,53 +346,57 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 </td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><code>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>&lt;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>,<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;</code></td>
+<td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#saslProps">saslProps</a></span></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcScheduler.html" title="class in org.apache.hadoop.hbase.ipc">RpcScheduler</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#scheduler">scheduler</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected org.apache.hadoop.security.token.SecretManager&lt;org.apache.hadoop.security.token.TokenIdentifier&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#secretManager">secretManager</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#server">server</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>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>&lt;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>&gt;</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#services">services</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#started">started</a></span></code>
 <div class="block">This flag is set to true after all threads are up and 'running' and the server is then opened
  for business by the call to <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html#start--"><code>RpcServerInterface.start()</code></a>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#tcpKeepAlive">tcpKeepAlive</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected boolean</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#tcpNoDelay">tcpNoDelay</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a></code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#userProvider">userProvider</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected 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/ipc/RpcServer.html#WARN_RESPONSE_SIZE">WARN_RESPONSE_SIZE</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected 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/ipc/RpcServer.html#WARN_RESPONSE_TIME">WARN_RESPONSE_TIME</a></span></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#warnResponseSize">warnResponseSize</a></span></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected int</code></td>
 <td class="colLast"><code><span class="memberNameLink"><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#warnResponseTime">warnResponseTime</a></span></code>&nbsp;</td>
 </tr>
@@ -655,7 +659,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>LOG</h4>
-<pre>public static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.88">LOG</a></pre>
+<pre>public static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.91">LOG</a></pre>
 </li>
 </ul>
 <a name="CALL_QUEUE_TOO_BIG_EXCEPTION">
@@ -664,7 +668,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>CALL_QUEUE_TOO_BIG_EXCEPTION</h4>
-<pre>protected static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CallQueueTooBigException.html" title="class in org.apache.hadoop.hbase">CallQueueTooBigException</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.89">CALL_QUEUE_TOO_BIG_EXCEPTION</a></pre>
+<pre>protected static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CallQueueTooBigException.html" title="class in org.apache.hadoop.hbase">CallQueueTooBigException</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.92">CALL_QUEUE_TOO_BIG_EXCEPTION</a></pre>
 </li>
 </ul>
 <a name="authorize">
@@ -673,7 +677,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>authorize</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.92">authorize</a></pre>
+<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.95">authorize</a></pre>
 </li>
 </ul>
 <a name="isSecurityEnabled">
@@ -682,7 +686,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>isSecurityEnabled</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.93">isSecurityEnabled</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.96">isSecurityEnabled</a></pre>
 </li>
 </ul>
 <a name="CURRENT_VERSION">
@@ -691,7 +695,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>CURRENT_VERSION</h4>
-<pre>public static final&nbsp;byte <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.95">CURRENT_VERSION</a></pre>
+<pre>public static final&nbsp;byte <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.98">CURRENT_VERSION</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.CURRENT_VERSION">Constant Field Values</a></dd>
@@ -704,7 +708,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>FALLBACK_TO_INSECURE_CLIENT_AUTH</h4>
-<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.100">FALLBACK_TO_INSECURE_CLIENT_AUTH</a></pre>
+<pre>public static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.103">FALLBACK_TO_INSECURE_CLIENT_AUTH</a></pre>
 <div class="block">Whether we allow a fallback to SIMPLE auth for insecure clients when security is enabled.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -718,7 +722,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER</h4>
-<pre>protected static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.106">DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER</a></pre>
+<pre>protected static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.109">DEFAULT_MAX_CALLQUEUE_LENGTH_PER_HANDLER</a></pre>
 <div class="block">How many calls/handler are allowed in the queue.</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -732,7 +736,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>cellBlockBuilder</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/CellBlockBuilder.html" title="class in org.apache.hadoop.hbase.ipc">CellBlockBuilder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.108">cellBlockBuilder</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/CellBlockBuilder.html" title="class in org.apache.hadoop.hbase.ipc">CellBlockBuilder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.111">cellBlockBuilder</a></pre>
 </li>
 </ul>
 <a name="AUTH_FAILED_FOR">
@@ -741,7 +745,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>AUTH_FAILED_FOR</h4>
-<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.110">AUTH_FAILED_FOR</a></pre>
+<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.113">AUTH_FAILED_FOR</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.AUTH_FAILED_FOR">Constant Field Values</a></dd>
@@ -754,7 +758,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>AUTH_SUCCESSFUL_FOR</h4>
-<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.111">AUTH_SUCCESSFUL_FOR</a></pre>
+<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.114">AUTH_SUCCESSFUL_FOR</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.AUTH_SUCCESSFUL_FOR">Constant Field Values</a></dd>
@@ -767,7 +771,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>AUDITLOG</h4>
-<pre>protected static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.112">AUDITLOG</a></pre>
+<pre>protected static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.115">AUDITLOG</a></pre>
 </li>
 </ul>
 <a name="secretManager">
@@ -776,7 +780,16 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>secretManager</h4>
-<pre>protected&nbsp;org.apache.hadoop.security.token.SecretManager&lt;org.apache.hadoop.security.token.TokenIdentifier&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.114">secretManager</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.security.token.SecretManager&lt;org.apache.hadoop.security.token.TokenIdentifier&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.117">secretManager</a></pre>
+</li>
+</ul>
+<a name="saslProps">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>saslProps</h4>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/Map.html?is-external=true" title="class or interface in java.util">Map</a>&lt;<a href="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>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.118">saslProps</a></pre>
 </li>
 </ul>
 <a name="authManager">
@@ -785,7 +798,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>authManager</h4>
-<pre>protected&nbsp;org.apache.hadoop.security.authorize.ServiceAuthorizationManager <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.115">authManager</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.security.authorize.ServiceAuthorizationManager <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.119">authManager</a></pre>
 </li>
 </ul>
 <a name="CurCall">
@@ -794,7 +807,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>CurCall</h4>
-<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ThreadLocal.html?is-external=true" title="class or interface in java.lang">ThreadLocal</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCall.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCall</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.120">CurCall</a></pre>
+<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ThreadLocal.html?is-external=true" title="class or interface in java.lang">ThreadLocal</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCall.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCall</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.124">CurCall</a></pre>
 <div class="block">This is set to Call object before Handler invokes an RPC and ybdie
  after the call returns.</div>
 </li>
@@ -805,7 +818,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>MONITORED_RPC</h4>
-<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ThreadLocal.html?is-external=true" title="class or interface in java.lang">ThreadLocal</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandler</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.123">MONITORED_RPC</a></pre>
+<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/ThreadLocal.html?is-external=true" title="class or interface in java.lang">ThreadLocal</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandler</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.127">MONITORED_RPC</a></pre>
 <div class="block">Keeps MonitoredRPCHandler per handler thread.</div>
 </li>
 </ul>
@@ -815,7 +828,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>bindAddress</h4>
-<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.125">bindAddress</a></pre>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.129">bindAddress</a></pre>
 </li>
 </ul>
 <a name="metrics">
@@ -824,7 +837,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>metrics</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServer.html" title="class in org.apache.hadoop.hbase.ipc">MetricsHBaseServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.127">metrics</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServer.html" title="class in org.apache.hadoop.hbase.ipc">MetricsHBaseServer</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.131">metrics</a></pre>
 </li>
 </ul>
 <a name="conf">
@@ -833,7 +846,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>conf</h4>
-<pre>protected final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.129">conf</a></pre>
+<pre>protected final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.133">conf</a></pre>
 </li>
 </ul>
 <a name="maxQueueSizeInBytes">
@@ -842,7 +855,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>maxQueueSizeInBytes</h4>
-<pre>protected final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.141">maxQueueSizeInBytes</a></pre>
+<pre>protected final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.145">maxQueueSizeInBytes</a></pre>
 <div class="block">Maximum size in bytes of the currently queued and running Calls. If a new Call puts us over
  this size, then we will reject the call (after parsing it though). It will go back to the
  client and client will retry. Set this size with "hbase.ipc.server.max.callqueue.size". The
@@ -862,7 +875,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_MAX_CALLQUEUE_SIZE</h4>
-<pre>protected static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.142">DEFAULT_MAX_CALLQUEUE_SIZE</a></pre>
+<pre>protected static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.146">DEFAULT_MAX_CALLQUEUE_SIZE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.DEFAULT_MAX_CALLQUEUE_SIZE">Constant Field Values</a></dd>
@@ -875,7 +888,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>callQueueSizeInBytes</h4>
-<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.148">callQueueSizeInBytes</a></pre>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/atomic/LongAdder.html?is-external=true" title="class or interface in java.util.concurrent.atomic">LongAdder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.152">callQueueSizeInBytes</a></pre>
 <div class="block">This is a running count of the size in bytes of all outstanding calls whether currently
  executing or queued waiting to be run.</div>
 </li>
@@ -886,7 +899,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>tcpNoDelay</h4>
-<pre>protected final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.150">tcpNoDelay</a></pre>
+<pre>protected final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.154">tcpNoDelay</a></pre>
 </li>
 </ul>
 <a name="tcpKeepAlive">
@@ -895,7 +908,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>tcpKeepAlive</h4>
-<pre>protected final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.151">tcpKeepAlive</a></pre>
+<pre>protected final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.155">tcpKeepAlive</a></pre>
 </li>
 </ul>
 <a name="running">
@@ -904,7 +917,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>running</h4>
-<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.158">running</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.162">running</a></pre>
 <div class="block">This flag is used to indicate to sub threads when they should go down.  When we call
  <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html#start--"><code>RpcServerInterface.start()</code></a>, all threads started will consult this flag on whether they should
  keep going.  It is set to false when <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html#stop--"><code>RpcServerInterface.stop()</code></a> is called.</div>
@@ -916,7 +929,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>started</h4>
-<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.164">started</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.168">started</a></pre>
 <div class="block">This flag is set to true after all threads are up and 'running' and the server is then opened
  for business by the call to <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html#start--"><code>RpcServerInterface.start()</code></a>.</div>
 </li>
@@ -927,7 +940,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>authTokenSecretMgr</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/token/AuthenticationTokenSecretManager.html" title="class in org.apache.hadoop.hbase.security.token">AuthenticationTokenSecretManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.166">authTokenSecretMgr</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/token/AuthenticationTokenSecretManager.html" title="class in org.apache.hadoop.hbase.security.token">AuthenticationTokenSecretManager</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.170">authTokenSecretMgr</a></pre>
 </li>
 </ul>
 <a name="errorHandler">
@@ -936,7 +949,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>errorHandler</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHandler.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRPCErrorHandler</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.168">errorHandler</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHandler.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRPCErrorHandler</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.172">errorHandler</a></pre>
 </li>
 </ul>
 <a name="MAX_REQUEST_SIZE">
@@ -945,7 +958,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>MAX_REQUEST_SIZE</h4>
-<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.170">MAX_REQUEST_SIZE</a></pre>
+<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.174">MAX_REQUEST_SIZE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.MAX_REQUEST_SIZE">Constant Field Values</a></dd>
@@ -958,7 +971,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>REQUEST_TOO_BIG_EXCEPTION</h4>
-<pre>protected static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/exceptions/RequestTooBigException.html" title="class in org.apache.hadoop.hbase.exceptions">RequestTooBigException</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.171">REQUEST_TOO_BIG_EXCEPTION</a></pre>
+<pre>protected static final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/exceptions/RequestTooBigException.html" title="class in org.apache.hadoop.hbase.exceptions">RequestTooBigException</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.175">REQUEST_TOO_BIG_EXCEPTION</a></pre>
 </li>
 </ul>
 <a name="WARN_RESPONSE_TIME">
@@ -967,7 +980,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>WARN_RESPONSE_TIME</h4>
-<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.174">WARN_RESPONSE_TIME</a></pre>
+<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.178">WARN_RESPONSE_TIME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.WARN_RESPONSE_TIME">Constant Field Values</a></dd>
@@ -980,7 +993,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>WARN_RESPONSE_SIZE</h4>
-<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.175">WARN_RESPONSE_SIZE</a></pre>
+<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.179">WARN_RESPONSE_SIZE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.WARN_RESPONSE_SIZE">Constant Field Values</a></dd>
@@ -993,7 +1006,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>MIN_CLIENT_REQUEST_TIMEOUT</h4>
-<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.181">MIN_CLIENT_REQUEST_TIMEOUT</a></pre>
+<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.185">MIN_CLIENT_REQUEST_TIMEOUT</a></pre>
 <div class="block">Minimum allowable timeout (in milliseconds) in rpc request's header. This
  configuration exists to prevent the rpc service regarding this request as timeout immediately.</div>
 <dl>
@@ -1008,7 +1021,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT</h4>
-<pre>protected static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.182">DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT</a></pre>
+<pre>protected static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.186">DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.DEFAULT_MIN_CLIENT_REQUEST_TIMEOUT">Constant Field Values</a></dd>
@@ -1021,7 +1034,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_MAX_REQUEST_SIZE</h4>
-<pre>protected static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.185">DEFAULT_MAX_REQUEST_SIZE</a></pre>
+<pre>protected static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.189">DEFAULT_MAX_REQUEST_SIZE</a></pre>
 <div class="block">Default value for above params</div>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
@@ -1035,7 +1048,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_WARN_RESPONSE_TIME</h4>
-<pre>protected static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.186">DEFAULT_WARN_RESPONSE_TIME</a></pre>
+<pre>protected static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.190">DEFAULT_WARN_RESPONSE_TIME</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.DEFAULT_WARN_RESPONSE_TIME">Constant Field Values</a></dd>
@@ -1048,7 +1061,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_WARN_RESPONSE_SIZE</h4>
-<pre>protected static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.187">DEFAULT_WARN_RESPONSE_SIZE</a></pre>
+<pre>protected static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.191">DEFAULT_WARN_RESPONSE_SIZE</a></pre>
 <dl>
 <dt><span class="seeLabel">See Also:</span></dt>
 <dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.DEFAULT_WARN_RESPONSE_SIZE">Constant Field Values</a></dd>
@@ -1061,7 +1074,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>MAPPER</h4>
-<pre>protected static final&nbsp;org.codehaus.jackson.map.ObjectMapper <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.189">MAPPER</a></pre>
+<pre>protected static final&nbsp;org.codehaus.jackson.map.ObjectMapper <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.193">MAPPER</a></pre>
 </li>
 </ul>
 <a name="maxRequestSize">
@@ -1070,7 +1083,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>maxRequestSize</h4>
-<pre>protected final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.191">maxRequestSize</a></pre>
+<pre>protected final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.195">maxRequestSize</a></pre>
 </li>
 </ul>
 <a name="warnResponseTime">
@@ -1079,7 +1092,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>warnResponseTime</h4>
-<pre>protected final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.192">warnResponseTime</a></pre>
+<pre>protected final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.196">warnResponseTime</a></pre>
 </li>
 </ul>
 <a name="warnResponseSize">
@@ -1088,7 +1101,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>warnResponseSize</h4>
-<pre>protected final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.193">warnResponseSize</a></pre>
+<pre>protected final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.197">warnResponseSize</a></pre>
 </li>
 </ul>
 <a name="minClientRequestTimeout">
@@ -1097,7 +1110,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>minClientRequestTimeout</h4>
-<pre>protected final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.195">minClientRequestTimeout</a></pre>
+<pre>protected final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.199">minClientRequestTimeout</a></pre>
 </li>
 </ul>
 <a name="server">
@@ -1106,7 +1119,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>server</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.197">server</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.201">server</a></pre>
 </li>
 </ul>
 <a name="services">
@@ -1115,7 +1128,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>services</h4>
-<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.198">services</a></pre>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.202">services</a></pre>
 </li>
 </ul>
 <a name="scheduler">
@@ -1124,7 +1137,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>scheduler</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcScheduler.html" title="class in org.apache.hadoop.hbase.ipc">RpcScheduler</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.200">scheduler</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcScheduler.html" title="class in org.apache.hadoop.hbase.ipc">RpcScheduler</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.204">scheduler</a></pre>
 </li>
 </ul>
 <a name="userProvider">
@@ -1133,7 +1146,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>userProvider</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.202">userProvider</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html" title="class in org.apache.hadoop.hbase.security">UserProvider</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.206">userProvider</a></pre>
 </li>
 </ul>
 <a name="reservoir">
@@ -1142,7 +1155,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>reservoir</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/ByteBufferPool.html" title="class in org.apache.hadoop.hbase.io">ByteBufferPool</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.204">reservoir</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/ByteBufferPool.html" title="class in org.apache.hadoop.hbase.io">ByteBufferPool</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.208">reservoir</a></pre>
 </li>
 </ul>
 <a name="minSizeForReservoirUse">
@@ -1151,7 +1164,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>minSizeForReservoirUse</h4>
-<pre>protected final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.208">minSizeForReservoirUse</a></pre>
+<pre>protected final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.212">minSizeForReservoirUse</a></pre>
 </li>
 </ul>
 <a name="allowFallbackToSimpleAuth">
@@ -1160,7 +1173,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>allowFallbackToSimpleAuth</h4>
-<pre>protected volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.210">allowFallbackToSimpleAuth</a></pre>
+<pre>protected volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.214">allowFallbackToSimpleAuth</a></pre>
 </li>
 </ul>
 <a name="rsRpcServices">
@@ -1169,7 +1182,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>rsRpcServices</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.216">rsRpcServices</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.220">rsRpcServices</a></pre>
 <div class="block">Used to get details for scan with a scanner_id<br/>
  TODO try to figure out a better way and remove reference from regionserver package later.</div>
 </li>
@@ -1180,7 +1193,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockListLast">
 <li class="blockList">
 <h4>NIO_BUFFER_LIMIT</h4>
-<pre>protected static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.553">NIO_BUFFER_LIMIT</a></pre>
+<pre>protected static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.560">NIO_BUFFER_LIMIT</a></pre>
 <div class="block">When the read or write buffer size is larger than this limit, i/o will be
  done in chunks of this size. Most RPC requests and responses would be
  be smaller.</div>
@@ -1204,7 +1217,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RpcServer</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.255">RpcServer</a>(<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;server,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.259">RpcServer</a>(<a href="../../../../../org/apache/hadoop/hbase/Server.html" title="interface in org.apache.hadoop.hbase">Server</a>&nbsp;server,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>&gt;&nbsp;services,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;bindAddress,
@@ -1240,7 +1253,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getMinSizeForReservoirUse</h4>
-<pre>static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.317">getMinSizeForReservoirUse</a>(<a href="../../../../../org/apache/hadoop/hbase/io/ByteBufferPool.html" title="class in org.apache.hadoop.hbase.io">ByteBufferPool</a>&nbsp;pool)</pre>
+<pre>static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.324">getMinSizeForReservoirUse</a>(<a href="../../../../../org/apache/hadoop/hbase/io/ByteBufferPool.html" title="class in org.apache.hadoop.hbase.io">ByteBufferPool</a>&nbsp;pool)</pre>
 </li>
 </ul>
 <a name="onConfigurationChange-org.apache.hadoop.conf.Configuration-">
@@ -1249,7 +1262,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>onConfigurationChange</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.322">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration&nbsp;newConf)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.329">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration&nbsp;newConf)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserver.html#onConfigurationChange-org.apache.hadoop.conf.Configuration-">ConfigurationObserver</a></code></span></div>
 <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>
@@ -1265,7 +1278,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>initReconfigurable</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.329">initReconfigurable</a>(org.apache.hadoop.conf.Configuration&nbsp;confToLoad)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.336">initReconfigurable</a>(org.apache.hadoop.conf.Configuration&nbsp;confToLoad)</pre>
 </li>
 </ul>
 <a name="getConf--">
@@ -1274,7 +1287,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getConf</h4>
-<pre>org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.343">getConf</a>()</pre>
+<pre>org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.350">getConf</a>()</pre>
 </li>
 </ul>
 <a name="isStarted--">
@@ -1283,7 +1296,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>isStarted</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.348">isStarted</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.355">isStarted</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html#isStarted--">isStarted</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a></code></dd>
@@ -1296,7 +1309,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>refreshAuthManager</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.353">refreshAuthManager</a>(org.apache.hadoop.security.authorize.PolicyProvider&nbsp;pp)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.360">refreshAuthManager</a>(org.apache.hadoop.security.authorize.PolicyProvider&nbsp;pp)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html#refreshAuthManager-org.apache.hadoop.security.authorize.PolicyProvider-">RpcServerInterface</a></code></span></div>
 <div class="block">Refresh authentication manager policy.</div>
 <dl>
@@ -1311,7 +1324,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>createSecretManager</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/token/AuthenticationTokenSecretManager.html" title="class in org.apache.hadoop.hbase.security.token">AuthenticationTokenSecretManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.359">createSecretManager</a>()</pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/token/AuthenticationTokenSecretManager.html" title="class in org.apache.hadoop.hbase.security.token">AuthenticationTokenSecretManager</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.366">createSecretManager</a>()</pre>
 </li>
 </ul>
 <a name="getSecretManager--">
@@ -1320,7 +1333,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getSecretManager</h4>
-<pre>public&nbsp;org.apache.hadoop.security.token.SecretManager&lt;? extends org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.371">getSecretManager</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.security.token.SecretManager&lt;? extends org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.378">getSecretManager</a>()</pre>
 </li>
 </ul>
 <a name="setSecretManager-org.apache.hadoop.security.token.SecretManager-">
@@ -1329,7 +1342,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>setSecretManager</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.376">setSecretManager</a>(org.apache.hadoop.security.token.SecretManager&lt;? extends org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;secretManager)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.383">setSecretManager</a>(org.apache.hadoop.security.token.SecretManager&lt;? extends org.apache.hadoop.security.token.TokenIdentifier&gt;&nbsp;secretManager)</pre>
 </li>
 </ul>
 <a name="call-org.apache.hadoop.hbase.ipc.RpcCall-org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler-">
@@ -1338,7 +1351,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>call</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;org.apache.hadoop.hbase.shaded.com.google.protobuf.Message,<a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.386">call</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCall.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCall</a>&nbsp;call,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;org.apache.hadoop.hbase.shaded.com.google.protobuf.Message,<a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.393">call</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCall.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCall</a>&nbsp;call,
                                                                                          <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandler</a>&nbsp;status)
                                                                                   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">This is a server side method, which is invoked over RPC. On success
@@ -1358,7 +1371,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>logResponse</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.476">logResponse</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.Message&nbsp;param,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.483">logResponse</a>(org.apache.hadoop.hbase.shaded.com.google.protobuf.Message&nbsp;param,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;methodName,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;call,
                  <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tag,
@@ -1393,7 +1406,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>setErrorHandler</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.508">setErrorHandler</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHandler.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRPCErrorHandler</a>&nbsp;handler)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.515">setErrorHandler</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHandler.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRPCErrorHandler</a>&nbsp;handler)</pre>
 <div class="block">Set the handler for calling out of RPC for error conditions.</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1409,7 +1422,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getErrorHandler</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHandler.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRPCErrorHandler</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.513">getErrorHandler</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHandler.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRPCErrorHandler</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.520">getErrorHandler</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html#getErrorHandler--">getErrorHandler</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a></code></dd>
@@ -1422,7 +1435,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getMetrics</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServer.html" title="class in org.apache.hadoop.hbase.ipc">MetricsHBaseServer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.521">getMetrics</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServer.html" title="class in org.apache.hadoop.hbase.ipc">MetricsHBaseServer</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.528">getMetrics</a>()</pre>
 <div class="block">Returns the metrics instance for reporting RPC call statistics</div>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
@@ -1436,7 +1449,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>addCallSize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.526">addCallSize</a>(long&nbsp;diff)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.533">addCallSize</a>(long&nbsp;diff)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html#addCallSize-long-">RpcServerInterface</a></code></span></div>
 <div class="block">Add/subtract from the current size of all outstanding calls.  Called on setup of a call to add
  call total size and then again at end of a call to remove the call size.</div>
@@ -1454,7 +1467,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>authorize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.539">authorize</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;user,
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.546">authorize</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;user,
                       org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;connection,
                       <a href="http://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a>&nbsp;addr)
                throws org.apache.hadoop.security.authorize.AuthorizationException</pre>
@@ -1475,7 +1488,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>channelRead</h4>
-<pre>protected&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.567">channelRead</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a>&nbsp;channel,
+<pre>protected&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.574">channelRead</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a>&nbsp;channel,
                           <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;buffer)
                    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">This is a wrapper around <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true#read-java.nio.ByteBuffer-" title="class or interface in java.nio.channels"><code>ReadableByteChannel.read(java.nio.ByteBuffer)</code></a>.
@@ -1501,7 +1514,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>channelIO</h4>
-<pre>private static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.591">channelIO</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a>&nbsp;readCh,
+<pre>private static&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.598">channelIO</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/nio/channels/ReadableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">ReadableByteChannel</a>&nbsp;readCh,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/channels/WritableByteChannel.html?is-external=true" title="class or interface in java.nio.channels">WritableByteChannel</a>&nbsp;writeCh,
                              <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;buf)
                       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>
@@ -1529,7 +1542,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>allocateByteBuffToReadInto</h4>
-<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>,<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.CallCleanup.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServer.CallCleanup</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.629">allocateByteBuffToReadInto</a>(<a href="../../../../../org/apache/hadoop/hbase/io/ByteBufferPool.html" title="class in org.apache.hadoop.hbase.io">ByteBufferPool</a>&nbsp;pool,
+<pre>static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>,<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.CallCleanup.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServer.CallCleanup</a>&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.636">allocateByteBuffToReadInto</a>(<a href="../../../../../org/apache/hadoop/hbase/io/ByteBufferPool.html" title="class in org.apache.hadoop.hbase.io">ByteBufferPool</a>&nbsp;pool,
                                                                        int&nbsp;minSizeForPoolUse,
                                                                        int&nbsp;reqLen)</pre>
 <div class="block">This is extracted to a static method for better unit testing. We try to get buffer(s) from pool
@@ -1549,7 +1562,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getCurrentCall</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCall.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCall</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.674">getCurrentCall</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCall.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCall</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.681">getCurrentCall</a>()</pre>
 <div class="block">Needed for features such as delayed calls.  We need to be able to store the current call
  so that we can complete it later or ask questions of what is supported by the current ongoing
  call.</div>
@@ -1565,7 +1578,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>isInRpcCallContext</h4>
-<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.678">isInRpcCallContext</a>()</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.685">isInRpcCallContext</a>()</pre>
 </li>
 </ul>
 <a name="getRequestUser--">
@@ -1574,7 +1587,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getRequestUser</h4>
-<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.687">getRequestUser</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/security/User.html" title="class in org.apache.hadoop.hbase.security">User</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.694">getRequestUser</a>()</pre>
 <div class="block">Returns the user credentials associated with the current RPC request or
  <code>null</code> if no credentials were provided.</div>
 <dl>
@@ -1589,7 +1602,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getNumOpenConnections</h4>
-<pre>public abstract&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.696">getNumOpenConnections</a>()</pre>
+<pre>public abstract&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.703">getNumOpenConnections</a>()</pre>
 <div class="block">The number of open RPC conections</div>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
@@ -1603,7 +1616,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getRequestUserName</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.702">getRequestUserName</a>()</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.709">getRequestUserName</a>()</pre>
 <div class="block">Returns the username for any user associated with the current RPC
  request or <code>null</code> if no user is set.</div>
 </li>
@@ -1614,7 +1627,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getRemoteAddress</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.710">getRemoteAddress</a>()</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.717">getRemoteAddress</a>()</pre>
 <dl>
 <dt><span class="returnLabel">Returns:</span></dt>
 <dd>Address of remote client if a request is ongoing, else null</dd>
@@ -1627,7 +1640,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getServiceAndInterface</h4>
-<pre>protected static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.720">getServiceAndInterface</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>&gt;&nbsp;services,
+<pre>protected static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.727">getServiceAndInterface</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>&gt;&nbsp;services,
                                                                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serviceName)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1644,7 +1657,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getServiceInterface</h4>
-<pre>protected static&nbsp;<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>&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.735">getServiceInterface</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>&gt;&nbsp;services,
+<pre>protected static&nbsp;<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>&lt;?&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.742">getServiceInterface</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>&gt;&nbsp;services,
                                               <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serviceName)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1661,7 +1674,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getService</h4>
-<pre>protected static&nbsp;org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.748">getService</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>&gt;&nbsp;services,
+<pre>protected static&nbsp;org.apache.hadoop.hbase.shaded.com.google.protobuf.BlockingService&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.755">getService</a>(<a href="http://docs.oracle.com/javase/8/docs/api/java/util/List.html?is-external=true" title="class or interface in java.util">List</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>&gt;&nbsp;services,
                                                                                                <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serviceName)</pre>
 <dl>
 <dt><span class="paramLabel">Parameters:</span></dt>
@@ -1678,7 +1691,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getStatus</h4>
-<pre>protected static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandler</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.756">getStatus</a>()</pre>
+<pre>protected static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html" title="interface in org.apache.hadoop.hbase.monitoring">MonitoredRPCHandler</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.763">getStatus</a>()</pre>
 </li>
 </ul>
 <a name="getRemoteIp--">
@@ -1687,7 +1700,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getRemoteIp</h4>
-<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.772">getRemoteIp</a>()</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.779">getRemoteIp</a>()</pre>
 <div class="block">Returns the remote side ip address when invoked inside an RPC
   Returns null incase of an error.</div>
 <dl>
@@ -1702,7 +1715,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getScheduler</h4>
-<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcScheduler.html" title="class in org.apache.hadoop.hbase.ipc">RpcScheduler</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.781">getScheduler</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcScheduler.html" title="class in org.apache.hadoop.hbase.ipc">RpcScheduler</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.788">getScheduler</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html#getScheduler--">getScheduler</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a></code></dd>
@@ -1715,7 +1728,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockListLast">
 <li class="blockList">
 <h4>setRsRpcServices</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.786">setRsRpcServices</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a>&nbsp;rsRpcServices)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.793">setRsRpcServices</a>(<a href="../../../../../org/apache/hadoop/hbase/regionserver/RSRpcServices.html" title="class in org.apache.hadoop.hbase.regionserver">RSRpcServices</a>&nbsp;rsRpcServices)</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html#setRsRpcServices-org.apache.hadoop.hbase.regionserver.RSRpcServices-">setRsRpcServices</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html b/devapidocs/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html
index 408e71f..f31a288 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html
@@ -118,7 +118,7 @@ var activeTableTab = "activeTableTab";
 </dl>
 <hr>
 <br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.840">ServerRpcConnection.ByteBuffByteInput</a>
+<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.html#line.796">ServerRpcConnection.ByteBuffByteInput</a>
 extends org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteInput</pre>
 </li>
 </ul>
@@ -249,7 +249,7 @@ extends org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteInput</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>buf</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html#line.842">buf</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html#line.798">buf</a></pre>
 </li>
 </ul>
 <a name="offset">
@@ -258,7 +258,7 @@ extends org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteInput</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>offset</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html#line.843">offset</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html#line.799">offset</a></pre>
 </li>
 </ul>
 <a name="length">
@@ -267,7 +267,7 @@ extends org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteInput</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>length</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html#line.844">length</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html#line.800">length</a></pre>
 </li>
 </ul>
 </li>
@@ -284,7 +284,7 @@ extends org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteInput</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>ByteBuffByteInput</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html#line.846">ByteBuffByteInput</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;buf,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html#line.802">ByteBuffByteInput</a>(<a href="../../../../../org/apache/hadoop/hbase/nio/ByteBuff.html" title="class in org.apache.hadoop.hbase.nio">ByteBuff</a>&nbsp;buf,
                   int&nbsp;offset,
                   int&nbsp;length)</pre>
 </li>
@@ -303,7 +303,7 @@ extends org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteInput</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>read</h4>
-<pre>public&nbsp;byte&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html#line.853">read</a>(int&nbsp;offset)</pre>
+<pre>public&nbsp;byte&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html#line.809">read</a>(int&nbsp;offset)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteInput</code></span></div>
 <div class="block">Reads a single byte from the given offset.</div>
 <dl>
@@ -322,7 +322,7 @@ extends org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteInput</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>getAbsoluteOffset</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html#line.857">getAbsoluteOffset</a>(int&nbsp;offset)</pre>
+<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html#line.813">getAbsoluteOffset</a>(int&nbsp;offset)</pre>
 </li>
 </ul>
 <a name="read-int-byte:A-int-int-">
@@ -331,7 +331,7 @@ extends org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteInput</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>read</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html#line.862">read</a>(int&nbsp;offset,
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html#line.818">read</a>(int&nbsp;offset,
                 byte[]&nbsp;out,
                 int&nbsp;outOffset,
                 int&nbsp;len)</pre>
@@ -356,7 +356,7 @@ extends org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteInput</pre>
 <ul class="blockList">
 <li class="blockList">
 <h4>read</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html#line.868">read</a>(int&nbsp;offset,
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html#line.824">read</a>(int&nbsp;offset,
                 <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;out)</pre>
 <div class="block"><span class="descfrmTypeLabel">Description copied from class:&nbsp;<code>org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteInput</code></span></div>
 <div class="block">Reads bytes of data from the given offset into given <a href="http://docs.oracle.com/javase/8/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio"><code>ByteBuffer</code></a>.</div>
@@ -377,7 +377,7 @@ extends org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteInput</pre>
 <ul class="blockListLast">
 <li class="blockList">
 <h4>size</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html#line.875">size</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/ServerRpcConnection.ByteBuffByteInput.html#line.831">size</a>()</pre>
 <dl>
 <dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
 <dd><code>size</code>&nbsp;in class&nbsp;<code>org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteInput</code></dd>


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

Posted by gi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/f8f0a032/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html
index 7aeb0fb..f01cf3a 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/regionserver/RSRpcServices.RegionScannerShippedCallBack.html
@@ -27,3384 +27,3404 @@
 <span class="sourceLineNo">019</span>package org.apache.hadoop.hbase.regionserver;<a name="line.19"></a>
 <span class="sourceLineNo">020</span><a name="line.20"></a>
 <span class="sourceLineNo">021</span>import com.google.common.annotations.VisibleForTesting;<a name="line.21"></a>
-<span class="sourceLineNo">022</span><a name="line.22"></a>
-<span class="sourceLineNo">023</span>import java.io.FileNotFoundException;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import java.io.IOException;<a name="line.24"></a>
-<span class="sourceLineNo">025</span>import java.io.InterruptedIOException;<a name="line.25"></a>
-<span class="sourceLineNo">026</span>import java.net.BindException;<a name="line.26"></a>
-<span class="sourceLineNo">027</span>import java.net.InetSocketAddress;<a name="line.27"></a>
-<span class="sourceLineNo">028</span>import java.net.UnknownHostException;<a name="line.28"></a>
-<span class="sourceLineNo">029</span>import java.nio.ByteBuffer;<a name="line.29"></a>
-<span class="sourceLineNo">030</span>import java.util.*;<a name="line.30"></a>
-<span class="sourceLineNo">031</span>import java.util.Map.Entry;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import java.util.concurrent.ConcurrentMap;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.34"></a>
-<span class="sourceLineNo">035</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.35"></a>
-<span class="sourceLineNo">036</span>import java.util.concurrent.atomic.LongAdder;<a name="line.36"></a>
-<span class="sourceLineNo">037</span><a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.commons.lang.mutable.MutableObject;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.commons.logging.Log;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.commons.logging.LogFactory;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.conf.Configuration;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.fs.Path;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.ByteBufferCell;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.Cell;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.CellScannable;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.HConstants;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.MultiActionResultTooLarge;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.ServerName;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.TableName;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.58"></a>
-<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.59"></a>
-<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.client.Append;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.client.ConnectionUtils;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.client.Get;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.client.Put;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.client.Result;<a name="line.69"></a>
-<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.71"></a>
-<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.74"></a>
-<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException;<a name="line.75"></a>
-<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.exceptions.ScannerResetException;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.ipc.HBaseRPCErrorHandler;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.ipc.PriorityFunction;<a name="line.81"></a>
-<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.ipc.QosPriority;<a name="line.82"></a>
-<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.ipc.RpcCallback;<a name="line.84"></a>
-<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.85"></a>
-<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.ipc.RpcServer.BlockingServiceAndInterface;<a name="line.86"></a>
-<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.ipc.RpcServerFactory;<a name="line.87"></a>
-<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.ipc.RpcServerInterface;<a name="line.88"></a>
-<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;<a name="line.89"></a>
-<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.ipc.ServerRpcController;<a name="line.90"></a>
-<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.master.MasterRpcServices;<a name="line.91"></a>
-<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.quotas.ActivePolicyEnforcement;<a name="line.92"></a>
-<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.93"></a>
-<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager;<a name="line.95"></a>
-<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.quotas.RegionServerSpaceQuotaManager;<a name="line.96"></a>
-<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot;<a name="line.97"></a>
-<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.quotas.SpaceViolationPolicyEnforcement;<a name="line.98"></a>
-<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.99"></a>
-<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.100"></a>
-<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.101"></a>
-<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.102"></a>
-<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.103"></a>
-<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.104"></a>
-<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.regionserver.handler.OpenPriorityRegionHandler;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.106"></a>
-<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.107"></a>
-<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.security.Superusers;<a name="line.108"></a>
-<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.security.User;<a name="line.109"></a>
-<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.111"></a>
-<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController;<a name="line.112"></a>
-<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.113"></a>
-<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.114"></a>
-<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.116"></a>
-<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.shaded.protobuf.ResponseConverter;<a name="line.118"></a>
-<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.119"></a>
-<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesRequest;<a name="line.120"></a>
-<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesResponse;<a name="line.121"></a>
-<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeRequest;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeResponse;<a name="line.123"></a>
-<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.124"></a>
-<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.125"></a>
-<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.126"></a>
-<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.128"></a>
-<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.129"></a>
-<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.130"></a>
-<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.133"></a>
-<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.134"></a>
-<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.135"></a>
-<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoRequest;<a name="line.136"></a>
-<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoResponse;<a name="line.137"></a>
-<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileRequest;<a name="line.138"></a>
-<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileResponse;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest;<a name="line.140"></a>
-<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest.RegionOpenInfo;<a name="line.141"></a>
-<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse.RegionOpeningState;<a name="line.143"></a>
-<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryRequest;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryResponse;<a name="line.145"></a>
-<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterRequest;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterResponse;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.148"></a>
-<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerRequest;<a name="line.150"></a>
-<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerResponse;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationRequest;<a name="line.152"></a>
-<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationResponse;<a name="line.153"></a>
-<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesRequest;<a name="line.154"></a>
-<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesResponse;<a name="line.155"></a>
-<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionRequest;<a name="line.157"></a>
-<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionResponse;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.159"></a>
-<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action;<a name="line.160"></a>
-<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.161"></a>
-<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.162"></a>
-<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.163"></a>
-<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadRequest;<a name="line.164"></a>
-<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadResponse;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService;<a name="line.166"></a>
-<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Condition;<a name="line.167"></a>
-<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.168"></a>
-<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.169"></a>
-<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetRequest;<a name="line.170"></a>
-<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetResponse;<a name="line.171"></a>
-<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRegionLoadStats;<a name="line.172"></a>
-<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRequest;<a name="line.173"></a>
-<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiResponse;<a name="line.174"></a>
-<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateRequest;<a name="line.175"></a>
-<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateResponse;<a name="line.176"></a>
-<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto;<a name="line.177"></a>
-<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadRequest;<a name="line.179"></a>
-<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadResponse;<a name="line.180"></a>
-<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionAction;<a name="line.181"></a>
-<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.182"></a>
-<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanRequest;<a name="line.184"></a>
-<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse;<a name="line.185"></a>
-<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos;<a name="line.186"></a>
-<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.187"></a>
-<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameBytesPair;<a name="line.188"></a>
-<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.189"></a>
-<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.191"></a>
-<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.192"></a>
-<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.193"></a>
-<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsRequest;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.196"></a>
-<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.SpaceViolationPolicy;<a name="line.197"></a>
-<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader;<a name="line.198"></a>
-<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.199"></a>
-<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.202"></a>
-<span class="sourceLineNo">203</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.203"></a>
-<span class="sourceLineNo">204</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.204"></a>
-<span class="sourceLineNo">205</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.205"></a>
-<span class="sourceLineNo">206</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.206"></a>
-<span class="sourceLineNo">207</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.208"></a>
-<span class="sourceLineNo">209</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.209"></a>
-<span class="sourceLineNo">210</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.210"></a>
-<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.211"></a>
-<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>import org.apache.zookeeper.KeeperException;<a name="line.213"></a>
-<span class="sourceLineNo">214</span><a name="line.214"></a>
-<span class="sourceLineNo">215</span>/**<a name="line.215"></a>
-<span class="sourceLineNo">216</span> * Implements the regionserver RPC services.<a name="line.216"></a>
-<span class="sourceLineNo">217</span> */<a name="line.217"></a>
-<span class="sourceLineNo">218</span>@InterfaceAudience.Private<a name="line.218"></a>
-<span class="sourceLineNo">219</span>@SuppressWarnings("deprecation")<a name="line.219"></a>
-<span class="sourceLineNo">220</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.221"></a>
-<span class="sourceLineNo">222</span>    ConfigurationObserver {<a name="line.222"></a>
-<span class="sourceLineNo">223</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.223"></a>
-<span class="sourceLineNo">224</span><a name="line.224"></a>
-<span class="sourceLineNo">225</span>  /** RPC scheduler to use for the region server. */<a name="line.225"></a>
-<span class="sourceLineNo">226</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    "hbase.region.server.rpc.scheduler.factory.class";<a name="line.227"></a>
-<span class="sourceLineNo">228</span><a name="line.228"></a>
-<span class="sourceLineNo">229</span>  /**<a name="line.229"></a>
-<span class="sourceLineNo">230</span>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.230"></a>
-<span class="sourceLineNo">231</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.231"></a>
-<span class="sourceLineNo">232</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.232"></a>
-<span class="sourceLineNo">233</span>   */<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  /**<a name="line.236"></a>
-<span class="sourceLineNo">237</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.237"></a>
-<span class="sourceLineNo">238</span>   */<a name="line.238"></a>
-<span class="sourceLineNo">239</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.239"></a>
-<span class="sourceLineNo">240</span><a name="line.240"></a>
-<span class="sourceLineNo">241</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.241"></a>
-<span class="sourceLineNo">242</span>  final LongAdder requestCount = new LongAdder();<a name="line.242"></a>
-<span class="sourceLineNo">243</span><a name="line.243"></a>
-<span class="sourceLineNo">244</span>  // Request counter for rpc get<a name="line.244"></a>
-<span class="sourceLineNo">245</span>  final LongAdder rpcGetRequestCount = new LongAdder();<a name="line.245"></a>
-<span class="sourceLineNo">246</span><a name="line.246"></a>
-<span class="sourceLineNo">247</span>  // Request counter for rpc scan<a name="line.247"></a>
-<span class="sourceLineNo">248</span>  final LongAdder rpcScanRequestCount = new LongAdder();<a name="line.248"></a>
-<span class="sourceLineNo">249</span><a name="line.249"></a>
-<span class="sourceLineNo">250</span>  // Request counter for rpc multi<a name="line.250"></a>
-<span class="sourceLineNo">251</span>  final LongAdder rpcMultiRequestCount = new LongAdder();<a name="line.251"></a>
-<span class="sourceLineNo">252</span><a name="line.252"></a>
-<span class="sourceLineNo">253</span>  // Request counter for rpc mutate<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  final LongAdder rpcMutateRequestCount = new LongAdder();<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  // Server to handle client requests.<a name="line.256"></a>
-<span class="sourceLineNo">257</span>  final RpcServerInterface rpcServer;<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  final InetSocketAddress isa;<a name="line.258"></a>
-<span class="sourceLineNo">259</span><a name="line.259"></a>
-<span class="sourceLineNo">260</span>  private final HRegionServer regionServer;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  private final long maxScannerResultSize;<a name="line.261"></a>
-<span class="sourceLineNo">262</span><a name="line.262"></a>
-<span class="sourceLineNo">263</span>  // The reference to the priority extraction function<a name="line.263"></a>
-<span class="sourceLineNo">264</span>  private final PriorityFunction priority;<a name="line.264"></a>
-<span class="sourceLineNo">265</span><a name="line.265"></a>
-<span class="sourceLineNo">266</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.266"></a>
-<span class="sourceLineNo">267</span>  private final ConcurrentMap&lt;String, RegionScannerHolder&gt; scanners = new ConcurrentHashMap&lt;&gt;();<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>   * The lease timeout period for client scanners (milliseconds).<a name="line.270"></a>
-<span class="sourceLineNo">271</span>   */<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private final int scannerLeaseTimeoutPeriod;<a name="line.272"></a>
+<span class="sourceLineNo">022</span>import com.google.common.cache.Cache;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import com.google.common.cache.CacheBuilder;<a name="line.23"></a>
+<span class="sourceLineNo">024</span><a name="line.24"></a>
+<span class="sourceLineNo">025</span>import java.io.FileNotFoundException;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import java.io.IOException;<a name="line.26"></a>
+<span class="sourceLineNo">027</span>import java.io.InterruptedIOException;<a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.net.BindException;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.net.InetSocketAddress;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.net.UnknownHostException;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.nio.ByteBuffer;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.ArrayList;<a name="line.32"></a>
+<span class="sourceLineNo">033</span>import java.util.Arrays;<a name="line.33"></a>
+<span class="sourceLineNo">034</span>import java.util.Collections;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.HashMap;<a name="line.35"></a>
+<span class="sourceLineNo">036</span>import java.util.Iterator;<a name="line.36"></a>
+<span class="sourceLineNo">037</span>import java.util.List;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import java.util.Map;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import java.util.Map.Entry;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import java.util.NavigableMap;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import java.util.Set;<a name="line.41"></a>
+<span class="sourceLineNo">042</span>import java.util.TreeSet;<a name="line.42"></a>
+<span class="sourceLineNo">043</span>import java.util.concurrent.ConcurrentHashMap;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import java.util.concurrent.ConcurrentMap;<a name="line.44"></a>
+<span class="sourceLineNo">045</span>import java.util.concurrent.TimeUnit;<a name="line.45"></a>
+<span class="sourceLineNo">046</span>import java.util.concurrent.atomic.AtomicBoolean;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import java.util.concurrent.atomic.AtomicLong;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import java.util.concurrent.atomic.LongAdder;<a name="line.48"></a>
+<span class="sourceLineNo">049</span><a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.commons.lang.mutable.MutableObject;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.commons.logging.Log;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.commons.logging.LogFactory;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.conf.Configuration;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.fs.Path;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.hbase.ByteBufferCell;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.hbase.Cell;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.hbase.CellScannable;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.apache.hadoop.hbase.CellScanner;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.apache.hadoop.hbase.CellUtil;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.apache.hadoop.hbase.DoNotRetryIOException;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.apache.hadoop.hbase.DroppedSnapshotException;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.apache.hadoop.hbase.HBaseIOException;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.apache.hadoop.hbase.HConstants;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.apache.hadoop.hbase.HRegionInfo;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>import org.apache.hadoop.hbase.HTableDescriptor;<a name="line.65"></a>
+<span class="sourceLineNo">066</span>import org.apache.hadoop.hbase.MultiActionResultTooLarge;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import org.apache.hadoop.hbase.NotServingRegionException;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import org.apache.hadoop.hbase.ServerName;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>import org.apache.hadoop.hbase.TableName;<a name="line.69"></a>
+<span class="sourceLineNo">070</span>import org.apache.hadoop.hbase.UnknownScannerException;<a name="line.70"></a>
+<span class="sourceLineNo">071</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.71"></a>
+<span class="sourceLineNo">072</span>import org.apache.hadoop.hbase.client.Append;<a name="line.72"></a>
+<span class="sourceLineNo">073</span>import org.apache.hadoop.hbase.client.ConnectionUtils;<a name="line.73"></a>
+<span class="sourceLineNo">074</span>import org.apache.hadoop.hbase.client.Delete;<a name="line.74"></a>
+<span class="sourceLineNo">075</span>import org.apache.hadoop.hbase.client.Durability;<a name="line.75"></a>
+<span class="sourceLineNo">076</span>import org.apache.hadoop.hbase.client.Get;<a name="line.76"></a>
+<span class="sourceLineNo">077</span>import org.apache.hadoop.hbase.client.Increment;<a name="line.77"></a>
+<span class="sourceLineNo">078</span>import org.apache.hadoop.hbase.client.Mutation;<a name="line.78"></a>
+<span class="sourceLineNo">079</span>import org.apache.hadoop.hbase.client.Put;<a name="line.79"></a>
+<span class="sourceLineNo">080</span>import org.apache.hadoop.hbase.client.RegionReplicaUtil;<a name="line.80"></a>
+<span class="sourceLineNo">081</span>import org.apache.hadoop.hbase.client.Result;<a name="line.81"></a>
+<span class="sourceLineNo">082</span>import org.apache.hadoop.hbase.client.RowMutations;<a name="line.82"></a>
+<span class="sourceLineNo">083</span>import org.apache.hadoop.hbase.client.Scan;<a name="line.83"></a>
+<span class="sourceLineNo">084</span>import org.apache.hadoop.hbase.client.VersionInfoUtil;<a name="line.84"></a>
+<span class="sourceLineNo">085</span>import org.apache.hadoop.hbase.conf.ConfigurationObserver;<a name="line.85"></a>
+<span class="sourceLineNo">086</span>import org.apache.hadoop.hbase.exceptions.FailedSanityCheckException;<a name="line.86"></a>
+<span class="sourceLineNo">087</span>import org.apache.hadoop.hbase.exceptions.OutOfOrderScannerNextException;<a name="line.87"></a>
+<span class="sourceLineNo">088</span>import org.apache.hadoop.hbase.exceptions.ScannerResetException;<a name="line.88"></a>
+<span class="sourceLineNo">089</span>import org.apache.hadoop.hbase.filter.ByteArrayComparable;<a name="line.89"></a>
+<span class="sourceLineNo">090</span>import org.apache.hadoop.hbase.filter.CompareFilter.CompareOp;<a name="line.90"></a>
+<span class="sourceLineNo">091</span>import org.apache.hadoop.hbase.ipc.HBaseRPCErrorHandler;<a name="line.91"></a>
+<span class="sourceLineNo">092</span>import org.apache.hadoop.hbase.ipc.HBaseRpcController;<a name="line.92"></a>
+<span class="sourceLineNo">093</span>import org.apache.hadoop.hbase.ipc.PriorityFunction;<a name="line.93"></a>
+<span class="sourceLineNo">094</span>import org.apache.hadoop.hbase.ipc.QosPriority;<a name="line.94"></a>
+<span class="sourceLineNo">095</span>import org.apache.hadoop.hbase.ipc.RpcCallContext;<a name="line.95"></a>
+<span class="sourceLineNo">096</span>import org.apache.hadoop.hbase.ipc.RpcCallback;<a name="line.96"></a>
+<span class="sourceLineNo">097</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.97"></a>
+<span class="sourceLineNo">098</span>import org.apache.hadoop.hbase.ipc.RpcServer.BlockingServiceAndInterface;<a name="line.98"></a>
+<span class="sourceLineNo">099</span>import org.apache.hadoop.hbase.ipc.RpcServerFactory;<a name="line.99"></a>
+<span class="sourceLineNo">100</span>import org.apache.hadoop.hbase.ipc.RpcServerInterface;<a name="line.100"></a>
+<span class="sourceLineNo">101</span>import org.apache.hadoop.hbase.ipc.ServerNotRunningYetException;<a name="line.101"></a>
+<span class="sourceLineNo">102</span>import org.apache.hadoop.hbase.ipc.ServerRpcController;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>import org.apache.hadoop.hbase.master.MasterRpcServices;<a name="line.103"></a>
+<span class="sourceLineNo">104</span>import org.apache.hadoop.hbase.quotas.ActivePolicyEnforcement;<a name="line.104"></a>
+<span class="sourceLineNo">105</span>import org.apache.hadoop.hbase.quotas.OperationQuota;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>import org.apache.hadoop.hbase.quotas.QuotaUtil;<a name="line.106"></a>
+<span class="sourceLineNo">107</span>import org.apache.hadoop.hbase.quotas.RegionServerRpcQuotaManager;<a name="line.107"></a>
+<span class="sourceLineNo">108</span>import org.apache.hadoop.hbase.quotas.RegionServerSpaceQuotaManager;<a name="line.108"></a>
+<span class="sourceLineNo">109</span>import org.apache.hadoop.hbase.quotas.SpaceQuotaSnapshot;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>import org.apache.hadoop.hbase.quotas.SpaceViolationPolicyEnforcement;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>import org.apache.hadoop.hbase.regionserver.HRegion.RegionScannerImpl;<a name="line.111"></a>
+<span class="sourceLineNo">112</span>import org.apache.hadoop.hbase.regionserver.Leases.Lease;<a name="line.112"></a>
+<span class="sourceLineNo">113</span>import org.apache.hadoop.hbase.regionserver.Leases.LeaseStillHeldException;<a name="line.113"></a>
+<span class="sourceLineNo">114</span>import org.apache.hadoop.hbase.regionserver.Region.Operation;<a name="line.114"></a>
+<span class="sourceLineNo">115</span>import org.apache.hadoop.hbase.regionserver.ScannerContext.LimitScope;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>import org.apache.hadoop.hbase.regionserver.handler.OpenMetaHandler;<a name="line.116"></a>
+<span class="sourceLineNo">117</span>import org.apache.hadoop.hbase.regionserver.handler.OpenPriorityRegionHandler;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>import org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler;<a name="line.118"></a>
+<span class="sourceLineNo">119</span>import org.apache.hadoop.hbase.regionserver.wal.WALEdit;<a name="line.119"></a>
+<span class="sourceLineNo">120</span>import org.apache.hadoop.hbase.security.Superusers;<a name="line.120"></a>
+<span class="sourceLineNo">121</span>import org.apache.hadoop.hbase.security.User;<a name="line.121"></a>
+<span class="sourceLineNo">122</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ByteString;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.Message;<a name="line.123"></a>
+<span class="sourceLineNo">124</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.RpcController;<a name="line.124"></a>
+<span class="sourceLineNo">125</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.ServiceException;<a name="line.125"></a>
+<span class="sourceLineNo">126</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.TextFormat;<a name="line.126"></a>
+<span class="sourceLineNo">127</span>import org.apache.hadoop.hbase.shaded.com.google.protobuf.UnsafeByteOperations;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>import org.apache.hadoop.hbase.shaded.protobuf.ProtobufUtil;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>import org.apache.hadoop.hbase.shaded.protobuf.RequestConverter;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>import org.apache.hadoop.hbase.shaded.protobuf.ResponseConverter;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.AdminService;<a name="line.131"></a>
+<span class="sourceLineNo">132</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesRequest;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ClearCompactionQueuesResponse;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeRequest;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionForSplitOrMergeResponse;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionRequest;<a name="line.136"></a>
+<span class="sourceLineNo">137</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CloseRegionResponse;<a name="line.137"></a>
+<span class="sourceLineNo">138</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionRequest;<a name="line.138"></a>
+<span class="sourceLineNo">139</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.CompactRegionResponse;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionRequest;<a name="line.140"></a>
+<span class="sourceLineNo">141</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.FlushRegionResponse;<a name="line.141"></a>
+<span class="sourceLineNo">142</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionRequest;<a name="line.142"></a>
+<span class="sourceLineNo">143</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetOnlineRegionResponse;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoRequest;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionInfoResponse;<a name="line.145"></a>
+<span class="sourceLineNo">146</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadRequest;<a name="line.146"></a>
+<span class="sourceLineNo">147</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetRegionLoadResponse;<a name="line.147"></a>
+<span class="sourceLineNo">148</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoRequest;<a name="line.148"></a>
+<span class="sourceLineNo">149</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetServerInfoResponse;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileRequest;<a name="line.150"></a>
+<span class="sourceLineNo">151</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.GetStoreFileResponse;<a name="line.151"></a>
+<span class="sourceLineNo">152</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest;<a name="line.152"></a>
+<span class="sourceLineNo">153</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionRequest.RegionOpenInfo;<a name="line.153"></a>
+<span class="sourceLineNo">154</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse;<a name="line.154"></a>
+<span class="sourceLineNo">155</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.OpenRegionResponse.RegionOpeningState;<a name="line.155"></a>
+<span class="sourceLineNo">156</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryRequest;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.ReplicateWALEntryResponse;<a name="line.157"></a>
+<span class="sourceLineNo">158</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterRequest;<a name="line.158"></a>
+<span class="sourceLineNo">159</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.RollWALWriterResponse;<a name="line.159"></a>
+<span class="sourceLineNo">160</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionRequest;<a name="line.160"></a>
+<span class="sourceLineNo">161</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.SplitRegionResponse;<a name="line.161"></a>
+<span class="sourceLineNo">162</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerRequest;<a name="line.162"></a>
+<span class="sourceLineNo">163</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.StopServerResponse;<a name="line.163"></a>
+<span class="sourceLineNo">164</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationRequest;<a name="line.164"></a>
+<span class="sourceLineNo">165</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateConfigurationResponse;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesRequest;<a name="line.166"></a>
+<span class="sourceLineNo">167</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.UpdateFavoredNodesResponse;<a name="line.167"></a>
+<span class="sourceLineNo">168</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WALEntry;<a name="line.168"></a>
+<span class="sourceLineNo">169</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionRequest;<a name="line.169"></a>
+<span class="sourceLineNo">170</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.AdminProtos.WarmupRegionResponse;<a name="line.170"></a>
+<span class="sourceLineNo">171</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos;<a name="line.171"></a>
+<span class="sourceLineNo">172</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Action;<a name="line.172"></a>
+<span class="sourceLineNo">173</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest;<a name="line.173"></a>
+<span class="sourceLineNo">174</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileRequest.FamilyPath;<a name="line.174"></a>
+<span class="sourceLineNo">175</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.BulkLoadHFileResponse;<a name="line.175"></a>
+<span class="sourceLineNo">176</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadRequest;<a name="line.176"></a>
+<span class="sourceLineNo">177</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CleanupBulkLoadResponse;<a name="line.177"></a>
+<span class="sourceLineNo">178</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ClientService;<a name="line.178"></a>
+<span class="sourceLineNo">179</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.Condition;<a name="line.179"></a>
+<span class="sourceLineNo">180</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceRequest;<a name="line.180"></a>
+<span class="sourceLineNo">181</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.CoprocessorServiceResponse;<a name="line.181"></a>
+<span class="sourceLineNo">182</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetRequest;<a name="line.182"></a>
+<span class="sourceLineNo">183</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.GetResponse;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRegionLoadStats;<a name="line.184"></a>
+<span class="sourceLineNo">185</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiRequest;<a name="line.185"></a>
+<span class="sourceLineNo">186</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MultiResponse;<a name="line.186"></a>
+<span class="sourceLineNo">187</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateRequest;<a name="line.187"></a>
+<span class="sourceLineNo">188</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutateResponse;<a name="line.188"></a>
+<span class="sourceLineNo">189</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto;<a name="line.189"></a>
+<span class="sourceLineNo">190</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.MutationProto.MutationType;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadRequest;<a name="line.191"></a>
+<span class="sourceLineNo">192</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.PrepareBulkLoadResponse;<a name="line.192"></a>
+<span class="sourceLineNo">193</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionAction;<a name="line.193"></a>
+<span class="sourceLineNo">194</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.RegionActionResult;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ResultOrException;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanRequest;<a name="line.196"></a>
+<span class="sourceLineNo">197</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClientProtos.ScanResponse;<a name="line.197"></a>
+<span class="sourceLineNo">198</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos;<a name="line.198"></a>
+<span class="sourceLineNo">199</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.ClusterStatusProtos.RegionLoad;<a name="line.199"></a>
+<span class="sourceLineNo">200</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameBytesPair;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.NameInt64Pair;<a name="line.201"></a>
+<span class="sourceLineNo">202</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionInfo;<a name="line.202"></a>
+<span class="sourceLineNo">203</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier;<a name="line.203"></a>
+<span class="sourceLineNo">204</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.HBaseProtos.RegionSpecifier.RegionSpecifierType;<a name="line.204"></a>
+<span class="sourceLineNo">205</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.MapReduceProtos.ScanMetrics;<a name="line.205"></a>
+<span class="sourceLineNo">206</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsRequest;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.QuotaProtos.GetSpaceQuotaSnapshotsResponse.TableQuotaSnapshot;<a name="line.208"></a>
+<span class="sourceLineNo">209</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.RPCProtos.RequestHeader;<a name="line.209"></a>
+<span class="sourceLineNo">210</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.BulkLoadDescriptor;<a name="line.210"></a>
+<span class="sourceLineNo">211</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.CompactionDescriptor;<a name="line.211"></a>
+<span class="sourceLineNo">212</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.FlushDescriptor;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>import org.apache.hadoop.hbase.shaded.protobuf.generated.WALProtos.RegionEventDescriptor;<a name="line.213"></a>
+<span class="sourceLineNo">214</span>import org.apache.hadoop.hbase.util.Bytes;<a name="line.214"></a>
+<span class="sourceLineNo">215</span>import org.apache.hadoop.hbase.util.DNS;<a name="line.215"></a>
+<span class="sourceLineNo">216</span>import org.apache.hadoop.hbase.util.EnvironmentEdgeManager;<a name="line.216"></a>
+<span class="sourceLineNo">217</span>import org.apache.hadoop.hbase.util.Pair;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>import org.apache.hadoop.hbase.util.ServerRegionReplicaUtil;<a name="line.218"></a>
+<span class="sourceLineNo">219</span>import org.apache.hadoop.hbase.util.Strings;<a name="line.219"></a>
+<span class="sourceLineNo">220</span>import org.apache.hadoop.hbase.wal.WAL;<a name="line.220"></a>
+<span class="sourceLineNo">221</span>import org.apache.hadoop.hbase.wal.WALKey;<a name="line.221"></a>
+<span class="sourceLineNo">222</span>import org.apache.hadoop.hbase.wal.WALSplitter;<a name="line.222"></a>
+<span class="sourceLineNo">223</span>import org.apache.hadoop.hbase.zookeeper.ZKSplitLog;<a name="line.223"></a>
+<span class="sourceLineNo">224</span>import org.apache.zookeeper.KeeperException;<a name="line.224"></a>
+<span class="sourceLineNo">225</span><a name="line.225"></a>
+<span class="sourceLineNo">226</span>/**<a name="line.226"></a>
+<span class="sourceLineNo">227</span> * Implements the regionserver RPC services.<a name="line.227"></a>
+<span class="sourceLineNo">228</span> */<a name="line.228"></a>
+<span class="sourceLineNo">229</span>@InterfaceAudience.Private<a name="line.229"></a>
+<span class="sourceLineNo">230</span>@SuppressWarnings("deprecation")<a name="line.230"></a>
+<span class="sourceLineNo">231</span>public class RSRpcServices implements HBaseRPCErrorHandler,<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    AdminService.BlockingInterface, ClientService.BlockingInterface, PriorityFunction,<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    ConfigurationObserver {<a name="line.233"></a>
+<span class="sourceLineNo">234</span>  protected static final Log LOG = LogFactory.getLog(RSRpcServices.class);<a name="line.234"></a>
+<span class="sourceLineNo">235</span><a name="line.235"></a>
+<span class="sourceLineNo">236</span>  /** RPC scheduler to use for the region server. */<a name="line.236"></a>
+<span class="sourceLineNo">237</span>  public static final String REGION_SERVER_RPC_SCHEDULER_FACTORY_CLASS =<a name="line.237"></a>
+<span class="sourceLineNo">238</span>    "hbase.region.server.rpc.scheduler.factory.class";<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>   * Minimum allowable time limit delta (in milliseconds) that can be enforced during scans. This<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   * configuration exists to prevent the scenario where a time limit is specified to be so<a name="line.242"></a>
+<span class="sourceLineNo">243</span>   * restrictive that the time limit is reached immediately (before any cells are scanned).<a name="line.243"></a>
+<span class="sourceLineNo">244</span>   */<a name="line.244"></a>
+<span class="sourceLineNo">245</span>  private static final String REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA =<a name="line.245"></a>
+<span class="sourceLineNo">246</span>      "hbase.region.server.rpc.minimum.scan.time.limit.delta";<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  /**<a name="line.247"></a>
+<span class="sourceLineNo">248</span>   * Default value of {@link RSRpcServices#REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA}<a name="line.248"></a>
+<span class="sourceLineNo">249</span>   */<a name="line.249"></a>
+<span class="sourceLineNo">250</span>  private static final long DEFAULT_REGION_SERVER_RPC_MINIMUM_SCAN_TIME_LIMIT_DELTA = 10;<a name="line.250"></a>
+<span class="sourceLineNo">251</span><a name="line.251"></a>
+<span class="sourceLineNo">252</span>  // Request counter. (Includes requests that are not serviced by regions.)<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  final LongAdder requestCount = new LongAdder();<a name="line.253"></a>
+<span class="sourceLineNo">254</span><a name="line.254"></a>
+<span class="sourceLineNo">255</span>  // Request counter for rpc get<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  final LongAdder rpcGetRequestCount = new LongAdder();<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  // Request counter for rpc scan<a name="line.258"></a>
+<span class="sourceLineNo">259</span>  final LongAdder rpcScanRequestCount = new LongAdder();<a name="line.259"></a>
+<span class="sourceLineNo">260</span><a name="line.260"></a>
+<span class="sourceLineNo">261</span>  // Request counter for rpc multi<a name="line.261"></a>
+<span class="sourceLineNo">262</span>  final LongAdder rpcMultiRequestCount = new LongAdder();<a name="line.262"></a>
+<span class="sourceLineNo">263</span><a name="line.263"></a>
+<span class="sourceLineNo">264</span>  // Request counter for rpc mutate<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  final LongAdder rpcMutateRequestCount = new LongAdder();<a name="line.265"></a>
+<span class="sourceLineNo">266</span><a name="line.266"></a>
+<span class="sourceLineNo">267</span>  // Server to handle client requests.<a name="line.267"></a>
+<span class="sourceLineNo">268</span>  final RpcServerInterface rpcServer;<a name="line.268"></a>
+<span class="sourceLineNo">269</span>  final InetSocketAddress isa;<a name="line.269"></a>
+<span class="sourceLineNo">270</span><a name="line.270"></a>
+<span class="sourceLineNo">271</span>  private final HRegionServer regionServer;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  private final long maxScannerResultSize;<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>   * The RPC timeout period (milliseconds)<a name="line.275"></a>
-<span class="sourceLineNo">276</span>   */<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private final int rpcTimeout;<a name="line.277"></a>
-<span class="sourceLineNo">278</span><a name="line.278"></a>
-<span class="sourceLineNo">279</span>  /**<a name="line.279"></a>
-<span class="sourceLineNo">280</span>   * The minimum allowable delta to use for the scan limit<a name="line.280"></a>
-<span class="sourceLineNo">281</span>   */<a name="line.281"></a>
-<span class="sourceLineNo">282</span>  private final long minimumScanTimeLimitDelta;<a name="line.282"></a>
-<span class="sourceLineNo">283</span><a name="line.283"></a>
-<span class="sourceLineNo">284</span>  final AtomicBoolean clearCompactionQueues = new AtomicBoolean(false);<a name="line.284"></a>
-<span class="sourceLineNo">285</span><a name="line.285"></a>
-<span class="sourceLineNo">286</span>  /**<a name="line.286"></a>
-<span class="sourceLineNo">287</span>   * An Rpc callback for closing a RegionScanner.<a name="line.287"></a>
-<span class="sourceLineNo">288</span>   */<a name="line.288"></a>
-<span class="sourceLineNo">289</span>  private static final class RegionScannerCloseCallBack implements RpcCallback {<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>    private final RegionScanner scanner;<a name="line.291"></a>
+<span class="sourceLineNo">274</span>  // The reference to the priority extraction function<a name="line.274"></a>
+<span class="sourceLineNo">275</span>  private final PriorityFunction priority;<a name="line.275"></a>
+<span class="sourceLineNo">276</span><a name="line.276"></a>
+<span class="sourceLineNo">277</span>  private final AtomicLong scannerIdGen = new AtomicLong(0L);<a name="line.277"></a>
+<span class="sourceLineNo">278</span>  private final ConcurrentMap&lt;String, RegionScannerHolder&gt; scanners = new ConcurrentHashMap&lt;&gt;();<a name="line.278"></a>
+<span class="sourceLineNo">279</span>  // Hold the name of a closed scanner for a while. This is used to keep compatible for old clients<a name="line.279"></a>
+<span class="sourceLineNo">280</span>  // which may send next or close request to a region scanner which has already been exhausted. The<a name="line.280"></a>
+<span class="sourceLineNo">281</span>  // entries will be removed automatically after scannerLeaseTimeoutPeriod.<a name="line.281"></a>
+<span class="sourceLineNo">282</span>  private final Cache&lt;String, String&gt; closedScanners;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  /**<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * The lease timeout period for client scanners (milliseconds).<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   */<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  private final int scannerLeaseTimeoutPeriod;<a name="line.286"></a>
+<span class="sourceLineNo">287</span><a name="line.287"></a>
+<span class="sourceLineNo">288</span>  /**<a name="line.288"></a>
+<span class="sourceLineNo">289</span>   * The RPC timeout period (milliseconds)<a name="line.289"></a>
+<span class="sourceLineNo">290</span>   */<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  private final int rpcTimeout;<a name="line.291"></a>
 <span class="sourceLineNo">292</span><a name="line.292"></a>
-<span class="sourceLineNo">293</span>    public RegionScannerCloseCallBack(RegionScanner scanner) {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>      this.scanner = scanner;<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>    @Override<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    public void run() throws IOException {<a name="line.298"></a>
-<span class="sourceLineNo">299</span>      this.scanner.close();<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><a name="line.302"></a>
-<span class="sourceLineNo">303</span>  /**<a name="line.303"></a>
-<span class="sourceLineNo">304</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.304"></a>
-<span class="sourceLineNo">305</span>   */<a name="line.305"></a>
-<span class="sourceLineNo">306</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.306"></a>
-<span class="sourceLineNo">307</span><a name="line.307"></a>
-<span class="sourceLineNo">308</span>    private final String scannerName;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    private final RegionScanner scanner;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    private final Lease lease;<a name="line.310"></a>
-<span class="sourceLineNo">311</span><a name="line.311"></a>
-<span class="sourceLineNo">312</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>      this.scannerName = scannerName;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      this.scanner = scanner;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>      this.lease = lease;<a name="line.315"></a>
-<span class="sourceLineNo">316</span>    }<a name="line.316"></a>
-<span class="sourceLineNo">317</span><a name="line.317"></a>
-<span class="sourceLineNo">318</span>    @Override<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    public void run() throws IOException {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>      this.scanner.shipped();<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.321"></a>
-<span class="sourceLineNo">322</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      if (scanners.containsKey(scannerName)) {<a name="line.323"></a>
-<span class="sourceLineNo">324</span>        if (lease != null) regionServer.leases.addLease(lease);<a name="line.324"></a>
-<span class="sourceLineNo">325</span>      }<a name="line.325"></a>
-<span class="sourceLineNo">326</span>    }<a name="line.326"></a>
-<span class="sourceLineNo">327</span>  }<a name="line.327"></a>
-<span class="sourceLineNo">328</span><a name="line.328"></a>
-<span class="sourceLineNo">329</span>  /**<a name="line.329"></a>
-<span class="sourceLineNo">330</span>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.330"></a>
-<span class="sourceLineNo">331</span>   * completion of multiGets.<a name="line.331"></a>
-<span class="sourceLineNo">332</span>   */<a name="line.332"></a>
-<span class="sourceLineNo">333</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;&gt;();<a name="line.334"></a>
-<span class="sourceLineNo">335</span><a name="line.335"></a>
-<span class="sourceLineNo">336</span>    public void addScanner(RegionScanner scanner) {<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      this.scanners.add(scanner);<a name="line.337"></a>
-<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
-<span class="sourceLineNo">339</span><a name="line.339"></a>
-<span class="sourceLineNo">340</span>    @Override<a name="line.340"></a>
-<span class="sourceLineNo">341</span>    public void run() {<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      for (RegionScanner scanner : scanners) {<a name="line.342"></a>
-<span class="sourceLineNo">343</span>        try {<a name="line.343"></a>
-<span class="sourceLineNo">344</span>          scanner.close();<a name="line.344"></a>
-<span class="sourceLineNo">345</span>        } catch (IOException e) {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>          LOG.error("Exception while closing the scanner " + scanner, e);<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>    }<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>  /**<a name="line.352"></a>
-<span class="sourceLineNo">353</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.353"></a>
-<span class="sourceLineNo">354</span>   */<a name="line.354"></a>
-<span class="sourceLineNo">355</span>  private static final class RegionScannerHolder {<a name="line.355"></a>
-<span class="sourceLineNo">356</span><a name="line.356"></a>
-<span class="sourceLineNo">357</span>    private final AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.357"></a>
-<span class="sourceLineNo">358</span>    private final String scannerName;<a name="line.358"></a>
-<span class="sourceLineNo">359</span>    private final RegionScanner s;<a name="line.359"></a>
-<span class="sourceLineNo">360</span>    private final Region r;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>    private final RpcCallback closeCallBack;<a name="line.361"></a>
-<span class="sourceLineNo">362</span>    private final RpcCallback shippedCallback;<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    private byte[] rowOfLastPartialResult;<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>    public RegionScannerHolder(String scannerName, RegionScanner s, Region r,<a name="line.365"></a>
-<span class="sourceLineNo">366</span>        RpcCallback closeCallBack, RpcCallback shippedCallback) {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      this.scannerName = scannerName;<a name="line.367"></a>
-<span class="sourceLineNo">368</span>      this.s = s;<a name="line.368"></a>
-<span class="sourceLineNo">369</span>      this.r = r;<a name="line.369"></a>
-<span class="sourceLineNo">370</span>      this.closeCallBack = closeCallBack;<a name="line.370"></a>
-<span class="sourceLineNo">371</span>      this.shippedCallback = shippedCallback;<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>    public long getNextCallSeq() {<a name="line.374"></a>
-<span class="sourceLineNo">375</span>      return nextCallSeq.get();<a name="line.375"></a>
-<span class="sourceLineNo">376</span>    }<a name="line.376"></a>
-<span class="sourceLineNo">377</span><a name="line.377"></a>
-<span class="sourceLineNo">378</span>    public boolean incNextCallSeq(long currentSeq) {<a name="line.378"></a>
-<span class="sourceLineNo">379</span>      // Use CAS to prevent multiple scan request running on the same scanner.<a name="line.379"></a>
-<span class="sourceLineNo">380</span>      return nextCallSeq.compareAndSet(currentSeq, currentSeq + 1);<a name="line.380"></a>
-<span class="sourceLineNo">381</span>    }<a name="line.381"></a>
-<span class="sourceLineNo">382</span>  }<a name="line.382"></a>
-<span class="sourceLineNo">383</span><a name="line.383"></a>
-<span class="sourceLineNo">384</span>  /**<a name="line.384"></a>
-<span class="sourceLineNo">385</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line.385"></a>
-<span class="sourceLineNo">386</span>   * closed<a name="line.386"></a>
-<span class="sourceLineNo">387</span>   */<a name="line.387"></a>
-<span class="sourceLineNo">388</span>  private class ScannerListener implements LeaseListener {<a name="line.388"></a>
-<span class="sourceLineNo">389</span>    private final String scannerName;<a name="line.389"></a>
-<span class="sourceLineNo">390</span><a name="line.390"></a>
-<span class="sourceLineNo">391</span>    ScannerListener(final String n) {<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      this.scannerName = n;<a name="line.392"></a>
-<span class="sourceLineNo">393</span>    }<a name="line.393"></a>
-<span class="sourceLineNo">394</span><a name="line.394"></a>
-<span class="sourceLineNo">395</span>    @Override<a name="line.395"></a>
-<span class="sourceLineNo">396</span>    public void leaseExpired() {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      RegionScannerHolder rsh = scanners.remove(this.scannerName);<a name="line.397"></a>
-<span class="sourceLineNo">398</span>      if (rsh != null) {<a name="line.398"></a>
-<span class="sourceLineNo">399</span>        RegionScanner s = rsh.s;<a name="line.399"></a>
-<span class="sourceLineNo">400</span>        LOG.info("Scanner " + this.scannerName + " lease expired on region "<a name="line.400"></a>
-<span class="sourceLineNo">401</span>          + s.getRegionInfo().getRegionNameAsString());<a name="line.401"></a>
-<span class="sourceLineNo">402</span>        Region region = null;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>        try {<a name="line.403"></a>
-<span class="sourceLineNo">404</span>          region = regionServer.getRegion(s.getRegionInfo().getRegionName());<a name="line.404"></a>
-<span class="sourceLineNo">405</span>          if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>            region.getCoprocessorHost().preScannerClose(s);<a name="line.406"></a>
-<span class="sourceLineNo">407</span>          }<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        } catch (IOException e) {<a name="line.408"></a>
-<span class="sourceLineNo">409</span>          LOG.error("Closing scanner for " + s.getRegionInfo().getRegionNameAsString(), e);<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        } finally {<a name="line.410"></a>
-<span class="sourceLineNo">411</span>          try {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>            s.close();<a name="line.412"></a>
-<span class="sourceLineNo">413</span>            if (region != null &amp;&amp; region.getCoprocessorHost() != null) {<a name="line.413"></a>
-<span class="sourceLineNo">414</span>              region.getCoprocessorHost().postScannerClose(s);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>            }<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          } catch (IOException e) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>            LOG.error("Closing scanner for " + s.getRegionInfo().getRegionNameAsString(), e);<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>      } else {<a name="line.420"></a>
-<span class="sourceLineNo">421</span>        LOG.warn("Scanner " + this.scannerName + " lease expired, but no related" +<a name="line.421"></a>
-<span class="sourceLineNo">422</span>          " scanner found, hence no chance to close that related scanner!");<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>  }<a name="line.425"></a>
-<span class="sourceLineNo">426</span><a name="line.426"></a>
-<span class="sourceLineNo">427</span>  private static ResultOrException getResultOrException(final ClientProtos.Result r,<a name="line.427"></a>
-<span class="sourceLineNo">428</span>                                                        final int index){<a name="line.428"></a>
-<span class="sourceLineNo">429</span>    return getResultOrException(ResponseConverter.buildActionResult(r), index);<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>  private static ResultOrException getResultOrException(final Exception e, final int index) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>    return getResultOrException(ResponseConverter.buildActionResult(e), index);<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>  private static ResultOrException getResultOrException(<a name="line.436"></a>
-<span class="sourceLineNo">437</span>      final ResultOrException.Builder builder, final int index) {<a name="line.437"></a>
-<span class="sourceLineNo">438</span>    return builder.setIndex(index).build();<a name="line.438"></a>
+<span class="sourceLineNo">293</span>  /**<a name="line.293"></a>
+<span class="sourceLineNo">294</span>   * The minimum allowable delta to use for the scan limit<a name="line.294"></a>
+<span class="sourceLineNo">295</span>   */<a name="line.295"></a>
+<span class="sourceLineNo">296</span>  private final long minimumScanTimeLimitDelta;<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span>  final AtomicBoolean clearCompactionQueues = new AtomicBoolean(false);<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>   * An Rpc callback for closing a RegionScanner.<a name="line.301"></a>
+<span class="sourceLineNo">302</span>   */<a name="line.302"></a>
+<span class="sourceLineNo">303</span>  private static final class RegionScannerCloseCallBack implements RpcCallback {<a name="line.303"></a>
+<span class="sourceLineNo">304</span><a name="line.304"></a>
+<span class="sourceLineNo">305</span>    private final RegionScanner scanner;<a name="line.305"></a>
+<span class="sourceLineNo">306</span><a name="line.306"></a>
+<span class="sourceLineNo">307</span>    public RegionScannerCloseCallBack(RegionScanner scanner) {<a name="line.307"></a>
+<span class="sourceLineNo">308</span>      this.scanner = scanner;<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    }<a name="line.309"></a>
+<span class="sourceLineNo">310</span><a name="line.310"></a>
+<span class="sourceLineNo">311</span>    @Override<a name="line.311"></a>
+<span class="sourceLineNo">312</span>    public void run() throws IOException {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>      this.scanner.close();<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><a name="line.316"></a>
+<span class="sourceLineNo">317</span>  /**<a name="line.317"></a>
+<span class="sourceLineNo">318</span>   * An Rpc callback for doing shipped() call on a RegionScanner.<a name="line.318"></a>
+<span class="sourceLineNo">319</span>   */<a name="line.319"></a>
+<span class="sourceLineNo">320</span>  private class RegionScannerShippedCallBack implements RpcCallback {<a name="line.320"></a>
+<span class="sourceLineNo">321</span><a name="line.321"></a>
+<span class="sourceLineNo">322</span>    private final String scannerName;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>    private final RegionScanner scanner;<a name="line.323"></a>
+<span class="sourceLineNo">324</span>    private final Lease lease;<a name="line.324"></a>
+<span class="sourceLineNo">325</span><a name="line.325"></a>
+<span class="sourceLineNo">326</span>    public RegionScannerShippedCallBack(String scannerName, RegionScanner scanner, Lease lease) {<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      this.scannerName = scannerName;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>      this.scanner = scanner;<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      this.lease = lease;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>    }<a name="line.330"></a>
+<span class="sourceLineNo">331</span><a name="line.331"></a>
+<span class="sourceLineNo">332</span>    @Override<a name="line.332"></a>
+<span class="sourceLineNo">333</span>    public void run() throws IOException {<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      this.scanner.shipped();<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      // We're done. On way out re-add the above removed lease. The lease was temp removed for this<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      // Rpc call and we are at end of the call now. Time to add it back.<a name="line.336"></a>
+<span class="sourceLineNo">337</span>      if (scanners.containsKey(scannerName)) {<a name="line.337"></a>
+<span class="sourceLineNo">338</span>        if (lease != null) regionServer.leases.addLease(lease);<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>  }<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>   * An RpcCallBack that creates a list of scanners that needs to perform callBack operation on<a name="line.344"></a>
+<span class="sourceLineNo">345</span>   * completion of multiGets.<a name="line.345"></a>
+<span class="sourceLineNo">346</span>   */<a name="line.346"></a>
+<span class="sourceLineNo">347</span>   static class RegionScannersCloseCallBack implements RpcCallback {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>    private final List&lt;RegionScanner&gt; scanners = new ArrayList&lt;&gt;();<a name="line.348"></a>
+<span class="sourceLineNo">349</span><a name="line.349"></a>
+<span class="sourceLineNo">350</span>    public void addScanner(RegionScanner scanner) {<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      this.scanners.add(scanner);<a name="line.351"></a>
+<span class="sourceLineNo">352</span>    }<a name="line.352"></a>
+<span class="sourceLineNo">353</span><a name="line.353"></a>
+<span class="sourceLineNo">354</span>    @Override<a name="line.354"></a>
+<span class="sourceLineNo">355</span>    public void run() {<a name="line.355"></a>
+<span class="sourceLineNo">356</span>      for (RegionScanner scanner : scanners) {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>        try {<a name="line.357"></a>
+<span class="sourceLineNo">358</span>          scanner.close();<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        } catch (IOException e) {<a name="line.359"></a>
+<span class="sourceLineNo">360</span>          LOG.error("Exception while closing the scanner " + scanner, e);<a name="line.360"></a>
+<span class="sourceLineNo">361</span>        }<a name="line.361"></a>
+<span class="sourceLineNo">362</span>      }<a name="line.362"></a>
+<span class="sourceLineNo">363</span>    }<a name="line.363"></a>
+<span class="sourceLineNo">364</span>  }<a name="line.364"></a>
+<span class="sourceLineNo">365</span><a name="line.365"></a>
+<span class="sourceLineNo">366</span>  /**<a name="line.366"></a>
+<span class="sourceLineNo">367</span>   * Holder class which holds the RegionScanner, nextCallSeq and RpcCallbacks together.<a name="line.367"></a>
+<span class="sourceLineNo">368</span>   */<a name="line.368"></a>
+<span class="sourceLineNo">369</span>  private static final class RegionScannerHolder {<a name="line.369"></a>
+<span class="sourceLineNo">370</span><a name="line.370"></a>
+<span class="sourceLineNo">371</span>    private final AtomicLong nextCallSeq = new AtomicLong(0);<a name="line.371"></a>
+<span class="sourceLineNo">372</span>    private final String scannerName;<a name="line.372"></a>
+<span class="sourceLineNo">373</span>    private final RegionScanner s;<a name="line.373"></a>
+<span class="sourceLineNo">374</span>    private final Region r;<a name="line.374"></a>
+<span class="sourceLineNo">375</span>    private final RpcCallback closeCallBack;<a name="line.375"></a>
+<span class="sourceLineNo">376</span>    private final RpcCallback shippedCallback;<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    private byte[] rowOfLastPartialResult;<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    public RegionScannerHolder(String scannerName, RegionScanner s, Region r,<a name="line.379"></a>
+<span class="sourceLineNo">380</span>        RpcCallback closeCallBack, RpcCallback shippedCallback) {<a name="line.380"></a>
+<span class="sourceLineNo">381</span>      this.scannerName = scannerName;<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      this.s = s;<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      this.r = r;<a name="line.383"></a>
+<span class="sourceLineNo">384</span>      this.closeCallBack = closeCallBack;<a name="line.384"></a>
+<span class="sourceLineNo">385</span>      this.shippedCallback = shippedCallback;<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>    public long getNextCallSeq() {<a name="line.388"></a>
+<span class="sourceLineNo">389</span>      return nextCallSeq.get();<a name="line.389"></a>
+<span class="sourceLineNo">390</span>    }<a name="line.390"></a>
+<span class="sourceLineNo">391</span><a name="line.391"></a>
+<span class="sourceLineNo">392</span>    public boolean incNextCallSeq(long currentSeq) {<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      // Use CAS to prevent multiple scan request running on the same scanner.<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      return nextCallSeq.compareAndSet(currentSeq, currentSeq + 1);<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><a name="line.397"></a>
+<span class="sourceLineNo">398</span>  /**<a name="line.398"></a>
+<span class="sourceLineNo">399</span>   * Instantiated as a scanner lease. If the lease times out, the scanner is<a name="line

<TRUNCATED>