You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hbase.apache.org by mi...@apache.org on 2016/01/27 17:39:48 UTC

[01/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Repository: hbase-site
Updated Branches:
  refs/heads/asf-site c221e35e7 -> 6d411951d


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/xref/org/apache/hadoop/hbase/ipc/package-frame.html
----------------------------------------------------------------------
diff --git a/xref/org/apache/hadoop/hbase/ipc/package-frame.html b/xref/org/apache/hadoop/hbase/ipc/package-frame.html
index 969cb23..0fbd00d 100644
--- a/xref/org/apache/hadoop/hbase/ipc/package-frame.html
+++ b/xref/org/apache/hadoop/hbase/ipc/package-frame.html
@@ -91,9 +91,6 @@
             	<a href="CoprocessorRpcChannel.html" target="classFrame">CoprocessorRpcChannel</a>
           	</li>
           	          	<li>
-            	<a href="Delayable.html" target="classFrame">Delayable</a>
-          	</li>
-          	          	<li>
             	<a href="DelegatingPayloadCarryingRpcController.html" target="classFrame">DelegatingPayloadCarryingRpcController</a>
           	</li>
           	          	<li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/xref/org/apache/hadoop/hbase/ipc/package-summary.html
----------------------------------------------------------------------
diff --git a/xref/org/apache/hadoop/hbase/ipc/package-summary.html b/xref/org/apache/hadoop/hbase/ipc/package-summary.html
index 56c26da..4e18dde 100644
--- a/xref/org/apache/hadoop/hbase/ipc/package-summary.html
+++ b/xref/org/apache/hadoop/hbase/ipc/package-summary.html
@@ -162,11 +162,6 @@
             	</tr>
 				            	<tr>
               		<td>
-                		<a href="Delayable.html" target="classFrame">Delayable</a>
-              		</td>
-            	</tr>
-				            	<tr>
-              		<td>
                 		<a href="DelegatingPayloadCarryingRpcController.html" target="classFrame">DelegatingPayloadCarryingRpcController</a>
               		</td>
             	</tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/xref/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
----------------------------------------------------------------------
diff --git a/xref/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html b/xref/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
index 36a3665..8db5572 100644
--- a/xref/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
+++ b/xref/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
@@ -69,15 +69,15 @@
 <a class="jxr_linenumber" name="59" href="#59">59</a>    requiredArguments = {
 <a class="jxr_linenumber" name="60" href="#60">60</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"master"</span>, type = <span class="jxr_string">"HMaster"</span>)},
 <a class="jxr_linenumber" name="61" href="#61">61</a>    optionalArguments = {
-<a class="jxr_linenumber" name="62" href="#62">62</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"frags"</span>, type = <span class="jxr_string">"Map&lt;String,Integer&gt;"</span>),
-<a class="jxr_linenumber" name="63" href="#63">63</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"metaLocation"</span>, type = <span class="jxr_string">"ServerName"</span>),
-<a class="jxr_linenumber" name="64" href="#64">64</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"assignmentManager"</span>, type = <span class="jxr_string">"AssignmentManager"</span>),
+<a class="jxr_linenumber" name="62" href="#62">62</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"deadServers"</span>, type = <span class="jxr_string">"Set&lt;ServerName&gt;"</span>),
+<a class="jxr_linenumber" name="63" href="#63">63</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"filter"</span>, type = <span class="jxr_string">"String"</span>),
+<a class="jxr_linenumber" name="64" href="#64">64</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"catalogJanitorEnabled"</span>, type = <span class="jxr_string">"boolean"</span>),
 <a class="jxr_linenumber" name="65" href="#65">65</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"serverManager"</span>, type = <span class="jxr_string">"ServerManager"</span>),
-<a class="jxr_linenumber" name="66" href="#66">66</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"catalogJanitorEnabled"</span>, type = <span class="jxr_string">"boolean"</span>),
-<a class="jxr_linenumber" name="67" href="#67">67</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"format"</span>, type = <span class="jxr_string">"String"</span>),
-<a class="jxr_linenumber" name="68" href="#68">68</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"filter"</span>, type = <span class="jxr_string">"String"</span>),
+<a class="jxr_linenumber" name="66" href="#66">66</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"format"</span>, type = <span class="jxr_string">"String"</span>),
+<a class="jxr_linenumber" name="67" href="#67">67</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"metaLocation"</span>, type = <span class="jxr_string">"ServerName"</span>),
+<a class="jxr_linenumber" name="68" href="#68">68</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"assignmentManager"</span>, type = <span class="jxr_string">"AssignmentManager"</span>),
 <a class="jxr_linenumber" name="69" href="#69">69</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"servers"</span>, type = <span class="jxr_string">"List&lt;ServerName&gt;"</span>),
-<a class="jxr_linenumber" name="70" href="#70">70</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"deadServers"</span>, type = <span class="jxr_string">"Set&lt;ServerName&gt;"</span>)})
+<a class="jxr_linenumber" name="70" href="#70">70</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"frags"</span>, type = <span class="jxr_string">"Map&lt;String,Integer&gt;"</span>)})
 <a class="jxr_linenumber" name="71" href="#71">71</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html">MasterStatusTmpl</a>
 <a class="jxr_linenumber" name="72" href="#72">72</a>    <strong class="jxr_keyword">extends</strong> org.jamon.AbstractTemplateProxy
 <a class="jxr_linenumber" name="73" href="#73">73</a>  {
@@ -118,57 +118,57 @@
 <a class="jxr_linenumber" name="108" href="#108">108</a>       <strong class="jxr_keyword">return</strong> m_master;
 <a class="jxr_linenumber" name="109" href="#109">109</a>     }
 <a class="jxr_linenumber" name="110" href="#110">110</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html">HMaster</a> m_master;
-<a class="jxr_linenumber" name="111" href="#111">111</a>     <em class="jxr_comment">// 21, 1</em>
-<a class="jxr_linenumber" name="112" href="#112">112</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setFrags(Map&lt;String,Integer&gt; frags)
+<a class="jxr_linenumber" name="111" href="#111">111</a>     <em class="jxr_comment">// 24, 1</em>
+<a class="jxr_linenumber" name="112" href="#112">112</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setDeadServers(Set&lt;ServerName&gt; deadServers)
 <a class="jxr_linenumber" name="113" href="#113">113</a>     {
-<a class="jxr_linenumber" name="114" href="#114">114</a>       <em class="jxr_comment">// 21, 1</em>
-<a class="jxr_linenumber" name="115" href="#115">115</a>       m_frags = frags;
-<a class="jxr_linenumber" name="116" href="#116">116</a>       m_frags__IsNotDefault = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="114" href="#114">114</a>       <em class="jxr_comment">// 24, 1</em>
+<a class="jxr_linenumber" name="115" href="#115">115</a>       m_deadServers = deadServers;
+<a class="jxr_linenumber" name="116" href="#116">116</a>       m_deadServers__IsNotDefault = <strong class="jxr_keyword">true</strong>;
 <a class="jxr_linenumber" name="117" href="#117">117</a>     }
-<a class="jxr_linenumber" name="118" href="#118">118</a>     <strong class="jxr_keyword">public</strong> Map&lt;String,Integer&gt; getFrags()
+<a class="jxr_linenumber" name="118" href="#118">118</a>     <strong class="jxr_keyword">public</strong> Set&lt;ServerName&gt; getDeadServers()
 <a class="jxr_linenumber" name="119" href="#119">119</a>     {
-<a class="jxr_linenumber" name="120" href="#120">120</a>       <strong class="jxr_keyword">return</strong> m_frags;
+<a class="jxr_linenumber" name="120" href="#120">120</a>       <strong class="jxr_keyword">return</strong> m_deadServers;
 <a class="jxr_linenumber" name="121" href="#121">121</a>     }
-<a class="jxr_linenumber" name="122" href="#122">122</a>     <strong class="jxr_keyword">private</strong> Map&lt;String,Integer&gt; m_frags;
-<a class="jxr_linenumber" name="123" href="#123">123</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getFrags__IsNotDefault()
+<a class="jxr_linenumber" name="122" href="#122">122</a>     <strong class="jxr_keyword">private</strong> Set&lt;ServerName&gt; m_deadServers;
+<a class="jxr_linenumber" name="123" href="#123">123</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getDeadServers__IsNotDefault()
 <a class="jxr_linenumber" name="124" href="#124">124</a>     {
-<a class="jxr_linenumber" name="125" href="#125">125</a>       <strong class="jxr_keyword">return</strong> m_frags__IsNotDefault;
+<a class="jxr_linenumber" name="125" href="#125">125</a>       <strong class="jxr_keyword">return</strong> m_deadServers__IsNotDefault;
 <a class="jxr_linenumber" name="126" href="#126">126</a>     }
-<a class="jxr_linenumber" name="127" href="#127">127</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_frags__IsNotDefault;
-<a class="jxr_linenumber" name="128" href="#128">128</a>     <em class="jxr_comment">// 22, 1</em>
-<a class="jxr_linenumber" name="129" href="#129">129</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setMetaLocation(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html">ServerName</a> metaLocation)
+<a class="jxr_linenumber" name="127" href="#127">127</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_deadServers__IsNotDefault;
+<a class="jxr_linenumber" name="128" href="#128">128</a>     <em class="jxr_comment">// 26, 1</em>
+<a class="jxr_linenumber" name="129" href="#129">129</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setFilter(String filter)
 <a class="jxr_linenumber" name="130" href="#130">130</a>     {
-<a class="jxr_linenumber" name="131" href="#131">131</a>       <em class="jxr_comment">// 22, 1</em>
-<a class="jxr_linenumber" name="132" href="#132">132</a>       m_metaLocation = metaLocation;
-<a class="jxr_linenumber" name="133" href="#133">133</a>       m_metaLocation__IsNotDefault = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="131" href="#131">131</a>       <em class="jxr_comment">// 26, 1</em>
+<a class="jxr_linenumber" name="132" href="#132">132</a>       m_filter = filter;
+<a class="jxr_linenumber" name="133" href="#133">133</a>       m_filter__IsNotDefault = <strong class="jxr_keyword">true</strong>;
 <a class="jxr_linenumber" name="134" href="#134">134</a>     }
-<a class="jxr_linenumber" name="135" href="#135">135</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html">ServerName</a> getMetaLocation()
+<a class="jxr_linenumber" name="135" href="#135">135</a>     <strong class="jxr_keyword">public</strong> String getFilter()
 <a class="jxr_linenumber" name="136" href="#136">136</a>     {
-<a class="jxr_linenumber" name="137" href="#137">137</a>       <strong class="jxr_keyword">return</strong> m_metaLocation;
+<a class="jxr_linenumber" name="137" href="#137">137</a>       <strong class="jxr_keyword">return</strong> m_filter;
 <a class="jxr_linenumber" name="138" href="#138">138</a>     }
-<a class="jxr_linenumber" name="139" href="#139">139</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html">ServerName</a> m_metaLocation;
-<a class="jxr_linenumber" name="140" href="#140">140</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getMetaLocation__IsNotDefault()
+<a class="jxr_linenumber" name="139" href="#139">139</a>     <strong class="jxr_keyword">private</strong> String m_filter;
+<a class="jxr_linenumber" name="140" href="#140">140</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getFilter__IsNotDefault()
 <a class="jxr_linenumber" name="141" href="#141">141</a>     {
-<a class="jxr_linenumber" name="142" href="#142">142</a>       <strong class="jxr_keyword">return</strong> m_metaLocation__IsNotDefault;
+<a class="jxr_linenumber" name="142" href="#142">142</a>       <strong class="jxr_keyword">return</strong> m_filter__IsNotDefault;
 <a class="jxr_linenumber" name="143" href="#143">143</a>     }
-<a class="jxr_linenumber" name="144" href="#144">144</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_metaLocation__IsNotDefault;
-<a class="jxr_linenumber" name="145" href="#145">145</a>     <em class="jxr_comment">// 29, 1</em>
-<a class="jxr_linenumber" name="146" href="#146">146</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setAssignmentManager(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html">AssignmentManager</a> assignmentManager)
+<a class="jxr_linenumber" name="144" href="#144">144</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_filter__IsNotDefault;
+<a class="jxr_linenumber" name="145" href="#145">145</a>     <em class="jxr_comment">// 25, 1</em>
+<a class="jxr_linenumber" name="146" href="#146">146</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setCatalogJanitorEnabled(<strong class="jxr_keyword">boolean</strong> catalogJanitorEnabled)
 <a class="jxr_linenumber" name="147" href="#147">147</a>     {
-<a class="jxr_linenumber" name="148" href="#148">148</a>       <em class="jxr_comment">// 29, 1</em>
-<a class="jxr_linenumber" name="149" href="#149">149</a>       m_assignmentManager = assignmentManager;
-<a class="jxr_linenumber" name="150" href="#150">150</a>       m_assignmentManager__IsNotDefault = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="148" href="#148">148</a>       <em class="jxr_comment">// 25, 1</em>
+<a class="jxr_linenumber" name="149" href="#149">149</a>       m_catalogJanitorEnabled = catalogJanitorEnabled;
+<a class="jxr_linenumber" name="150" href="#150">150</a>       m_catalogJanitorEnabled__IsNotDefault = <strong class="jxr_keyword">true</strong>;
 <a class="jxr_linenumber" name="151" href="#151">151</a>     }
-<a class="jxr_linenumber" name="152" href="#152">152</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html">AssignmentManager</a> getAssignmentManager()
+<a class="jxr_linenumber" name="152" href="#152">152</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getCatalogJanitorEnabled()
 <a class="jxr_linenumber" name="153" href="#153">153</a>     {
-<a class="jxr_linenumber" name="154" href="#154">154</a>       <strong class="jxr_keyword">return</strong> m_assignmentManager;
+<a class="jxr_linenumber" name="154" href="#154">154</a>       <strong class="jxr_keyword">return</strong> m_catalogJanitorEnabled;
 <a class="jxr_linenumber" name="155" href="#155">155</a>     }
-<a class="jxr_linenumber" name="156" href="#156">156</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html">AssignmentManager</a> m_assignmentManager;
-<a class="jxr_linenumber" name="157" href="#157">157</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getAssignmentManager__IsNotDefault()
+<a class="jxr_linenumber" name="156" href="#156">156</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_catalogJanitorEnabled;
+<a class="jxr_linenumber" name="157" href="#157">157</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getCatalogJanitorEnabled__IsNotDefault()
 <a class="jxr_linenumber" name="158" href="#158">158</a>     {
-<a class="jxr_linenumber" name="159" href="#159">159</a>       <strong class="jxr_keyword">return</strong> m_assignmentManager__IsNotDefault;
+<a class="jxr_linenumber" name="159" href="#159">159</a>       <strong class="jxr_keyword">return</strong> m_catalogJanitorEnabled__IsNotDefault;
 <a class="jxr_linenumber" name="160" href="#160">160</a>     }
-<a class="jxr_linenumber" name="161" href="#161">161</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_assignmentManager__IsNotDefault;
+<a class="jxr_linenumber" name="161" href="#161">161</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_catalogJanitorEnabled__IsNotDefault;
 <a class="jxr_linenumber" name="162" href="#162">162</a>     <em class="jxr_comment">// 28, 1</em>
 <a class="jxr_linenumber" name="163" href="#163">163</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setServerManager(<a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html">ServerManager</a> serverManager)
 <a class="jxr_linenumber" name="164" href="#164">164</a>     {
@@ -186,57 +186,57 @@
 <a class="jxr_linenumber" name="176" href="#176">176</a>       <strong class="jxr_keyword">return</strong> m_serverManager__IsNotDefault;
 <a class="jxr_linenumber" name="177" href="#177">177</a>     }
 <a class="jxr_linenumber" name="178" href="#178">178</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_serverManager__IsNotDefault;
-<a class="jxr_linenumber" name="179" href="#179">179</a>     <em class="jxr_comment">// 25, 1</em>
-<a class="jxr_linenumber" name="180" href="#180">180</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setCatalogJanitorEnabled(<strong class="jxr_keyword">boolean</strong> catalogJanitorEnabled)
+<a class="jxr_linenumber" name="179" href="#179">179</a>     <em class="jxr_comment">// 27, 1</em>
+<a class="jxr_linenumber" name="180" href="#180">180</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setFormat(String format)
 <a class="jxr_linenumber" name="181" href="#181">181</a>     {
-<a class="jxr_linenumber" name="182" href="#182">182</a>       <em class="jxr_comment">// 25, 1</em>
-<a class="jxr_linenumber" name="183" href="#183">183</a>       m_catalogJanitorEnabled = catalogJanitorEnabled;
-<a class="jxr_linenumber" name="184" href="#184">184</a>       m_catalogJanitorEnabled__IsNotDefault = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="182" href="#182">182</a>       <em class="jxr_comment">// 27, 1</em>
+<a class="jxr_linenumber" name="183" href="#183">183</a>       m_format = format;
+<a class="jxr_linenumber" name="184" href="#184">184</a>       m_format__IsNotDefault = <strong class="jxr_keyword">true</strong>;
 <a class="jxr_linenumber" name="185" href="#185">185</a>     }
-<a class="jxr_linenumber" name="186" href="#186">186</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getCatalogJanitorEnabled()
+<a class="jxr_linenumber" name="186" href="#186">186</a>     <strong class="jxr_keyword">public</strong> String getFormat()
 <a class="jxr_linenumber" name="187" href="#187">187</a>     {
-<a class="jxr_linenumber" name="188" href="#188">188</a>       <strong class="jxr_keyword">return</strong> m_catalogJanitorEnabled;
+<a class="jxr_linenumber" name="188" href="#188">188</a>       <strong class="jxr_keyword">return</strong> m_format;
 <a class="jxr_linenumber" name="189" href="#189">189</a>     }
-<a class="jxr_linenumber" name="190" href="#190">190</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_catalogJanitorEnabled;
-<a class="jxr_linenumber" name="191" href="#191">191</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getCatalogJanitorEnabled__IsNotDefault()
+<a class="jxr_linenumber" name="190" href="#190">190</a>     <strong class="jxr_keyword">private</strong> String m_format;
+<a class="jxr_linenumber" name="191" href="#191">191</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getFormat__IsNotDefault()
 <a class="jxr_linenumber" name="192" href="#192">192</a>     {
-<a class="jxr_linenumber" name="193" href="#193">193</a>       <strong class="jxr_keyword">return</strong> m_catalogJanitorEnabled__IsNotDefault;
+<a class="jxr_linenumber" name="193" href="#193">193</a>       <strong class="jxr_keyword">return</strong> m_format__IsNotDefault;
 <a class="jxr_linenumber" name="194" href="#194">194</a>     }
-<a class="jxr_linenumber" name="195" href="#195">195</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_catalogJanitorEnabled__IsNotDefault;
-<a class="jxr_linenumber" name="196" href="#196">196</a>     <em class="jxr_comment">// 27, 1</em>
-<a class="jxr_linenumber" name="197" href="#197">197</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setFormat(String format)
+<a class="jxr_linenumber" name="195" href="#195">195</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_format__IsNotDefault;
+<a class="jxr_linenumber" name="196" href="#196">196</a>     <em class="jxr_comment">// 22, 1</em>
+<a class="jxr_linenumber" name="197" href="#197">197</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setMetaLocation(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html">ServerName</a> metaLocation)
 <a class="jxr_linenumber" name="198" href="#198">198</a>     {
-<a class="jxr_linenumber" name="199" href="#199">199</a>       <em class="jxr_comment">// 27, 1</em>
-<a class="jxr_linenumber" name="200" href="#200">200</a>       m_format = format;
-<a class="jxr_linenumber" name="201" href="#201">201</a>       m_format__IsNotDefault = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="199" href="#199">199</a>       <em class="jxr_comment">// 22, 1</em>
+<a class="jxr_linenumber" name="200" href="#200">200</a>       m_metaLocation = metaLocation;
+<a class="jxr_linenumber" name="201" href="#201">201</a>       m_metaLocation__IsNotDefault = <strong class="jxr_keyword">true</strong>;
 <a class="jxr_linenumber" name="202" href="#202">202</a>     }
-<a class="jxr_linenumber" name="203" href="#203">203</a>     <strong class="jxr_keyword">public</strong> String getFormat()
+<a class="jxr_linenumber" name="203" href="#203">203</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html">ServerName</a> getMetaLocation()
 <a class="jxr_linenumber" name="204" href="#204">204</a>     {
-<a class="jxr_linenumber" name="205" href="#205">205</a>       <strong class="jxr_keyword">return</strong> m_format;
+<a class="jxr_linenumber" name="205" href="#205">205</a>       <strong class="jxr_keyword">return</strong> m_metaLocation;
 <a class="jxr_linenumber" name="206" href="#206">206</a>     }
-<a class="jxr_linenumber" name="207" href="#207">207</a>     <strong class="jxr_keyword">private</strong> String m_format;
-<a class="jxr_linenumber" name="208" href="#208">208</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getFormat__IsNotDefault()
+<a class="jxr_linenumber" name="207" href="#207">207</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html">ServerName</a> m_metaLocation;
+<a class="jxr_linenumber" name="208" href="#208">208</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getMetaLocation__IsNotDefault()
 <a class="jxr_linenumber" name="209" href="#209">209</a>     {
-<a class="jxr_linenumber" name="210" href="#210">210</a>       <strong class="jxr_keyword">return</strong> m_format__IsNotDefault;
+<a class="jxr_linenumber" name="210" href="#210">210</a>       <strong class="jxr_keyword">return</strong> m_metaLocation__IsNotDefault;
 <a class="jxr_linenumber" name="211" href="#211">211</a>     }
-<a class="jxr_linenumber" name="212" href="#212">212</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_format__IsNotDefault;
-<a class="jxr_linenumber" name="213" href="#213">213</a>     <em class="jxr_comment">// 26, 1</em>
-<a class="jxr_linenumber" name="214" href="#214">214</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setFilter(String filter)
+<a class="jxr_linenumber" name="212" href="#212">212</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_metaLocation__IsNotDefault;
+<a class="jxr_linenumber" name="213" href="#213">213</a>     <em class="jxr_comment">// 29, 1</em>
+<a class="jxr_linenumber" name="214" href="#214">214</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setAssignmentManager(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html">AssignmentManager</a> assignmentManager)
 <a class="jxr_linenumber" name="215" href="#215">215</a>     {
-<a class="jxr_linenumber" name="216" href="#216">216</a>       <em class="jxr_comment">// 26, 1</em>
-<a class="jxr_linenumber" name="217" href="#217">217</a>       m_filter = filter;
-<a class="jxr_linenumber" name="218" href="#218">218</a>       m_filter__IsNotDefault = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="216" href="#216">216</a>       <em class="jxr_comment">// 29, 1</em>
+<a class="jxr_linenumber" name="217" href="#217">217</a>       m_assignmentManager = assignmentManager;
+<a class="jxr_linenumber" name="218" href="#218">218</a>       m_assignmentManager__IsNotDefault = <strong class="jxr_keyword">true</strong>;
 <a class="jxr_linenumber" name="219" href="#219">219</a>     }
-<a class="jxr_linenumber" name="220" href="#220">220</a>     <strong class="jxr_keyword">public</strong> String getFilter()
+<a class="jxr_linenumber" name="220" href="#220">220</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html">AssignmentManager</a> getAssignmentManager()
 <a class="jxr_linenumber" name="221" href="#221">221</a>     {
-<a class="jxr_linenumber" name="222" href="#222">222</a>       <strong class="jxr_keyword">return</strong> m_filter;
+<a class="jxr_linenumber" name="222" href="#222">222</a>       <strong class="jxr_keyword">return</strong> m_assignmentManager;
 <a class="jxr_linenumber" name="223" href="#223">223</a>     }
-<a class="jxr_linenumber" name="224" href="#224">224</a>     <strong class="jxr_keyword">private</strong> String m_filter;
-<a class="jxr_linenumber" name="225" href="#225">225</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getFilter__IsNotDefault()
+<a class="jxr_linenumber" name="224" href="#224">224</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html">AssignmentManager</a> m_assignmentManager;
+<a class="jxr_linenumber" name="225" href="#225">225</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getAssignmentManager__IsNotDefault()
 <a class="jxr_linenumber" name="226" href="#226">226</a>     {
-<a class="jxr_linenumber" name="227" href="#227">227</a>       <strong class="jxr_keyword">return</strong> m_filter__IsNotDefault;
+<a class="jxr_linenumber" name="227" href="#227">227</a>       <strong class="jxr_keyword">return</strong> m_assignmentManager__IsNotDefault;
 <a class="jxr_linenumber" name="228" href="#228">228</a>     }
-<a class="jxr_linenumber" name="229" href="#229">229</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_filter__IsNotDefault;
+<a class="jxr_linenumber" name="229" href="#229">229</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_assignmentManager__IsNotDefault;
 <a class="jxr_linenumber" name="230" href="#230">230</a>     <em class="jxr_comment">// 23, 1</em>
 <a class="jxr_linenumber" name="231" href="#231">231</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setServers(List&lt;ServerName&gt; servers)
 <a class="jxr_linenumber" name="232" href="#232">232</a>     {
@@ -254,23 +254,23 @@
 <a class="jxr_linenumber" name="244" href="#244">244</a>       <strong class="jxr_keyword">return</strong> m_servers__IsNotDefault;
 <a class="jxr_linenumber" name="245" href="#245">245</a>     }
 <a class="jxr_linenumber" name="246" href="#246">246</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_servers__IsNotDefault;
-<a class="jxr_linenumber" name="247" href="#247">247</a>     <em class="jxr_comment">// 24, 1</em>
-<a class="jxr_linenumber" name="248" href="#248">248</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setDeadServers(Set&lt;ServerName&gt; deadServers)
+<a class="jxr_linenumber" name="247" href="#247">247</a>     <em class="jxr_comment">// 21, 1</em>
+<a class="jxr_linenumber" name="248" href="#248">248</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setFrags(Map&lt;String,Integer&gt; frags)
 <a class="jxr_linenumber" name="249" href="#249">249</a>     {
-<a class="jxr_linenumber" name="250" href="#250">250</a>       <em class="jxr_comment">// 24, 1</em>
-<a class="jxr_linenumber" name="251" href="#251">251</a>       m_deadServers = deadServers;
-<a class="jxr_linenumber" name="252" href="#252">252</a>       m_deadServers__IsNotDefault = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="250" href="#250">250</a>       <em class="jxr_comment">// 21, 1</em>
+<a class="jxr_linenumber" name="251" href="#251">251</a>       m_frags = frags;
+<a class="jxr_linenumber" name="252" href="#252">252</a>       m_frags__IsNotDefault = <strong class="jxr_keyword">true</strong>;
 <a class="jxr_linenumber" name="253" href="#253">253</a>     }
-<a class="jxr_linenumber" name="254" href="#254">254</a>     <strong class="jxr_keyword">public</strong> Set&lt;ServerName&gt; getDeadServers()
+<a class="jxr_linenumber" name="254" href="#254">254</a>     <strong class="jxr_keyword">public</strong> Map&lt;String,Integer&gt; getFrags()
 <a class="jxr_linenumber" name="255" href="#255">255</a>     {
-<a class="jxr_linenumber" name="256" href="#256">256</a>       <strong class="jxr_keyword">return</strong> m_deadServers;
+<a class="jxr_linenumber" name="256" href="#256">256</a>       <strong class="jxr_keyword">return</strong> m_frags;
 <a class="jxr_linenumber" name="257" href="#257">257</a>     }
-<a class="jxr_linenumber" name="258" href="#258">258</a>     <strong class="jxr_keyword">private</strong> Set&lt;ServerName&gt; m_deadServers;
-<a class="jxr_linenumber" name="259" href="#259">259</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getDeadServers__IsNotDefault()
+<a class="jxr_linenumber" name="258" href="#258">258</a>     <strong class="jxr_keyword">private</strong> Map&lt;String,Integer&gt; m_frags;
+<a class="jxr_linenumber" name="259" href="#259">259</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getFrags__IsNotDefault()
 <a class="jxr_linenumber" name="260" href="#260">260</a>     {
-<a class="jxr_linenumber" name="261" href="#261">261</a>       <strong class="jxr_keyword">return</strong> m_deadServers__IsNotDefault;
+<a class="jxr_linenumber" name="261" href="#261">261</a>       <strong class="jxr_keyword">return</strong> m_frags__IsNotDefault;
 <a class="jxr_linenumber" name="262" href="#262">262</a>     }
-<a class="jxr_linenumber" name="263" href="#263">263</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_deadServers__IsNotDefault;
+<a class="jxr_linenumber" name="263" href="#263">263</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_frags__IsNotDefault;
 <a class="jxr_linenumber" name="264" href="#264">264</a>   }
 <a class="jxr_linenumber" name="265" href="#265">265</a>   @Override
 <a class="jxr_linenumber" name="266" href="#266">266</a>   <strong class="jxr_keyword">protected</strong> org.jamon.AbstractTemplateProxy.ImplData makeImplData()
@@ -282,24 +282,24 @@
 <a class="jxr_linenumber" name="272" href="#272">272</a>     <strong class="jxr_keyword">return</strong> (ImplData) <strong class="jxr_keyword">super</strong>.getImplData();
 <a class="jxr_linenumber" name="273" href="#273">273</a>   }
 <a class="jxr_linenumber" name="274" href="#274">274</a>   
-<a class="jxr_linenumber" name="275" href="#275">275</a>   <strong class="jxr_keyword">protected</strong> Map&lt;String,Integer&gt; frags;
-<a class="jxr_linenumber" name="276" href="#276">276</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)
+<a class="jxr_linenumber" name="275" href="#275">275</a>   <strong class="jxr_keyword">protected</strong> Set&lt;ServerName&gt; deadServers;
+<a class="jxr_linenumber" name="276" href="#276">276</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)
 <a class="jxr_linenumber" name="277" href="#277">277</a>   {
-<a class="jxr_linenumber" name="278" href="#278">278</a>     (getImplData()).setFrags(p_frags);
+<a class="jxr_linenumber" name="278" href="#278">278</a>     (getImplData()).setDeadServers(p_deadServers);
 <a class="jxr_linenumber" name="279" href="#279">279</a>     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
 <a class="jxr_linenumber" name="280" href="#280">280</a>   }
 <a class="jxr_linenumber" name="281" href="#281">281</a>   
-<a class="jxr_linenumber" name="282" href="#282">282</a>   <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html">ServerName</a> metaLocation;
-<a class="jxr_linenumber" name="283" href="#283">283</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html">ServerName</a> p_metaLocation)
+<a class="jxr_linenumber" name="282" href="#282">282</a>   <strong class="jxr_keyword">protected</strong> String filter;
+<a class="jxr_linenumber" name="283" href="#283">283</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)
 <a class="jxr_linenumber" name="284" href="#284">284</a>   {
-<a class="jxr_linenumber" name="285" href="#285">285</a>     (getImplData()).setMetaLocation(p_metaLocation);
+<a class="jxr_linenumber" name="285" href="#285">285</a>     (getImplData()).setFilter(p_filter);
 <a class="jxr_linenumber" name="286" href="#286">286</a>     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
 <a class="jxr_linenumber" name="287" href="#287">287</a>   }
 <a class="jxr_linenumber" name="288" href="#288">288</a>   
-<a class="jxr_linenumber" name="289" href="#289">289</a>   <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html">AssignmentManager</a> assignmentManager;
-<a class="jxr_linenumber" name="290" href="#290">290</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html">AssignmentManager</a> p_assignmentManager)
+<a class="jxr_linenumber" name="289" href="#289">289</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> catalogJanitorEnabled;
+<a class="jxr_linenumber" name="290" href="#290">290</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(<strong class="jxr_keyword">boolean</strong> p_catalogJanitorEnabled)
 <a class="jxr_linenumber" name="291" href="#291">291</a>   {
-<a class="jxr_linenumber" name="292" href="#292">292</a>     (getImplData()).setAssignmentManager(p_assignmentManager);
+<a class="jxr_linenumber" name="292" href="#292">292</a>     (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);
 <a class="jxr_linenumber" name="293" href="#293">293</a>     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
 <a class="jxr_linenumber" name="294" href="#294">294</a>   }
 <a class="jxr_linenumber" name="295" href="#295">295</a>   
@@ -310,24 +310,24 @@
 <a class="jxr_linenumber" name="300" href="#300">300</a>     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
 <a class="jxr_linenumber" name="301" href="#301">301</a>   }
 <a class="jxr_linenumber" name="302" href="#302">302</a>   
-<a class="jxr_linenumber" name="303" href="#303">303</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> catalogJanitorEnabled;
-<a class="jxr_linenumber" name="304" href="#304">304</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(<strong class="jxr_keyword">boolean</strong> p_catalogJanitorEnabled)
+<a class="jxr_linenumber" name="303" href="#303">303</a>   <strong class="jxr_keyword">protected</strong> String format;
+<a class="jxr_linenumber" name="304" href="#304">304</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)
 <a class="jxr_linenumber" name="305" href="#305">305</a>   {
-<a class="jxr_linenumber" name="306" href="#306">306</a>     (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);
+<a class="jxr_linenumber" name="306" href="#306">306</a>     (getImplData()).setFormat(p_format);
 <a class="jxr_linenumber" name="307" href="#307">307</a>     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
 <a class="jxr_linenumber" name="308" href="#308">308</a>   }
 <a class="jxr_linenumber" name="309" href="#309">309</a>   
-<a class="jxr_linenumber" name="310" href="#310">310</a>   <strong class="jxr_keyword">protected</strong> String format;
-<a class="jxr_linenumber" name="311" href="#311">311</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)
+<a class="jxr_linenumber" name="310" href="#310">310</a>   <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html">ServerName</a> metaLocation;
+<a class="jxr_linenumber" name="311" href="#311">311</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html">ServerName</a> p_metaLocation)
 <a class="jxr_linenumber" name="312" href="#312">312</a>   {
-<a class="jxr_linenumber" name="313" href="#313">313</a>     (getImplData()).setFormat(p_format);
+<a class="jxr_linenumber" name="313" href="#313">313</a>     (getImplData()).setMetaLocation(p_metaLocation);
 <a class="jxr_linenumber" name="314" href="#314">314</a>     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
 <a class="jxr_linenumber" name="315" href="#315">315</a>   }
 <a class="jxr_linenumber" name="316" href="#316">316</a>   
-<a class="jxr_linenumber" name="317" href="#317">317</a>   <strong class="jxr_keyword">protected</strong> String filter;
-<a class="jxr_linenumber" name="318" href="#318">318</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)
+<a class="jxr_linenumber" name="317" href="#317">317</a>   <strong class="jxr_keyword">protected</strong> <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html">AssignmentManager</a> assignmentManager;
+<a class="jxr_linenumber" name="318" href="#318">318</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(<a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html">AssignmentManager</a> p_assignmentManager)
 <a class="jxr_linenumber" name="319" href="#319">319</a>   {
-<a class="jxr_linenumber" name="320" href="#320">320</a>     (getImplData()).setFilter(p_filter);
+<a class="jxr_linenumber" name="320" href="#320">320</a>     (getImplData()).setAssignmentManager(p_assignmentManager);
 <a class="jxr_linenumber" name="321" href="#321">321</a>     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
 <a class="jxr_linenumber" name="322" href="#322">322</a>   }
 <a class="jxr_linenumber" name="323" href="#323">323</a>   
@@ -338,10 +338,10 @@
 <a class="jxr_linenumber" name="328" href="#328">328</a>     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
 <a class="jxr_linenumber" name="329" href="#329">329</a>   }
 <a class="jxr_linenumber" name="330" href="#330">330</a>   
-<a class="jxr_linenumber" name="331" href="#331">331</a>   <strong class="jxr_keyword">protected</strong> Set&lt;ServerName&gt; deadServers;
-<a class="jxr_linenumber" name="332" href="#332">332</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)
+<a class="jxr_linenumber" name="331" href="#331">331</a>   <strong class="jxr_keyword">protected</strong> Map&lt;String,Integer&gt; frags;
+<a class="jxr_linenumber" name="332" href="#332">332</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)
 <a class="jxr_linenumber" name="333" href="#333">333</a>   {
-<a class="jxr_linenumber" name="334" href="#334">334</a>     (getImplData()).setDeadServers(p_deadServers);
+<a class="jxr_linenumber" name="334" href="#334">334</a>     (getImplData()).setFrags(p_frags);
 <a class="jxr_linenumber" name="335" href="#335">335</a>     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
 <a class="jxr_linenumber" name="336" href="#336">336</a>   }
 <a class="jxr_linenumber" name="337" href="#337">337</a>   

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/xref/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/xref/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html b/xref/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
index d956372..8bafd69 100644
--- a/xref/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
+++ b/xref/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
@@ -70,15 +70,15 @@
 <a class="jxr_linenumber" name="60" href="#60">60</a>  
 <a class="jxr_linenumber" name="61" href="#61">61</a>  {
 <a class="jxr_linenumber" name="62" href="#62">62</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html">HMaster</a> master;
-<a class="jxr_linenumber" name="63" href="#63">63</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Map&lt;String,Integer&gt; frags;
-<a class="jxr_linenumber" name="64" href="#64">64</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html">ServerName</a> metaLocation;
-<a class="jxr_linenumber" name="65" href="#65">65</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html">AssignmentManager</a> assignmentManager;
+<a class="jxr_linenumber" name="63" href="#63">63</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Set&lt;ServerName&gt; deadServers;
+<a class="jxr_linenumber" name="64" href="#64">64</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String filter;
+<a class="jxr_linenumber" name="65" href="#65">65</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> catalogJanitorEnabled;
 <a class="jxr_linenumber" name="66" href="#66">66</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/hadoop/hbase/master/ServerManager.html">ServerManager</a> serverManager;
-<a class="jxr_linenumber" name="67" href="#67">67</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> catalogJanitorEnabled;
-<a class="jxr_linenumber" name="68" href="#68">68</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String format;
-<a class="jxr_linenumber" name="69" href="#69">69</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String filter;
+<a class="jxr_linenumber" name="67" href="#67">67</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String format;
+<a class="jxr_linenumber" name="68" href="#68">68</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/hadoop/hbase/ServerName.html">ServerName</a> metaLocation;
+<a class="jxr_linenumber" name="69" href="#69">69</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/hadoop/hbase/master/AssignmentManager.html">AssignmentManager</a> assignmentManager;
 <a class="jxr_linenumber" name="70" href="#70">70</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> List&lt;ServerName&gt; servers;
-<a class="jxr_linenumber" name="71" href="#71">71</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Set&lt;ServerName&gt; deadServers;
+<a class="jxr_linenumber" name="71" href="#71">71</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> Map&lt;String,Integer&gt; frags;
 <a class="jxr_linenumber" name="72" href="#72">72</a>    <em class="jxr_comment">// 68, 1</em>
 <a class="jxr_linenumber" name="73" href="#73">73</a>    
 <a class="jxr_linenumber" name="74" href="#74">74</a>    <strong class="jxr_keyword">public</strong> String formatZKString() {
@@ -108,41 +108,41 @@
 <a class="jxr_linenumber" name="98" href="#98">98</a>  
 <a class="jxr_linenumber" name="99" href="#99">99</a>    <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl.ImplData __jamon_setOptionalArguments(org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl.ImplData p_implData)
 <a class="jxr_linenumber" name="100" href="#100">100</a>   {
-<a class="jxr_linenumber" name="101" href="#101">101</a>     <strong class="jxr_keyword">if</strong>(! p_implData.getFrags__IsNotDefault())
+<a class="jxr_linenumber" name="101" href="#101">101</a>     <strong class="jxr_keyword">if</strong>(! p_implData.getDeadServers__IsNotDefault())
 <a class="jxr_linenumber" name="102" href="#102">102</a>     {
-<a class="jxr_linenumber" name="103" href="#103">103</a>       p_implData.setFrags(<strong class="jxr_keyword">null</strong>);
+<a class="jxr_linenumber" name="103" href="#103">103</a>       p_implData.setDeadServers(<strong class="jxr_keyword">null</strong>);
 <a class="jxr_linenumber" name="104" href="#104">104</a>     }
-<a class="jxr_linenumber" name="105" href="#105">105</a>     <strong class="jxr_keyword">if</strong>(! p_implData.getMetaLocation__IsNotDefault())
+<a class="jxr_linenumber" name="105" href="#105">105</a>     <strong class="jxr_keyword">if</strong>(! p_implData.getFilter__IsNotDefault())
 <a class="jxr_linenumber" name="106" href="#106">106</a>     {
-<a class="jxr_linenumber" name="107" href="#107">107</a>       p_implData.setMetaLocation(<strong class="jxr_keyword">null</strong>);
+<a class="jxr_linenumber" name="107" href="#107">107</a>       p_implData.setFilter(<span class="jxr_string">"general"</span>);
 <a class="jxr_linenumber" name="108" href="#108">108</a>     }
-<a class="jxr_linenumber" name="109" href="#109">109</a>     <strong class="jxr_keyword">if</strong>(! p_implData.getAssignmentManager__IsNotDefault())
+<a class="jxr_linenumber" name="109" href="#109">109</a>     <strong class="jxr_keyword">if</strong>(! p_implData.getCatalogJanitorEnabled__IsNotDefault())
 <a class="jxr_linenumber" name="110" href="#110">110</a>     {
-<a class="jxr_linenumber" name="111" href="#111">111</a>       p_implData.setAssignmentManager(<strong class="jxr_keyword">null</strong>);
+<a class="jxr_linenumber" name="111" href="#111">111</a>       p_implData.setCatalogJanitorEnabled(<strong class="jxr_keyword">true</strong>);
 <a class="jxr_linenumber" name="112" href="#112">112</a>     }
 <a class="jxr_linenumber" name="113" href="#113">113</a>     <strong class="jxr_keyword">if</strong>(! p_implData.getServerManager__IsNotDefault())
 <a class="jxr_linenumber" name="114" href="#114">114</a>     {
 <a class="jxr_linenumber" name="115" href="#115">115</a>       p_implData.setServerManager(<strong class="jxr_keyword">null</strong>);
 <a class="jxr_linenumber" name="116" href="#116">116</a>     }
-<a class="jxr_linenumber" name="117" href="#117">117</a>     <strong class="jxr_keyword">if</strong>(! p_implData.getCatalogJanitorEnabled__IsNotDefault())
+<a class="jxr_linenumber" name="117" href="#117">117</a>     <strong class="jxr_keyword">if</strong>(! p_implData.getFormat__IsNotDefault())
 <a class="jxr_linenumber" name="118" href="#118">118</a>     {
-<a class="jxr_linenumber" name="119" href="#119">119</a>       p_implData.setCatalogJanitorEnabled(<strong class="jxr_keyword">true</strong>);
+<a class="jxr_linenumber" name="119" href="#119">119</a>       p_implData.setFormat(<span class="jxr_string">"html"</span>);
 <a class="jxr_linenumber" name="120" href="#120">120</a>     }
-<a class="jxr_linenumber" name="121" href="#121">121</a>     <strong class="jxr_keyword">if</strong>(! p_implData.getFormat__IsNotDefault())
+<a class="jxr_linenumber" name="121" href="#121">121</a>     <strong class="jxr_keyword">if</strong>(! p_implData.getMetaLocation__IsNotDefault())
 <a class="jxr_linenumber" name="122" href="#122">122</a>     {
-<a class="jxr_linenumber" name="123" href="#123">123</a>       p_implData.setFormat(<span class="jxr_string">"html"</span>);
+<a class="jxr_linenumber" name="123" href="#123">123</a>       p_implData.setMetaLocation(<strong class="jxr_keyword">null</strong>);
 <a class="jxr_linenumber" name="124" href="#124">124</a>     }
-<a class="jxr_linenumber" name="125" href="#125">125</a>     <strong class="jxr_keyword">if</strong>(! p_implData.getFilter__IsNotDefault())
+<a class="jxr_linenumber" name="125" href="#125">125</a>     <strong class="jxr_keyword">if</strong>(! p_implData.getAssignmentManager__IsNotDefault())
 <a class="jxr_linenumber" name="126" href="#126">126</a>     {
-<a class="jxr_linenumber" name="127" href="#127">127</a>       p_implData.setFilter(<span class="jxr_string">"general"</span>);
+<a class="jxr_linenumber" name="127" href="#127">127</a>       p_implData.setAssignmentManager(<strong class="jxr_keyword">null</strong>);
 <a class="jxr_linenumber" name="128" href="#128">128</a>     }
 <a class="jxr_linenumber" name="129" href="#129">129</a>     <strong class="jxr_keyword">if</strong>(! p_implData.getServers__IsNotDefault())
 <a class="jxr_linenumber" name="130" href="#130">130</a>     {
 <a class="jxr_linenumber" name="131" href="#131">131</a>       p_implData.setServers(<strong class="jxr_keyword">null</strong>);
 <a class="jxr_linenumber" name="132" href="#132">132</a>     }
-<a class="jxr_linenumber" name="133" href="#133">133</a>     <strong class="jxr_keyword">if</strong>(! p_implData.getDeadServers__IsNotDefault())
+<a class="jxr_linenumber" name="133" href="#133">133</a>     <strong class="jxr_keyword">if</strong>(! p_implData.getFrags__IsNotDefault())
 <a class="jxr_linenumber" name="134" href="#134">134</a>     {
-<a class="jxr_linenumber" name="135" href="#135">135</a>       p_implData.setDeadServers(<strong class="jxr_keyword">null</strong>);
+<a class="jxr_linenumber" name="135" href="#135">135</a>       p_implData.setFrags(<strong class="jxr_keyword">null</strong>);
 <a class="jxr_linenumber" name="136" href="#136">136</a>     }
 <a class="jxr_linenumber" name="137" href="#137">137</a>     <strong class="jxr_keyword">return</strong> p_implData;
 <a class="jxr_linenumber" name="138" href="#138">138</a>   }
@@ -150,15 +150,15 @@
 <a class="jxr_linenumber" name="140" href="#140">140</a>   {
 <a class="jxr_linenumber" name="141" href="#141">141</a>     <strong class="jxr_keyword">super</strong>(p_templateManager, __jamon_setOptionalArguments(p_implData));
 <a class="jxr_linenumber" name="142" href="#142">142</a>     master = p_implData.getMaster();
-<a class="jxr_linenumber" name="143" href="#143">143</a>     frags = p_implData.getFrags();
-<a class="jxr_linenumber" name="144" href="#144">144</a>     metaLocation = p_implData.getMetaLocation();
-<a class="jxr_linenumber" name="145" href="#145">145</a>     assignmentManager = p_implData.getAssignmentManager();
+<a class="jxr_linenumber" name="143" href="#143">143</a>     deadServers = p_implData.getDeadServers();
+<a class="jxr_linenumber" name="144" href="#144">144</a>     filter = p_implData.getFilter();
+<a class="jxr_linenumber" name="145" href="#145">145</a>     catalogJanitorEnabled = p_implData.getCatalogJanitorEnabled();
 <a class="jxr_linenumber" name="146" href="#146">146</a>     serverManager = p_implData.getServerManager();
-<a class="jxr_linenumber" name="147" href="#147">147</a>     catalogJanitorEnabled = p_implData.getCatalogJanitorEnabled();
-<a class="jxr_linenumber" name="148" href="#148">148</a>     format = p_implData.getFormat();
-<a class="jxr_linenumber" name="149" href="#149">149</a>     filter = p_implData.getFilter();
+<a class="jxr_linenumber" name="147" href="#147">147</a>     format = p_implData.getFormat();
+<a class="jxr_linenumber" name="148" href="#148">148</a>     metaLocation = p_implData.getMetaLocation();
+<a class="jxr_linenumber" name="149" href="#149">149</a>     assignmentManager = p_implData.getAssignmentManager();
 <a class="jxr_linenumber" name="150" href="#150">150</a>     servers = p_implData.getServers();
-<a class="jxr_linenumber" name="151" href="#151">151</a>     deadServers = p_implData.getDeadServers();
+<a class="jxr_linenumber" name="151" href="#151">151</a>     frags = p_implData.getFrags();
 <a class="jxr_linenumber" name="152" href="#152">152</a>   }
 <a class="jxr_linenumber" name="153" href="#153">153</a>   
 <a class="jxr_linenumber" name="154" href="#154">154</a>   @Override <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> renderNoFlush(<strong class="jxr_keyword">final</strong> java.io.Writer jamonWriter)

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/xref/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
----------------------------------------------------------------------
diff --git a/xref/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html b/xref/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
index 6b43596..09119d2 100644
--- a/xref/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
+++ b/xref/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
@@ -35,9 +35,9 @@
 <a class="jxr_linenumber" name="25" href="#25">25</a>    requiredArguments = {
 <a class="jxr_linenumber" name="26" href="#26">26</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"regionServer"</span>, type = <span class="jxr_string">"HRegionServer"</span>)},
 <a class="jxr_linenumber" name="27" href="#27">27</a>    optionalArguments = {
-<a class="jxr_linenumber" name="28" href="#28">28</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"filter"</span>, type = <span class="jxr_string">"String"</span>),
-<a class="jxr_linenumber" name="29" href="#29">29</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"bcv"</span>, type = <span class="jxr_string">"String"</span>),
-<a class="jxr_linenumber" name="30" href="#30">30</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"format"</span>, type = <span class="jxr_string">"String"</span>),
+<a class="jxr_linenumber" name="28" href="#28">28</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"bcv"</span>, type = <span class="jxr_string">"String"</span>),
+<a class="jxr_linenumber" name="29" href="#29">29</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"format"</span>, type = <span class="jxr_string">"String"</span>),
+<a class="jxr_linenumber" name="30" href="#30">30</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"filter"</span>, type = <span class="jxr_string">"String"</span>),
 <a class="jxr_linenumber" name="31" href="#31">31</a>      @org.jamon.annotations.Argument(name = <span class="jxr_string">"bcn"</span>, type = <span class="jxr_string">"String"</span>)})
 <a class="jxr_linenumber" name="32" href="#32">32</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../../org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html">RSStatusTmpl</a>
 <a class="jxr_linenumber" name="33" href="#33">33</a>    <strong class="jxr_keyword">extends</strong> org.jamon.AbstractTemplateProxy
@@ -79,57 +79,57 @@
 <a class="jxr_linenumber" name="69" href="#69">69</a>        <strong class="jxr_keyword">return</strong> m_regionServer;
 <a class="jxr_linenumber" name="70" href="#70">70</a>      }
 <a class="jxr_linenumber" name="71" href="#71">71</a>      <strong class="jxr_keyword">private</strong> <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html">HRegionServer</a> m_regionServer;
-<a class="jxr_linenumber" name="72" href="#72">72</a>      <em class="jxr_comment">// 21, 1</em>
-<a class="jxr_linenumber" name="73" href="#73">73</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setFilter(String filter)
+<a class="jxr_linenumber" name="72" href="#72">72</a>      <em class="jxr_comment">// 24, 1</em>
+<a class="jxr_linenumber" name="73" href="#73">73</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setBcv(String bcv)
 <a class="jxr_linenumber" name="74" href="#74">74</a>      {
-<a class="jxr_linenumber" name="75" href="#75">75</a>        <em class="jxr_comment">// 21, 1</em>
-<a class="jxr_linenumber" name="76" href="#76">76</a>        m_filter = filter;
-<a class="jxr_linenumber" name="77" href="#77">77</a>        m_filter__IsNotDefault = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="75" href="#75">75</a>        <em class="jxr_comment">// 24, 1</em>
+<a class="jxr_linenumber" name="76" href="#76">76</a>        m_bcv = bcv;
+<a class="jxr_linenumber" name="77" href="#77">77</a>        m_bcv__IsNotDefault = <strong class="jxr_keyword">true</strong>;
 <a class="jxr_linenumber" name="78" href="#78">78</a>      }
-<a class="jxr_linenumber" name="79" href="#79">79</a>      <strong class="jxr_keyword">public</strong> String getFilter()
+<a class="jxr_linenumber" name="79" href="#79">79</a>      <strong class="jxr_keyword">public</strong> String getBcv()
 <a class="jxr_linenumber" name="80" href="#80">80</a>      {
-<a class="jxr_linenumber" name="81" href="#81">81</a>        <strong class="jxr_keyword">return</strong> m_filter;
+<a class="jxr_linenumber" name="81" href="#81">81</a>        <strong class="jxr_keyword">return</strong> m_bcv;
 <a class="jxr_linenumber" name="82" href="#82">82</a>      }
-<a class="jxr_linenumber" name="83" href="#83">83</a>      <strong class="jxr_keyword">private</strong> String m_filter;
-<a class="jxr_linenumber" name="84" href="#84">84</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getFilter__IsNotDefault()
+<a class="jxr_linenumber" name="83" href="#83">83</a>      <strong class="jxr_keyword">private</strong> String m_bcv;
+<a class="jxr_linenumber" name="84" href="#84">84</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getBcv__IsNotDefault()
 <a class="jxr_linenumber" name="85" href="#85">85</a>      {
-<a class="jxr_linenumber" name="86" href="#86">86</a>        <strong class="jxr_keyword">return</strong> m_filter__IsNotDefault;
+<a class="jxr_linenumber" name="86" href="#86">86</a>        <strong class="jxr_keyword">return</strong> m_bcv__IsNotDefault;
 <a class="jxr_linenumber" name="87" href="#87">87</a>      }
-<a class="jxr_linenumber" name="88" href="#88">88</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_filter__IsNotDefault;
-<a class="jxr_linenumber" name="89" href="#89">89</a>      <em class="jxr_comment">// 24, 1</em>
-<a class="jxr_linenumber" name="90" href="#90">90</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setBcv(String bcv)
+<a class="jxr_linenumber" name="88" href="#88">88</a>      <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_bcv__IsNotDefault;
+<a class="jxr_linenumber" name="89" href="#89">89</a>      <em class="jxr_comment">// 22, 1</em>
+<a class="jxr_linenumber" name="90" href="#90">90</a>      <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setFormat(String format)
 <a class="jxr_linenumber" name="91" href="#91">91</a>      {
-<a class="jxr_linenumber" name="92" href="#92">92</a>        <em class="jxr_comment">// 24, 1</em>
-<a class="jxr_linenumber" name="93" href="#93">93</a>        m_bcv = bcv;
-<a class="jxr_linenumber" name="94" href="#94">94</a>        m_bcv__IsNotDefault = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="92" href="#92">92</a>        <em class="jxr_comment">// 22, 1</em>
+<a class="jxr_linenumber" name="93" href="#93">93</a>        m_format = format;
+<a class="jxr_linenumber" name="94" href="#94">94</a>        m_format__IsNotDefault = <strong class="jxr_keyword">true</strong>;
 <a class="jxr_linenumber" name="95" href="#95">95</a>      }
-<a class="jxr_linenumber" name="96" href="#96">96</a>      <strong class="jxr_keyword">public</strong> String getBcv()
+<a class="jxr_linenumber" name="96" href="#96">96</a>      <strong class="jxr_keyword">public</strong> String getFormat()
 <a class="jxr_linenumber" name="97" href="#97">97</a>      {
-<a class="jxr_linenumber" name="98" href="#98">98</a>        <strong class="jxr_keyword">return</strong> m_bcv;
+<a class="jxr_linenumber" name="98" href="#98">98</a>        <strong class="jxr_keyword">return</strong> m_format;
 <a class="jxr_linenumber" name="99" href="#99">99</a>      }
-<a class="jxr_linenumber" name="100" href="#100">100</a>     <strong class="jxr_keyword">private</strong> String m_bcv;
-<a class="jxr_linenumber" name="101" href="#101">101</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getBcv__IsNotDefault()
+<a class="jxr_linenumber" name="100" href="#100">100</a>     <strong class="jxr_keyword">private</strong> String m_format;
+<a class="jxr_linenumber" name="101" href="#101">101</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getFormat__IsNotDefault()
 <a class="jxr_linenumber" name="102" href="#102">102</a>     {
-<a class="jxr_linenumber" name="103" href="#103">103</a>       <strong class="jxr_keyword">return</strong> m_bcv__IsNotDefault;
+<a class="jxr_linenumber" name="103" href="#103">103</a>       <strong class="jxr_keyword">return</strong> m_format__IsNotDefault;
 <a class="jxr_linenumber" name="104" href="#104">104</a>     }
-<a class="jxr_linenumber" name="105" href="#105">105</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_bcv__IsNotDefault;
-<a class="jxr_linenumber" name="106" href="#106">106</a>     <em class="jxr_comment">// 22, 1</em>
-<a class="jxr_linenumber" name="107" href="#107">107</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setFormat(String format)
+<a class="jxr_linenumber" name="105" href="#105">105</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_format__IsNotDefault;
+<a class="jxr_linenumber" name="106" href="#106">106</a>     <em class="jxr_comment">// 21, 1</em>
+<a class="jxr_linenumber" name="107" href="#107">107</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setFilter(String filter)
 <a class="jxr_linenumber" name="108" href="#108">108</a>     {
-<a class="jxr_linenumber" name="109" href="#109">109</a>       <em class="jxr_comment">// 22, 1</em>
-<a class="jxr_linenumber" name="110" href="#110">110</a>       m_format = format;
-<a class="jxr_linenumber" name="111" href="#111">111</a>       m_format__IsNotDefault = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="109" href="#109">109</a>       <em class="jxr_comment">// 21, 1</em>
+<a class="jxr_linenumber" name="110" href="#110">110</a>       m_filter = filter;
+<a class="jxr_linenumber" name="111" href="#111">111</a>       m_filter__IsNotDefault = <strong class="jxr_keyword">true</strong>;
 <a class="jxr_linenumber" name="112" href="#112">112</a>     }
-<a class="jxr_linenumber" name="113" href="#113">113</a>     <strong class="jxr_keyword">public</strong> String getFormat()
+<a class="jxr_linenumber" name="113" href="#113">113</a>     <strong class="jxr_keyword">public</strong> String getFilter()
 <a class="jxr_linenumber" name="114" href="#114">114</a>     {
-<a class="jxr_linenumber" name="115" href="#115">115</a>       <strong class="jxr_keyword">return</strong> m_format;
+<a class="jxr_linenumber" name="115" href="#115">115</a>       <strong class="jxr_keyword">return</strong> m_filter;
 <a class="jxr_linenumber" name="116" href="#116">116</a>     }
-<a class="jxr_linenumber" name="117" href="#117">117</a>     <strong class="jxr_keyword">private</strong> String m_format;
-<a class="jxr_linenumber" name="118" href="#118">118</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getFormat__IsNotDefault()
+<a class="jxr_linenumber" name="117" href="#117">117</a>     <strong class="jxr_keyword">private</strong> String m_filter;
+<a class="jxr_linenumber" name="118" href="#118">118</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> getFilter__IsNotDefault()
 <a class="jxr_linenumber" name="119" href="#119">119</a>     {
-<a class="jxr_linenumber" name="120" href="#120">120</a>       <strong class="jxr_keyword">return</strong> m_format__IsNotDefault;
+<a class="jxr_linenumber" name="120" href="#120">120</a>       <strong class="jxr_keyword">return</strong> m_filter__IsNotDefault;
 <a class="jxr_linenumber" name="121" href="#121">121</a>     }
-<a class="jxr_linenumber" name="122" href="#122">122</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_format__IsNotDefault;
+<a class="jxr_linenumber" name="122" href="#122">122</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> m_filter__IsNotDefault;
 <a class="jxr_linenumber" name="123" href="#123">123</a>     <em class="jxr_comment">// 23, 1</em>
 <a class="jxr_linenumber" name="124" href="#124">124</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setBcn(String bcn)
 <a class="jxr_linenumber" name="125" href="#125">125</a>     {
@@ -158,24 +158,24 @@
 <a class="jxr_linenumber" name="148" href="#148">148</a>     <strong class="jxr_keyword">return</strong> (ImplData) <strong class="jxr_keyword">super</strong>.getImplData();
 <a class="jxr_linenumber" name="149" href="#149">149</a>   }
 <a class="jxr_linenumber" name="150" href="#150">150</a>   
-<a class="jxr_linenumber" name="151" href="#151">151</a>   <strong class="jxr_keyword">protected</strong> String filter;
-<a class="jxr_linenumber" name="152" href="#152">152</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)
+<a class="jxr_linenumber" name="151" href="#151">151</a>   <strong class="jxr_keyword">protected</strong> String bcv;
+<a class="jxr_linenumber" name="152" href="#152">152</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)
 <a class="jxr_linenumber" name="153" href="#153">153</a>   {
-<a class="jxr_linenumber" name="154" href="#154">154</a>     (getImplData()).setFilter(p_filter);
+<a class="jxr_linenumber" name="154" href="#154">154</a>     (getImplData()).setBcv(p_bcv);
 <a class="jxr_linenumber" name="155" href="#155">155</a>     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
 <a class="jxr_linenumber" name="156" href="#156">156</a>   }
 <a class="jxr_linenumber" name="157" href="#157">157</a>   
-<a class="jxr_linenumber" name="158" href="#158">158</a>   <strong class="jxr_keyword">protected</strong> String bcv;
-<a class="jxr_linenumber" name="159" href="#159">159</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setBcv(String p_bcv)
+<a class="jxr_linenumber" name="158" href="#158">158</a>   <strong class="jxr_keyword">protected</strong> String format;
+<a class="jxr_linenumber" name="159" href="#159">159</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)
 <a class="jxr_linenumber" name="160" href="#160">160</a>   {
-<a class="jxr_linenumber" name="161" href="#161">161</a>     (getImplData()).setBcv(p_bcv);
+<a class="jxr_linenumber" name="161" href="#161">161</a>     (getImplData()).setFormat(p_format);
 <a class="jxr_linenumber" name="162" href="#162">162</a>     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
 <a class="jxr_linenumber" name="163" href="#163">163</a>   }
 <a class="jxr_linenumber" name="164" href="#164">164</a>   
-<a class="jxr_linenumber" name="165" href="#165">165</a>   <strong class="jxr_keyword">protected</strong> String format;
-<a class="jxr_linenumber" name="166" href="#166">166</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)
+<a class="jxr_linenumber" name="165" href="#165">165</a>   <strong class="jxr_keyword">protected</strong> String filter;
+<a class="jxr_linenumber" name="166" href="#166">166</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">final</strong> org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)
 <a class="jxr_linenumber" name="167" href="#167">167</a>   {
-<a class="jxr_linenumber" name="168" href="#168">168</a>     (getImplData()).setFormat(p_format);
+<a class="jxr_linenumber" name="168" href="#168">168</a>     (getImplData()).setFilter(p_filter);
 <a class="jxr_linenumber" name="169" href="#169">169</a>     <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>;
 <a class="jxr_linenumber" name="170" href="#170">170</a>   }
 <a class="jxr_linenumber" name="171" href="#171">171</a>   

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/xref/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
----------------------------------------------------------------------
diff --git a/xref/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html b/xref/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
index a7aed11..5257cf4 100644
--- a/xref/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
+++ b/xref/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmplImpl.html
@@ -36,23 +36,23 @@
 <a class="jxr_linenumber" name="26" href="#26">26</a>  
 <a class="jxr_linenumber" name="27" href="#27">27</a>  {
 <a class="jxr_linenumber" name="28" href="#28">28</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../../org/apache/hadoop/hbase/regionserver/HRegionServer.html">HRegionServer</a> regionServer;
-<a class="jxr_linenumber" name="29" href="#29">29</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String filter;
-<a class="jxr_linenumber" name="30" href="#30">30</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String bcv;
-<a class="jxr_linenumber" name="31" href="#31">31</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String format;
+<a class="jxr_linenumber" name="29" href="#29">29</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String bcv;
+<a class="jxr_linenumber" name="30" href="#30">30</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String format;
+<a class="jxr_linenumber" name="31" href="#31">31</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String filter;
 <a class="jxr_linenumber" name="32" href="#32">32</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> String bcn;
 <a class="jxr_linenumber" name="33" href="#33">33</a>    <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl.ImplData __jamon_setOptionalArguments(org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl.ImplData p_implData)
 <a class="jxr_linenumber" name="34" href="#34">34</a>    {
-<a class="jxr_linenumber" name="35" href="#35">35</a>      <strong class="jxr_keyword">if</strong>(! p_implData.getFilter__IsNotDefault())
+<a class="jxr_linenumber" name="35" href="#35">35</a>      <strong class="jxr_keyword">if</strong>(! p_implData.getBcv__IsNotDefault())
 <a class="jxr_linenumber" name="36" href="#36">36</a>      {
-<a class="jxr_linenumber" name="37" href="#37">37</a>        p_implData.setFilter(<span class="jxr_string">"general"</span>);
+<a class="jxr_linenumber" name="37" href="#37">37</a>        p_implData.setBcv(<span class="jxr_string">""</span>);
 <a class="jxr_linenumber" name="38" href="#38">38</a>      }
-<a class="jxr_linenumber" name="39" href="#39">39</a>      <strong class="jxr_keyword">if</strong>(! p_implData.getBcv__IsNotDefault())
+<a class="jxr_linenumber" name="39" href="#39">39</a>      <strong class="jxr_keyword">if</strong>(! p_implData.getFormat__IsNotDefault())
 <a class="jxr_linenumber" name="40" href="#40">40</a>      {
-<a class="jxr_linenumber" name="41" href="#41">41</a>        p_implData.setBcv(<span class="jxr_string">""</span>);
+<a class="jxr_linenumber" name="41" href="#41">41</a>        p_implData.setFormat(<span class="jxr_string">"html"</span>);
 <a class="jxr_linenumber" name="42" href="#42">42</a>      }
-<a class="jxr_linenumber" name="43" href="#43">43</a>      <strong class="jxr_keyword">if</strong>(! p_implData.getFormat__IsNotDefault())
+<a class="jxr_linenumber" name="43" href="#43">43</a>      <strong class="jxr_keyword">if</strong>(! p_implData.getFilter__IsNotDefault())
 <a class="jxr_linenumber" name="44" href="#44">44</a>      {
-<a class="jxr_linenumber" name="45" href="#45">45</a>        p_implData.setFormat(<span class="jxr_string">"html"</span>);
+<a class="jxr_linenumber" name="45" href="#45">45</a>        p_implData.setFilter(<span class="jxr_string">"general"</span>);
 <a class="jxr_linenumber" name="46" href="#46">46</a>      }
 <a class="jxr_linenumber" name="47" href="#47">47</a>      <strong class="jxr_keyword">if</strong>(! p_implData.getBcn__IsNotDefault())
 <a class="jxr_linenumber" name="48" href="#48">48</a>      {
@@ -64,9 +64,9 @@
 <a class="jxr_linenumber" name="54" href="#54">54</a>    {
 <a class="jxr_linenumber" name="55" href="#55">55</a>      <strong class="jxr_keyword">super</strong>(p_templateManager, __jamon_setOptionalArguments(p_implData));
 <a class="jxr_linenumber" name="56" href="#56">56</a>      regionServer = p_implData.getRegionServer();
-<a class="jxr_linenumber" name="57" href="#57">57</a>      filter = p_implData.getFilter();
-<a class="jxr_linenumber" name="58" href="#58">58</a>      bcv = p_implData.getBcv();
-<a class="jxr_linenumber" name="59" href="#59">59</a>      format = p_implData.getFormat();
+<a class="jxr_linenumber" name="57" href="#57">57</a>      bcv = p_implData.getBcv();
+<a class="jxr_linenumber" name="58" href="#58">58</a>      format = p_implData.getFormat();
+<a class="jxr_linenumber" name="59" href="#59">59</a>      filter = p_implData.getFilter();
 <a class="jxr_linenumber" name="60" href="#60">60</a>      bcn = p_implData.getBcn();
 <a class="jxr_linenumber" name="61" href="#61">61</a>    }
 <a class="jxr_linenumber" name="62" href="#62">62</a>    


[19/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html
index 4975851..bf27873 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html
@@ -193,2475 +193,2411 @@
 <span class="sourceLineNo">185</span>   */<a name="line.185"></a>
 <span class="sourceLineNo">186</span>  private static final int DEFAULT_MAX_CALLQUEUE_SIZE = 1024 * 1024 * 1024;<a name="line.186"></a>
 <span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  private static final String WARN_DELAYED_CALLS = "hbase.ipc.warn.delayedrpc.number";<a name="line.188"></a>
+<span class="sourceLineNo">188</span>  private final IPCUtil ipcUtil;<a name="line.188"></a>
 <span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>  private static final int DEFAULT_WARN_DELAYED_CALLS = 1000;<a name="line.190"></a>
-<span class="sourceLineNo">191</span><a name="line.191"></a>
-<span class="sourceLineNo">192</span>  private final int warnDelayedCalls;<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>  private AtomicInteger delayedCalls;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  private final IPCUtil ipcUtil;<a name="line.195"></a>
+<span class="sourceLineNo">190</span>  private static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  private static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  private static final Log AUDITLOG = LogFactory.getLog("SecurityLogger." +<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    Server.class.getName());<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  protected ServiceAuthorizationManager authManager;<a name="line.195"></a>
 <span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  private static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private static final Log AUDITLOG = LogFactory.getLog("SecurityLogger." +<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    Server.class.getName());<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  protected ServiceAuthorizationManager authManager;<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   * after the call returns.<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   */<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  protected static final ThreadLocal&lt;Call&gt; CurCall = new ThreadLocal&lt;Call&gt;();<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      = new ThreadLocal&lt;MonitoredRPCHandler&gt;();<a name="line.211"></a>
-<span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  protected final InetSocketAddress bindAddress;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  protected int port;                             // port we listen on<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  protected InetSocketAddress address;            // inet address we listen on<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  private int readThreads;                        // number of read threads<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  protected int maxIdleTime;                      // the maximum idle time after<a name="line.217"></a>
-<span class="sourceLineNo">218</span>                                                  // which a client may be<a name="line.218"></a>
-<span class="sourceLineNo">219</span>                                                  // disconnected<a name="line.219"></a>
-<span class="sourceLineNo">220</span>  protected int thresholdIdleConnections;         // the number of idle<a name="line.220"></a>
-<span class="sourceLineNo">221</span>                                                  // connections after which we<a name="line.221"></a>
-<span class="sourceLineNo">222</span>                                                  // will start cleaning up idle<a name="line.222"></a>
-<span class="sourceLineNo">223</span>                                                  // connections<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  int maxConnectionsToNuke;                       // the max number of<a name="line.224"></a>
-<span class="sourceLineNo">225</span>                                                  // connections to nuke<a name="line.225"></a>
-<span class="sourceLineNo">226</span>                                                  // during a cleanup<a name="line.226"></a>
-<span class="sourceLineNo">227</span><a name="line.227"></a>
-<span class="sourceLineNo">228</span>  protected MetricsHBaseServer metrics;<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>  protected final Configuration conf;<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  private int maxQueueSize;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  protected int socketSendBufferSize;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  protected final boolean tcpNoDelay;   // if T then disable Nagle's Algorithm<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  protected final long purgeTimeout;    // in milliseconds<a name="line.236"></a>
+<span class="sourceLineNo">197</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * after the call returns.<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   */<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  protected static final ThreadLocal&lt;Call&gt; CurCall = new ThreadLocal&lt;Call&gt;();<a name="line.200"></a>
+<span class="sourceLineNo">201</span><a name="line.201"></a>
+<span class="sourceLineNo">202</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      = new ThreadLocal&lt;MonitoredRPCHandler&gt;();<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected final InetSocketAddress bindAddress;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  protected int port;                             // port we listen on<a name="line.207"></a>
+<span class="sourceLineNo">208</span>  protected InetSocketAddress address;            // inet address we listen on<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  private int readThreads;                        // number of read threads<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  protected int maxIdleTime;                      // the maximum idle time after<a name="line.210"></a>
+<span class="sourceLineNo">211</span>                                                  // which a client may be<a name="line.211"></a>
+<span class="sourceLineNo">212</span>                                                  // disconnected<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  protected int thresholdIdleConnections;         // the number of idle<a name="line.213"></a>
+<span class="sourceLineNo">214</span>                                                  // connections after which we<a name="line.214"></a>
+<span class="sourceLineNo">215</span>                                                  // will start cleaning up idle<a name="line.215"></a>
+<span class="sourceLineNo">216</span>                                                  // connections<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  int maxConnectionsToNuke;                       // the max number of<a name="line.217"></a>
+<span class="sourceLineNo">218</span>                                                  // connections to nuke<a name="line.218"></a>
+<span class="sourceLineNo">219</span>                                                  // during a cleanup<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  protected MetricsHBaseServer metrics;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  protected final Configuration conf;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private int maxQueueSize;<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  protected int socketSendBufferSize;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  protected final boolean tcpNoDelay;   // if T then disable Nagle's Algorithm<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.228"></a>
+<span class="sourceLineNo">229</span>  protected final long purgeTimeout;    // in milliseconds<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>  /**<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   */<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  volatile boolean running = true;<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>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  volatile boolean running = true;<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>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * for business by the call to {@link #start()}.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  volatile boolean started = false;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * This is a running count of the size of all outstanding calls by size.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  protected final Counter callQueueSize = new Counter();<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  protected final List&lt;Connection&gt; connectionList =<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    Collections.synchronizedList(new LinkedList&lt;Connection&gt;());<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  //maintain a list<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  //of client connections<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  private Listener listener = null;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  protected Responder responder = null;<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  protected int numConnections = 0;<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.265"></a>
+<span class="sourceLineNo">239</span>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * for business by the call to {@link #start()}.<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   */<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  volatile boolean started = false;<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>   * This is a running count of the size of all outstanding calls by size.<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  protected final Counter callQueueSize = new Counter();<a name="line.247"></a>
+<span class="sourceLineNo">248</span><a name="line.248"></a>
+<span class="sourceLineNo">249</span>  protected final List&lt;Connection&gt; connectionList =<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    Collections.synchronizedList(new LinkedList&lt;Connection&gt;());<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  //maintain a list<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  //of client connections<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  private Listener listener = null;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  protected Responder responder = null;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  protected int numConnections = 0;<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  private static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  private static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.261"></a>
+<span class="sourceLineNo">262</span><a name="line.262"></a>
+<span class="sourceLineNo">263</span>  /** Default value for above params */<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  private static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  private static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.265"></a>
 <span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>  private static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  private static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  /** Default value for above params */<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.272"></a>
+<span class="sourceLineNo">267</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>  private final int warnResponseTime;<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  private final int warnResponseSize;<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  private final Server server;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  private final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.272"></a>
 <span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.274"></a>
+<span class="sourceLineNo">274</span>  private final RpcScheduler scheduler;<a name="line.274"></a>
 <span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>  private final int warnResponseTime;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private final int warnResponseSize;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  private final Server server;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  private final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private final RpcScheduler scheduler;<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  private UserProvider userProvider;<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  private final BoundedByteBufferPool reservoir;<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  private volatile boolean allowFallbackToSimpleAuth;<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  /**<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   * Datastructure that holds all necessary to a method invocation and then afterward, carries<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * the result.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   */<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  class Call implements RpcCallContext {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    protected int id;                             // the client's call id<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    protected BlockingService service;<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    protected MethodDescriptor md;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    protected RequestHeader header;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    protected Message param;                      // the parameter passed<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    // Optional cell data passed outside of protobufs.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected CellScanner cellScanner;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    protected Connection connection;              // connection to client<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    protected long timestamp;      // the time received when response is null<a name="line.302"></a>
-<span class="sourceLineNo">303</span>                                   // the time served when response is not null<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    /**<a name="line.304"></a>
-<span class="sourceLineNo">305</span>     * Chain of buffers to send as response.<a name="line.305"></a>
-<span class="sourceLineNo">306</span>     */<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    protected BufferChain response;<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    protected boolean delayResponse;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    protected Responder responder;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    protected boolean delayReturnValue;           // if the return value should be<a name="line.310"></a>
-<span class="sourceLineNo">311</span>                                                  // set at call completion<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    protected long size;                          // size of current call<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    protected boolean isError;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    protected TraceInfo tinfo;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    private ByteBuffer cellBlock = null;<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    private User user;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    private InetAddress remoteAddress;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    private RpcCallback callback;<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>    private long responseCellSize = 0;<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    private long responseBlockSize = 0;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    private boolean retryImmediatelySupported;<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        justification="Can't figure why this complaint is happening... see below")<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    Call(int id, final BlockingService service, final MethodDescriptor md, RequestHeader header,<a name="line.327"></a>
-<span class="sourceLineNo">328</span>         Message param, CellScanner cellScanner, Connection connection, Responder responder,<a name="line.328"></a>
-<span class="sourceLineNo">329</span>         long size, TraceInfo tinfo, final InetAddress remoteAddress) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      this.id = id;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      this.service = service;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      this.md = md;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      this.header = header;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      this.param = param;<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      this.cellScanner = cellScanner;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      this.connection = connection;<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      this.timestamp = System.currentTimeMillis();<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      this.response = null;<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      this.delayResponse = false;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      this.responder = responder;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      this.isError = false;<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      this.size = size;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      this.tinfo = tinfo;<a name="line.343"></a>
-<span class="sourceLineNo">344</span>      this.user = connection == null? null: connection.user; // FindBugs: NP_NULL_ON_SOME_PATH<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      this.remoteAddress = remoteAddress;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      this.retryImmediatelySupported =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>          connection == null? null: connection.retryImmediatelySupported;<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>     * Call is done. Execution happened and we returned results to client. It is now safe to<a name="line.351"></a>
-<span class="sourceLineNo">352</span>     * cleanup.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>     */<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IS2_INCONSISTENT_SYNC",<a name="line.354"></a>
-<span class="sourceLineNo">355</span>        justification="Presume the lock on processing request held by caller is protection enough")<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    void done() {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      if (this.cellBlock != null &amp;&amp; reservoir != null) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>        // Return buffer to reservoir now we are done with it.<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        reservoir.putBuffer(this.cellBlock);<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        this.cellBlock = null;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      }<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      this.connection.decRpcCount();  // Say that we're done with this call.<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    }<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>    @Override<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    public String toString() {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      return toShortString() + " param: " +<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        (this.param != null? ProtobufUtil.getShortTextFormat(this.param): "") +<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        " connection: " + connection.toString();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    protected RequestHeader getHeader() {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      return this.header;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    }<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>    /*<a name="line.376"></a>
-<span class="sourceLineNo">377</span>     * Short string representation without param info because param itself could be huge depends on<a name="line.377"></a>
-<span class="sourceLineNo">378</span>     * the payload of a command<a name="line.378"></a>
-<span class="sourceLineNo">379</span>     */<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    String toShortString() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      String serviceName = this.connection.service != null ?<a name="line.381"></a>
-<span class="sourceLineNo">382</span>          this.connection.service.getDescriptorForType().getName() : "null";<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      return "callId: " + this.id + " service: " + serviceName +<a name="line.383"></a>
-<span class="sourceLineNo">384</span>          " methodName: " + ((this.md != null) ? this.md.getName() : "n/a") +<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          " size: " + StringUtils.TraditionalBinaryPrefix.long2String(this.size, "", 1) +<a name="line.385"></a>
-<span class="sourceLineNo">386</span>          " connection: " + connection.toString();<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    String toTraceString() {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      String serviceName = this.connection.service != null ?<a name="line.390"></a>
-<span class="sourceLineNo">391</span>                           this.connection.service.getDescriptorForType().getName() : "";<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      String methodName = (this.md != null) ? this.md.getName() : "";<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      return serviceName + "." + methodName;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>    protected synchronized void setSaslTokenResponse(ByteBuffer response) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      this.response = new BufferChain(response);<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>    protected synchronized void setResponse(Object m, final CellScanner cells,<a name="line.400"></a>
-<span class="sourceLineNo">401</span>        Throwable t, String errorMsg) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      if (this.isError) return;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      if (t != null) this.isError = true;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      BufferChain bc = null;<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      try {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>        ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        // Presume it a pb Message.  Could be null.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        Message result = (Message)m;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        // Call id.<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        headerBuilder.setCallId(this.id);<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        if (t != null) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>          ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();<a name="line.412"></a>
-<span class="sourceLineNo">413</span>          exceptionBuilder.setExceptionClassName(t.getClass().getName());<a name="line.413"></a>
-<span class="sourceLineNo">414</span>          exceptionBuilder.setStackTrace(errorMsg);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>          exceptionBuilder.setDoNotRetry(t instanceof DoNotRetryIOException);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          if (t instanceof RegionMovedException) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>            // Special casing for this exception.  This is only one carrying a payload.<a name="line.417"></a>
-<span class="sourceLineNo">418</span>            // Do this instead of build a generic system for allowing exceptions carry<a name="line.418"></a>
-<span class="sourceLineNo">419</span>            // any kind of payload.<a name="line.419"></a>
-<span class="sourceLineNo">420</span>            RegionMovedException rme = (RegionMovedException)t;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>            exceptionBuilder.setHostname(rme.getHostname());<a name="line.421"></a>
-<span class="sourceLineNo">422</span>            exceptionBuilder.setPort(rme.getPort());<a name="line.422"></a>
-<span class="sourceLineNo">423</span>          }<a name="line.423"></a>
-<span class="sourceLineNo">424</span>          // Set the exception as the result of the method invocation.<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          headerBuilder.setException(exceptionBuilder.build());<a name="line.425"></a>
-<span class="sourceLineNo">426</span>        }<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        // Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        // reservoir when finished. This is hacky and the hack is not contained but benefits are<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        // high when we can avoid a big buffer allocation on each rpc.<a name="line.429"></a>
-<span class="sourceLineNo">430</span>        this.cellBlock = ipcUtil.buildCellBlock(this.connection.codec,<a name="line.430"></a>
-<span class="sourceLineNo">431</span>          this.connection.compressionCodec, cells, reservoir);<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        if (this.cellBlock != null) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>          CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          // Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.<a name="line.434"></a>
-<span class="sourceLineNo">435</span>          cellBlockBuilder.setLength(this.cellBlock.limit());<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          headerBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        }<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        Message header = headerBuilder.build();<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>        // Organize the response as a set of bytebuffers rather than collect it all together inside<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        // one big byte array; save on allocations.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>        ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);<a name="line.442"></a>
-<span class="sourceLineNo">443</span>        ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);<a name="line.443"></a>
-<span class="sourceLineNo">444</span>        int totalSize = bbHeader.capacity() + (bbResult == null? 0: bbResult.limit()) +<a name="line.444"></a>
-<span class="sourceLineNo">445</span>          (this.cellBlock == null? 0: this.cellBlock.limit());<a name="line.445"></a>
-<span class="sourceLineNo">446</span>        ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));<a name="line.446"></a>
-<span class="sourceLineNo">447</span>        bc = new BufferChain(bbTotalSize, bbHeader, bbResult, this.cellBlock);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        if (connection.useWrap) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>          bc = wrapWithSasl(bc);<a name="line.449"></a>
-<span class="sourceLineNo">450</span>        }<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      } catch (IOException e) {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        LOG.warn("Exception while creating response " + e);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      }<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      this.response = bc;<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      // Once a response message is created and set to this.response, this Call can be treated as<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      // done. The Responder thread will do the n/w write of this message back to client.<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      if (this.callback != null) {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        try {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          this.callback.run();<a name="line.459"></a>
-<span class="sourceLineNo">460</span>        } catch (Exception e) {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          // Don't allow any exception here to kill this handler thread.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>          LOG.warn("Exception while running the Rpc Callback.", e);<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>    }<a name="line.465"></a>
-<span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span>    private BufferChain wrapWithSasl(BufferChain bc)<a name="line.467"></a>
-<span class="sourceLineNo">468</span>        throws IOException {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      if (!this.connection.useSasl) return bc;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      // Looks like no way around this; saslserver wants a byte array.  I have to make it one.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      // THIS IS A BIG UGLY COPY.<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      byte [] responseBytes = bc.getBytes();<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      byte [] token;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      // synchronization may be needed since there can be multiple Handler<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      // threads using saslServer to wrap responses.<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      synchronized (connection.saslServer) {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (LOG.isTraceEnabled()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        LOG.trace("Adding saslServer wrapped token of size " + token.length<a name="line.480"></a>
-<span class="sourceLineNo">481</span>            + " as call response.");<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      }<a name="line.482"></a>
+<span class="sourceLineNo">276</span>  private UserProvider userProvider;<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  private final BoundedByteBufferPool reservoir;<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>  private volatile boolean allowFallbackToSimpleAuth;<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * Datastructure that holds all necessary to a method invocation and then afterward, carries<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * the result.<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   */<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  class Call implements RpcCallContext {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    protected int id;                             // the client's call id<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    protected BlockingService service;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    protected MethodDescriptor md;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    protected RequestHeader header;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    protected Message param;                      // the parameter passed<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    // Optional cell data passed outside of protobufs.<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    protected CellScanner cellScanner;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    protected Connection connection;              // connection to client<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    protected long timestamp;      // the time received when response is null<a name="line.295"></a>
+<span class="sourceLineNo">296</span>                                   // the time served when response is not null<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    /**<a name="line.297"></a>
+<span class="sourceLineNo">298</span>     * Chain of buffers to send as response.<a name="line.298"></a>
+<span class="sourceLineNo">299</span>     */<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    protected BufferChain response;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    protected Responder responder;<a name="line.301"></a>
+<span class="sourceLineNo">302</span><a name="line.302"></a>
+<span class="sourceLineNo">303</span>    protected long size;                          // size of current call<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    protected boolean isError;<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    protected TraceInfo tinfo;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    private ByteBuffer cellBlock = null;<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>    private User user;<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    private InetAddress remoteAddress;<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    private RpcCallback callback;<a name="line.310"></a>
+<span class="sourceLineNo">311</span><a name="line.311"></a>
+<span class="sourceLineNo">312</span>    private long responseCellSize = 0;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    private long responseBlockSize = 0;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    private boolean retryImmediatelySupported;<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.316"></a>
+<span class="sourceLineNo">317</span>        justification="Can't figure why this complaint is happening... see below")<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    Call(int id, final BlockingService service, final MethodDescriptor md, RequestHeader header,<a name="line.318"></a>
+<span class="sourceLineNo">319</span>         Message param, CellScanner cellScanner, Connection connection, Responder responder,<a name="line.319"></a>
+<span class="sourceLineNo">320</span>         long size, TraceInfo tinfo, final InetAddress remoteAddress) {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      this.id = id;<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      this.service = service;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      this.md = md;<a name="line.323"></a>
+<span class="sourceLineNo">324</span>      this.header = header;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      this.param = param;<a name="line.325"></a>
+<span class="sourceLineNo">326</span>      this.cellScanner = cellScanner;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      this.connection = connection;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>      this.timestamp = System.currentTimeMillis();<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      this.response = null;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      this.responder = responder;<a name="line.330"></a>
+<span class="sourceLineNo">331</span>      this.isError = false;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      this.size = size;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      this.tinfo = tinfo;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      this.user = connection == null? null: connection.user; // FindBugs: NP_NULL_ON_SOME_PATH<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      this.remoteAddress = remoteAddress;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      this.retryImmediatelySupported =<a name="line.336"></a>
+<span class="sourceLineNo">337</span>          connection == null? null: connection.retryImmediatelySupported;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span>    /**<a name="line.340"></a>
+<span class="sourceLineNo">341</span>     * Call is done. Execution happened and we returned results to client. It is now safe to<a name="line.341"></a>
+<span class="sourceLineNo">342</span>     * cleanup.<a name="line.342"></a>
+<span class="sourceLineNo">343</span>     */<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IS2_INCONSISTENT_SYNC",<a name="line.344"></a>
+<span class="sourceLineNo">345</span>        justification="Presume the lock on processing request held by caller is protection enough")<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    void done() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      if (this.cellBlock != null &amp;&amp; reservoir != null) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>        // Return buffer to reservoir now we are done with it.<a name="line.348"></a>
+<span class="sourceLineNo">349</span>        reservoir.putBuffer(this.cellBlock);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>        this.cellBlock = null;<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      }<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      this.connection.decRpcCount();  // Say that we're done with this call.<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    }<a name="line.353"></a>
+<span class="sourceLineNo">354</span><a name="line.354"></a>
+<span class="sourceLineNo">355</span>    @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    public String toString() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>      return toShortString() + " param: " +<a name="line.357"></a>
+<span class="sourceLineNo">358</span>        (this.param != null? ProtobufUtil.getShortTextFormat(this.param): "") +<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        " connection: " + connection.toString();<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    }<a name="line.360"></a>
+<span class="sourceLineNo">361</span><a name="line.361"></a>
+<span class="sourceLineNo">362</span>    protected RequestHeader getHeader() {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>      return this.header;<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>     * Short string representation without param info because param itself could be huge depends on<a name="line.367"></a>
+<span class="sourceLineNo">368</span>     * the payload of a command<a name="line.368"></a>
+<span class="sourceLineNo">369</span>     */<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    String toShortString() {<a name="line.370"></a>
+<span class="sourceLineNo">371</span>      String serviceName = this.connection.service != null ?<a name="line.371"></a>
+<span class="sourceLineNo">372</span>          this.connection.service.getDescriptorForType().getName() : "null";<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      return "callId: " + this.id + " service: " + serviceName +<a name="line.373"></a>
+<span class="sourceLineNo">374</span>          " methodName: " + ((this.md != null) ? this.md.getName() : "n/a") +<a name="line.374"></a>
+<span class="sourceLineNo">375</span>          " size: " + StringUtils.TraditionalBinaryPrefix.long2String(this.size, "", 1) +<a name="line.375"></a>
+<span class="sourceLineNo">376</span>          " connection: " + connection.toString();<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    String toTraceString() {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      String serviceName = this.connection.service != null ?<a name="line.380"></a>
+<span class="sourceLineNo">381</span>                           this.connection.service.getDescriptorForType().getName() : "";<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      String methodName = (this.md != null) ? this.md.getName() : "";<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      return serviceName + "." + methodName;<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>    protected synchronized void setSaslTokenResponse(ByteBuffer response) {<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      this.response = new BufferChain(response);<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    }<a name="line.388"></a>
+<span class="sourceLineNo">389</span><a name="line.389"></a>
+<span class="sourceLineNo">390</span>    protected synchronized void setResponse(Object m, final CellScanner cells,<a name="line.390"></a>
+<span class="sourceLineNo">391</span>        Throwable t, String errorMsg) {<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      if (this.isError) return;<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      if (t != null) this.isError = true;<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      BufferChain bc = null;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>      try {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>        ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();<a name="line.396"></a>
+<span class="sourceLineNo">397</span>        // Presume it a pb Message.  Could be null.<a name="line.397"></a>
+<span class="sourceLineNo">398</span>        Message result = (Message)m;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>        // Call id.<a name="line.399"></a>
+<span class="sourceLineNo">400</span>        headerBuilder.setCallId(this.id);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>        if (t != null) {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>          ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();<a name="line.402"></a>
+<span class="sourceLineNo">403</span>          exceptionBuilder.setExceptionClassName(t.getClass().getName());<a name="line.403"></a>
+<span class="sourceLineNo">404</span>          exceptionBuilder.setStackTrace(errorMsg);<a name="line.404"></a>
+<span class="sourceLineNo">405</span>          exceptionBuilder.setDoNotRetry(t instanceof DoNotRetryIOException);<a name="line.405"></a>
+<span class="sourceLineNo">406</span>          if (t instanceof RegionMovedException) {<a name="line.406"></a>
+<span class="sourceLineNo">407</span>            // Special casing for this exception.  This is only one carrying a payload.<a name="line.407"></a>
+<span class="sourceLineNo">408</span>            // Do this instead of build a generic system for allowing exceptions carry<a name="line.408"></a>
+<span class="sourceLineNo">409</span>            // any kind of payload.<a name="line.409"></a>
+<span class="sourceLineNo">410</span>            RegionMovedException rme = (RegionMovedException)t;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>            exceptionBuilder.setHostname(rme.getHostname());<a name="line.411"></a>
+<span class="sourceLineNo">412</span>            exceptionBuilder.setPort(rme.getPort());<a name="line.412"></a>
+<span class="sourceLineNo">413</span>          }<a name="line.413"></a>
+<span class="sourceLineNo">414</span>          // Set the exception as the result of the method invocation.<a name="line.414"></a>
+<span class="sourceLineNo">415</span>          headerBuilder.setException(exceptionBuilder.build());<a name="line.415"></a>
+<span class="sourceLineNo">416</span>        }<a name="line.416"></a>
+<span class="sourceLineNo">417</span>        // Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the<a name="line.417"></a>
+<span class="sourceLineNo">418</span>        // reservoir when finished. This is hacky and the hack is not contained but benefits are<a name="line.418"></a>
+<span class="sourceLineNo">419</span>        // high when we can avoid a big buffer allocation on each rpc.<a name="line.419"></a>
+<span class="sourceLineNo">420</span>        this.cellBlock = ipcUtil.buildCellBlock(this.connection.codec,<a name="line.420"></a>
+<span class="sourceLineNo">421</span>          this.connection.compressionCodec, cells, reservoir);<a name="line.421"></a>
+<span class="sourceLineNo">422</span>        if (this.cellBlock != null) {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>          CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();<a name="line.423"></a>
+<span class="sourceLineNo">424</span>          // Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.<a name="line.424"></a>
+<span class="sourceLineNo">425</span>          cellBlockBuilder.setLength(this.cellBlock.limit());<a name="line.425"></a>
+<span class="sourceLineNo">426</span>          headerBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.426"></a>
+<span class="sourceLineNo">427</span>        }<a name="line.427"></a>
+<span class="sourceLineNo">428</span>        Message header = headerBuilder.build();<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>        // Organize the response as a set of bytebuffers rather than collect it all together inside<a name="line.430"></a>
+<span class="sourceLineNo">431</span>        // one big byte array; save on allocations.<a name="line.431"></a>
+<span class="sourceLineNo">432</span>        ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);<a name="line.432"></a>
+<span class="sourceLineNo">433</span>        ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        int totalSize = bbHeader.capacity() + (bbResult == null? 0: bbResult.limit()) +<a name="line.434"></a>
+<span class="sourceLineNo">435</span>          (this.cellBlock == null? 0: this.cellBlock.limit());<a name="line.435"></a>
+<span class="sourceLineNo">436</span>        ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));<a name="line.436"></a>
+<span class="sourceLineNo">437</span>        bc = new BufferChain(bbTotalSize, bbHeader, bbResult, this.cellBlock);<a name="line.437"></a>
+<span class="sourceLineNo">438</span>        if (connection.useWrap) {<a name="line.438"></a>
+<span class="sourceLineNo">439</span>          bc = wrapWithSasl(bc);<a name="line.439"></a>
+<span class="sourceLineNo">440</span>        }<a name="line.440"></a>
+<span class="sourceLineNo">441</span>      } catch (IOException e) {<a name="line.441"></a>
+<span class="sourceLineNo">442</span>        LOG.warn("Exception while creating response " + e);<a name="line.442"></a>
+<span class="sourceLineNo">443</span>      }<a name="line.443"></a>
+<span class="sourceLineNo">444</span>      this.response = bc;<a name="line.444"></a>
+<span class="sourceLineNo">445</span>      // Once a response message is created and set to this.response, this Call can be treated as<a name="line.445"></a>
+<span class="sourceLineNo">446</span>      // done. The Responder thread will do the n/w write of this message back to client.<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      if (this.callback != null) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>        try {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>          this.callback.run();<a name="line.449"></a>
+<span class="sourceLineNo">450</span>        } catch (Exception e) {<a name="line.450"></a>
+<span class="sourceLineNo">451</span>          // Don't allow any exception here to kill this handler thread.<a name="line.451"></a>
+<span class="sourceLineNo">452</span>          LOG.warn("Exception while running the Rpc Callback.", 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>    }<a name="line.455"></a>
+<span class="sourceLineNo">456</span><a name="line.456"></a>
+<span class="sourceLineNo">457</span>    private BufferChain wrapWithSasl(BufferChain bc)<a name="line.457"></a>
+<span class="sourceLineNo">458</span>        throws IOException {<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      if (!this.connection.useSasl) return bc;<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      // Looks like no way around this; saslserver wants a byte array.  I have to make it one.<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      // THIS IS A BIG UGLY COPY.<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      byte [] responseBytes = bc.getBytes();<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      byte [] token;<a name="line.463"></a>
+<span class="sourceLineNo">464</span>      // synchronization may be needed since there can be multiple Handler<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      // threads using saslServer to wrap responses.<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      synchronized (connection.saslServer) {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>        token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);<a name="line.467"></a>
+<span class="sourceLineNo">468</span>      }<a name="line.468"></a>
+<span class="sourceLineNo">469</span>      if (LOG.isTraceEnabled()) {<a name="line.469"></a>
+<span class="sourceLineNo">470</span>        LOG.trace("Adding saslServer wrapped token of size " + token.length<a name="line.470"></a>
+<span class="sourceLineNo">471</span>            + " as call response.");<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      }<a name="line.472"></a>
+<span class="sourceLineNo">473</span><a name="line.473"></a>
+<span class="sourceLineNo">474</span>      ByteBuffer bbTokenLength = ByteBuffer.wrap(Bytes.toBytes(token.length));<a name="line.474"></a>
+<span class="sourceLineNo">475</span>      ByteBuffer bbTokenBytes = ByteBuffer.wrap(token);<a name="line.475"></a>
+<span class="sourceLineNo">476</span>      return new BufferChain(bbTokenLength, bbTokenBytes);<a name="line.476"></a>
+<span class="sourceLineNo">477</span>    }<a name="line.477"></a>
+<span class="sourceLineNo">478</span><a name="line.478"></a>
+<span class="sourceLineNo">479</span>    @Override<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    public boolean isClientCellBlockSupported() {<a name="line.480"></a>
+<span class="sourceLineNo">481</span>      return this.connection != null &amp;&amp; this.connection.codec != null;<a name="line.481"></a>
+<span class="sourceLineNo">482</span>    }<a name="line.482"></a>
 <span class="sourceLineNo">483</span><a name="line.483"></a>
-<span class="sourceLineNo">484</span>      ByteBuffer bbTokenLength = ByteBuffer.wrap(Bytes.toBytes(token.length));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      ByteBuffer bbTokenBytes = ByteBuffer.wrap(token);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>      return new BufferChain(bbTokenLength, bbTokenBytes);<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>    @Override<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    public synchronized void endDelay(Object result) throws IOException {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      assert this.delayResponse;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      assert this.delayReturnValue || result == null;<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      this.delayResponse = false;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      delayedCalls.decrementAndGet();<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      if (this.delayReturnValue) {<a name="line.495"></a>
-<span class="sourceLineNo">496</span>        this.setResponse(result, null, null, null);<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      }<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      this.responder.doRespond(this);<a name="line.498"></a>
+<span class="sourceLineNo">484</span>    @Override<a name="line.484"></a>
+<span class="sourceLineNo">485</span>    public long disconnectSince() {<a name="line.485"></a>
+<span class="sourceLineNo">486</span>      if (!connection.channel.isOpen()) {<a name="line.486"></a>
+<span class="sourceLineNo">487</span>        return System.currentTimeMillis() - timestamp;<a name="line.487"></a>
+<span class="sourceLineNo">488</span>      } else {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>        return -1L;<a name="line.489"></a>
+<span class="sourceLineNo">490</span>      }<a name="line.490"></a>
+<span class="sourceLineNo">491</span>    }<a name="line.491"></a>
+<span class="sourceLineNo">492</span><a name="line.492"></a>
+<span class="sourceLineNo">493</span>    public long getSize() {<a name="line.493"></a>
+<span class="sourceLineNo">494</span>      return this.size;<a name="line.494"></a>
+<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
+<span class="sourceLineNo">496</span><a name="line.496"></a>
+<span class="sourceLineNo">497</span>    public long getResponseCellSize() {<a name="line.497"></a>
+<span class="sourceLineNo">498</span>      return responseCellSize;<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>    @Override<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    public synchronized void endDelay() throws IOException {<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      this.endDelay(null);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    }<a name="line.504"></a>
-<span class="sourceLineNo">505</span><a name="line.505"></a>
-<span class="sourceLineNo">506</span>    @Override<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    public synchronized void startDelay(boolean delayReturnValue) {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      assert !this.delayResponse;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      this.delayResponse = true;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      this.delayReturnValue = delayReturnValue;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      int numDelayed = delayedCalls.incrementAndGet();<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      if (numDelayed &gt; warnDelayedCalls) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        LOG.warn("Too many delayed calls: limit " + warnDelayedCalls + " current " + numDelayed);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    }<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>    @Override<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    public synchronized void endDelayThrowing(Throwable t) throws IOException {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      this.setResponse(null, null, t, StringUtils.stringifyException(t));<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      this.delayResponse = false;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      this.sendResponseIfReady();<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    }<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    @Override<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    public synchronized boolean isDelayed() {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>      return this.delayResponse;<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    }<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    public synchronized boolean isReturnValueDelayed() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      return this.delayReturnValue;<a name="line.531"></a>
+<span class="sourceLineNo">501</span>    public void incrementResponseCellSize(long cellSize) {<a name="line.501"></a>
+<span class="sourceLineNo">502</span>      responseCellSize += cellSize;<a name="line.502"></a>
+<span class="sourceLineNo">503</span>    }<a name="line.503"></a>
+<span class="sourceLineNo">504</span><a name="line.504"></a>
+<span class="sourceLineNo">505</span>    @Override<a name="line.505"></a>
+<span class="sourceLineNo">506</span>    public long getResponseBlockSize() {<a name="line.506"></a>
+<span class="sourceLineNo">507</span>      return responseBlockSize;<a name="line.507"></a>
+<span class="sourceLineNo">508</span>    }<a name="line.508"></a>
+<span class="sourceLineNo">509</span><a name="line.509"></a>
+<span class="sourceLineNo">510</span>    @Override<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    public void incrementResponseBlockSize(long blockSize) {<a name="line.511"></a>
+<span class="sourceLineNo">512</span>      responseBlockSize += blockSize;<a name="line.512"></a>
+<span class="sourceLineNo">513</span>    }<a name="line.513"></a>
+<span class="sourceLineNo">514</span><a name="line.514"></a>
+<span class="sourceLineNo">515</span>    public synchronized void sendResponseIfReady() throws IOException {<a name="line.515"></a>
+<span class="sourceLineNo">516</span>      this.responder.doRespond(this);<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>    public UserGroupInformation getRemoteUser() {<a name="line.519"></a>
+<span class="sourceLineNo">520</span>      return connection.ugi;<a name="line.520"></a>
+<span class="sourceLineNo">521</span>    }<a name="line.521"></a>
+<span class="sourceLineNo">522</span><a name="line.522"></a>
+<span class="sourceLineNo">523</span>    @Override<a name="line.523"></a>
+<span class="sourceLineNo">524</span>    public User getRequestUser() {<a name="line.524"></a>
+<span class="sourceLineNo">525</span>      return user;<a name="line.525"></a>
+<span class="sourceLineNo">526</span>    }<a name="line.526"></a>
+<span class="sourceLineNo">527</span><a name="line.527"></a>
+<span class="sourceLineNo">528</span>    @Override<a name="line.528"></a>
+<span class="sourceLineNo">529</span>    public String getRequestUserName() {<a name="line.529"></a>
+<span class="sourceLineNo">530</span>      User user = getRequestUser();<a name="line.530"></a>
+<span class="sourceLineNo">531</span>      return user == null? null: user.getShortName();<a name="line.531"></a>
 <span class="sourceLineNo">532</span>    }<a name="line.532"></a>
 <span class="sourceLineNo">533</span><a name="line.533"></a>
 <span class="sourceLineNo">534</span>    @Override<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    public boolean isClientCellBlockSupported() {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      return this.connection != null &amp;&amp; this.connection.codec != null;<a name="line.536"></a>
+<span class="sourceLineNo">535</span>    public InetAddress getRemoteAddress() {<a name="line.535"></a>
+<span class="sourceLineNo">536</span>      return remoteAddress;<a name="line.536"></a>
 <span class="sourceLineNo">537</span>    }<a name="line.537"></a>
 <span class="sourceLineNo">538</span><a name="line.538"></a>
 <span class="sourceLineNo">539</span>    @Override<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    public long disconnectSince() {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      if (!connection.channel.isOpen()) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        return System.currentTimeMillis() - timestamp;<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      } else {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>        return -1L;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      }<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>    public long getSize() {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      return this.size;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    }<a name="line.550"></a>
-<span class="sourceLineNo">551</span><a name="line.551"></a>
-<span class="sourceLineNo">552</span>    public long getResponseCellSize() {<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      return responseCellSize;<a name="line.553"></a>
-<span class="sourceLineNo">554</span>    }<a name="line.554"></a>
-<span class="sourceLineNo">555</span><a name="line.555"></a>
-<span class="sourceLineNo">556</span>    public void incrementResponseCellSize(long cellSize) {<a name="line.556"></a>
-<span class="sourceLineNo">557</span>      responseCellSize += cellSize;<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    }<a name="line.558"></a>
-<span class="sourceLineNo">559</span><a name="line.559"></a>
-<span class="sourceLineNo">560</span>    @Override<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    public long getResponseBlockSize() {<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      return responseBlockSize;<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span><a name="line.564"></a>
-<span class="sourceLineNo">565</span>    @Override<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    public void incrementResponseBlockSize(long blockSize) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      responseBlockSize += blockSize;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    /**<a name="line.570"></a>
-<span class="sourceLineNo">571</span>     * If we have a response, and delay is not set, then respond<a name="line.571"></a>
-<span class="sourceLineNo">572</span>     * immediately.  Otherwise, do not respond to client.  This is<a name="line.572"></a>
-<span class="sourceLineNo">573</span>     * called by the RPC code in the context of the Handler thread.<a name="line.573"></a>
-<span class="sourceLineNo">574</span>     */<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    public synchronized void sendResponseIfReady() throws IOException {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      if (!this.delayResponse) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        this.responder.doRespond(this);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    }<a name="line.579"></a>
-<span class="sourceLineNo">580</span><a name="line.580"></a>
-<span class="sourceLineNo">581</span>    public UserGroupInformation getRemoteUser() {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      return connection.ugi;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
+<span class="sourceLineNo">540</span>    public VersionInfo getClientVersionInfo() {<a name="line.540"></a>
+<span class="sourceLineNo">541</span>      return connection.getVersionInfo();<a name="line.541"></a>
+<span class="sourceLineNo">542</span>    }<a name="line.542"></a>
+<span class="sourceLineNo">543</span><a name="line.543"></a>
+<span class="sourceLineNo">544</span>    @Override<a name="line.544"></a>
+<span class="sourceLineNo">545</span>    public synchronized void setCallBack(RpcCallback callback) {<a name="line.545"></a>
+<span class="sourceLineNo">546</span>      this.callback = callback;<a name="line.546"></a>
+<span class="sourceLineNo">547</span>    }<a name="line.547"></a>
+<span class="sourceLineNo">548</span><a name="line.548"></a>
+<span class="sourceLineNo">549</span>    @Override<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    public boolean isRetryImmediatelySupported() {<a name="line.550"></a>
+<span class="sourceLineNo">551</span>      return retryImmediatelySupported;<a name="line.551"></a>
+<span class="sourceLineNo">552</span>    }<a name="line.552"></a>
+<span class="sourceLineNo">553</span>  }<a name="line.553"></a>
+<span class="sourceLineNo">554</span><a name="line.554"></a>
+<span class="sourceLineNo">555</span>  /** Listens on the socket. Creates jobs for the handler threads*/<a name="line.555"></a>
+<span class="sourceLineNo">556</span>  private class Listener extends Thread {<a name="line.556"></a>
+<span class="sourceLineNo">557</span><a name="line.557"></a>
+<span class="sourceLineNo">558</span>    private ServerSocketChannel acceptChannel = null; //the accept channel<a name="line.558"></a>
+<span class="sourceLineNo">559</span>    private Selector selector = null; //the selector that we use for the server<a name="line.559"></a>
+<span class="sourceLineNo">560</span>    private Reader[] readers = null;<a name="line.560"></a>
+<span class="sourceLineNo">561</span>    private int currentReader = 0;<a name="line.561"></a>
+<span class="sourceLineNo">562</span>    private Random rand = new Random();<a name="line.562"></a>
+<span class="sourceLineNo">563</span>    private long lastCleanupRunTime = 0; //the last time when a cleanup connec-<a name="line.563"></a>
+<span class="sourceLineNo">564</span>                                         //-tion (for idle connections) ran<a name="line.564"></a>
+<span class="sourceLineNo">565</span>    private long cleanupInterval = 10000; //the minimum interval between<a name="line.565"></a>
+<span class="sourceLineNo">566</span>                                          //two cleanup runs<a name="line.566"></a>
+<span class="sourceLineNo">567</span>    private int backlogLength;<a name="line.567"></a>
+<span class="sourceLineNo">568</span><a name="line.568"></a>
+<span class="sourceLineNo">569</span>    private ExecutorService readPool;<a name="line.569"></a>
+<span class="sourceLineNo">570</span><a name="line.570"></a>
+<span class="sourceLineNo">571</span>    public Listener(final String name) throws IOException {<a name="line.571"></a>
+<span class="sourceLineNo">572</span>      super(name);<a name="line.572"></a>
+<span class="sourceLineNo">573</span>      backlogLength = conf.getInt("hbase.ipc.server.listen.queue.size", 128);<a name="line.573"></a>
+<span class="sourceLineNo">574</span>      // Create a new server socket and set to non blocking mode<a name="line.574"></a>
+<span class="sourceLineNo">575</span>      acceptChannel = ServerSocketChannel.open();<a name="line.575"></a>
+<span class="sourceLineNo">576</span>      acceptChannel.configureBlocking(false);<a name="line.576"></a>
+<span class="sourceLineNo">577</span><a name="line.577"></a>
+<span class="sourceLineNo">578</span>      // Bind the server socket to the binding addrees (can be different from the default interface)<a name="line.578"></a>
+<span class="sourceLineNo">579</span>      bind(acceptChannel.socket(), bindAddress, backlogLength);<a name="line.579"></a>
+<span class="sourceLineNo">580</span>      port = acceptChannel.socket().getLocalPort(); //Could be an ephemeral port<a name="line.580"></a>
+<span class="sourceLineNo">581</span>      address = (InetSocketAddress)acceptChannel.socket().getLocalSocketAddress();<a name="line.581"></a>
+<span class="sourceLineNo">582</span>      // create a selector;<a name="line.582"></a>
+<span class="sourceLineNo">583</span>      selector= Selector.open();<a name="line.583"></a>
 <span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    @Override<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    public User getRequestUser() {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      return user;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>    @Override<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    public String getRequestUserName() {<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      User user = getRequestUser();<a name="line.592"></a>
-<span class="sourceLineNo">593</span>      return user == null? null: user.getShortName();<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    }<a name="line.594"></a>
-<span class="sourceLineNo">595</span><a name="line.595"></a>
-<span class="sourceLineNo">596</span>    @Override<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    public InetAddress getRemoteAddress() {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      return remoteAddress;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    }<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>    @Override<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    public VersionInfo getClientVersionInfo() {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>      return connection.getVersionInfo();<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    }<a name="line.604"></a>
-<span class="sourceLineNo">605</span><a name="line.605"></a>
-<span class="sourceLineNo">606</span>    @Override<a name="line.606"></a>
-<span class="sourceLineNo">607</span>    public synchronized void setCallBack(RpcCallback callback) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.callback = callback;<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>    @Override<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    public boolean isRetryImmediatelySupported() {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>      return retryImmediatelySupported;<a name="line.613"></a>
-<span class="sourceLineNo">614</span>    }<a name="line.614"></a>
-<span class="sourceLineNo">615</span>  }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>  /** Listens on the socket. Creates jobs for the handler threads*/<a name="line.617"></a>
-<span class="sourceLineNo">618</span>  private class Listener extends Thread {<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span>    private ServerSocketChannel acceptChannel = null; //the accept channel<a name="line.620"></a>
-<span class="sourceLineNo">621</span>    private Selector selector = null; //the selector that we use for the server<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    private Reader[] readers = null;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    private int currentReader = 0;<a name="line.623"></a>
-<span class="sourceLineNo">624</span>    private Random rand = new Random();<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    private long lastCleanupRunTime = 0; //the last time when a cleanup connec-<a name="line.625"></a>
-<span class="sourceLineNo">626</span>                                         //-tion (for idle connections) ran<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    private long cleanupInterval = 10000; //the minimum interval between<a name="line.627"></a>
-<span class="sourceLineNo">628</span>                                          //two cleanup runs<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    private int backlogLength;<a name="line.629"></a>
-<span class="sourceLineNo">630</span><a name="line.630"></a>
-<span class="sourceLineNo">631</span>    private ExecutorService readPool;<a name="line.631"></a>
-<span class="sourceLineNo">632</span><a name="line.632"></a>
-<span class="sourceLineNo">633</span>    public Listener(final String name) throws IOException {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      super(name);<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      backlogLength = conf.getInt("hbase.ipc.server.listen.queue.size", 128);<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      // Create a new server socket and set to non blocking mode<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      acceptChannel = ServerSocketChannel.open();<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      acceptChannel.configureBlocking(false);<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>      // Bind the server socket to the binding addrees (can be different from the default interface)<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      bind(acceptChannel.socket(), bindAddress, backlogLength);<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      port = acceptChannel.socket().getLocalPort(); //Could be an ephemeral port<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      address = (InetSocketAddress)acceptChannel.socket().getLocalSocketAddress();<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      // create a selector;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      selector= Selector.open();<a name="line.645"></a>
-<span class="sourceLineNo">646</span><a name="line.646"></a>
-<span class="sourceLineNo">647</span>      readers = new Reader[readThreads];<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      readPool = Executors.newFixedThreadPool(readThreads,<a name="line.648"></a>
-<span class="sourceLineNo">649</span>        new ThreadFactoryBuilder().setNameFormat(<a name="line.649"></a>
-<span class="sourceLineNo">650</span>          "RpcServer.reader=%d,bindAddress=" + bindAddress.getHostName() +<a name="line.650"></a>
-<span class="sourceLineNo">651</span>          ",port=" + port).setDaemon(true).build());<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      for (int i = 0; i &lt; readThreads; ++i) {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        Reader reader = new Reader();<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        readers[i] = reader;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        readPool.execute(reader);<a name="line.655"></a>
-<span class="sourceLineNo">656</span>      }<a name="line.656"></a>
-<span class="sourceLineNo">657</span>      LOG.info(getName() + ": started " + readThreads + " reader(s) listening on port=" + port);<a name="line.657"></a>
-<span class="sourceLineNo">658</span><a name="line.658"></a>
-<span class="sourceLineNo">659</span>      // Register accepts on the server socket with the selector.<a name="line.659"></a>
-<span class="sourceLineNo">660</span>      acceptChannel.register(selector, SelectionKey.OP_ACCEPT);<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      this.setName("RpcServer.listener,port=" + port);<a name="line.661"></a>
-<span class="sourceLineNo">662</span>      this.setDaemon(true);<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    }<a name="line.663"></a>
-<span class="sourceLineNo">664</span><a name="line.664"></a>
-<span class="sourceLineNo">665</span><a name="line.665"></a>
-<span class="sourceLineNo">666</span>    private class Reader implements Runnable {<a name="line.666"></a>
-<span class="sourceLineNo">667</span>      private volatile boolean adding = false;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>      private final Selector readSelector;<a name="line.668"></a>
-<span class="sourceLineNo">669</span><a name="line.669"></a>
-<span class="sourceLineNo">670</span>      Reader() throws IOException {<a name="line.670"></a>
-<span class="sourceLineNo">671</span>        this.readSelector = Selector.open();<a name="line.671"></a>
-<span class="sourceLineNo">672</span>      }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      @Override<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      public void run() {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        try {<a name="line.675"></a>
-<span class="sourceLineNo">676</span>          doRunLoop();<a name="line.676"></a>
-<span class="sourceLineNo">677</span>        } finally {<a name="line.677"></a>
-<span class="sourceLineNo">678</span>          try {<a name="line.678"></a>
-<span class="sourceLineNo">679</span>            readSelector.close();<a name="line.679"></a>
-<span class="sourceLineNo">680</span>          } catch (IOException ioe) {<a name="line.680"></a>
-<span class="sourceLineNo">681</span>            LOG.error(getName() + ": error closing read selector in " + getName(), ioe);<a name="line.681"></a>
-<span class="sourceLineNo">682</span>          }<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        }<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      }<a name="line.684"></a>
-<span class="sourceLineNo">685</span><a name="line.685"></a>
-<span class="sourceLineNo">686</span>      private synchronized void doRunLoop() {<a name="line.686"></a>
-<span class=

<TRUNCATED>

[12/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/hbase-annotations/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependencies.html b/hbase-annotations/dependencies.html
index 20e7608..c39777f 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-annotations/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-convergence.html b/hbase-annotations/dependency-convergence.html
index 5d2d95e..56eee7a 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-annotations/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-info.html b/hbase-annotations/dependency-info.html
index 209eb8b..9486da0 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-annotations/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/dependency-management.html b/hbase-annotations/dependency-management.html
index 2bafe40..ee25126 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-annotations/distribution-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/distribution-management.html b/hbase-annotations/distribution-management.html
index 2efe477..263aebf 100644
--- a/hbase-annotations/distribution-management.html
+++ b/hbase-annotations/distribution-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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-annotations/index.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/index.html b/hbase-annotations/index.html
index 6d3673c..0319885 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-annotations/integration.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/integration.html b/hbase-annotations/integration.html
index 4e0f2c3..4d824e2 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-annotations/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/issue-tracking.html b/hbase-annotations/issue-tracking.html
index 3a096d0..307e1c9 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-annotations/license.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/license.html b/hbase-annotations/license.html
index da25a1b..b70ecff 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-annotations/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/mail-lists.html b/hbase-annotations/mail-lists.html
index 068fa7c..1b27489 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-annotations/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/plugin-management.html b/hbase-annotations/plugin-management.html
index f1da5aa..8aaea49 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-annotations/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/plugins.html b/hbase-annotations/plugins.html
index a7fb71f..d764088 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-annotations/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-info.html b/hbase-annotations/project-info.html
index b2d1ec9..082f017 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-annotations/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-reports.html b/hbase-annotations/project-reports.html
index d97bd9f..4f82a9d 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-annotations/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/project-summary.html b/hbase-annotations/project-summary.html
index 077e3ac..cbf9c38 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-annotations/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/source-repository.html b/hbase-annotations/source-repository.html
index 4224740..2f493b7 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-annotations/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/team-list.html b/hbase-annotations/team-list.html
index 2c98f07..e45e7e0 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-spark/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-spark/checkstyle.html b/hbase-spark/checkstyle.html
index 4a260e2..6ec03b5 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-spark/dependencies.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependencies.html b/hbase-spark/dependencies.html
index b54e13a..bdb6d15 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-spark/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-convergence.html b/hbase-spark/dependency-convergence.html
index aa8021b..45d82da 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-spark/dependency-info.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-info.html b/hbase-spark/dependency-info.html
index 8a120ba..73cc3d9 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-spark/dependency-management.html
----------------------------------------------------------------------
diff --git a/hbase-spark/dependency-management.html b/hbase-spark/dependency-management.html
index 4d8eeb5..a81a20c 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-spark/distribution-management.html
----------------------------------------------------------------------
diff --git a/hbase-spark/distribution-management.html b/hbase-spark/distribution-management.html
index 3b2ae0d..62da2d3 100644
--- a/hbase-spark/distribution-management.html
+++ b/hbase-spark/distribution-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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-spark/index.html
----------------------------------------------------------------------
diff --git a/hbase-spark/index.html b/hbase-spark/index.html
index 449da19..aca8a57 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-spark/integration.html
----------------------------------------------------------------------
diff --git a/hbase-spark/integration.html b/hbase-spark/integration.html
index 4f4ce69..eb9f571 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-spark/issue-tracking.html
----------------------------------------------------------------------
diff --git a/hbase-spark/issue-tracking.html b/hbase-spark/issue-tracking.html
index 80ccd3a..7b1acdf 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-spark/license.html
----------------------------------------------------------------------
diff --git a/hbase-spark/license.html b/hbase-spark/license.html
index 6604ec8..8eb6c31 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-spark/mail-lists.html
----------------------------------------------------------------------
diff --git a/hbase-spark/mail-lists.html b/hbase-spark/mail-lists.html
index 2291de7..c48a4d9 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-spark/plugin-management.html
----------------------------------------------------------------------
diff --git a/hbase-spark/plugin-management.html b/hbase-spark/plugin-management.html
index 23d33d7..91e7206 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-spark/plugins.html
----------------------------------------------------------------------
diff --git a/hbase-spark/plugins.html b/hbase-spark/plugins.html
index 1d956a6..055d0af 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-spark/project-info.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-info.html b/hbase-spark/project-info.html
index 087b905..0404620 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-spark/project-reports.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-reports.html b/hbase-spark/project-reports.html
index 7240141..929783d 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-spark/project-summary.html
----------------------------------------------------------------------
diff --git a/hbase-spark/project-summary.html b/hbase-spark/project-summary.html
index bf43174..5329c00 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-spark/source-repository.html
----------------------------------------------------------------------
diff --git a/hbase-spark/source-repository.html b/hbase-spark/source-repository.html
index 0e5af4d..60bc6dd 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/hbase-spark/team-list.html
----------------------------------------------------------------------
diff --git a/hbase-spark/team-list.html b/hbase-spark/team-list.html
index 2e335b5..3dee77c 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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/6d411951/index.html
----------------------------------------------------------------------
diff --git a/index.html b/index.html
index 9af40d6..471caac 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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" />
@@ -377,6 +377,8 @@ Apache HBase is an open-source, distributed, versioned, non-relational database
 <div class="section">
 <h2><a name="News"></a>News</h2>
          
+<p>May 24th, 2016 <a class="externalLink" href="http://www.hbasecon.com/">HBaseCon2016</a> at The Village, 969 Market, San Francisco</p>
+       
 <p>June 25th, 2015 <a class="externalLink" href="http://www.zusaar.com/event/14057003">HBase Summer Meetup 2015</a> in Tokyo</p>
        
 <p>May 7th, 2015 <a class="externalLink" href="http://hbasecon.com/">HBaseCon2015</a> in San Francisco</p>
@@ -420,7 +422,7 @@ Apache HBase is an open-source, distributed, versioned, non-relational database
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/integration.html
----------------------------------------------------------------------
diff --git a/integration.html b/integration.html
index 845e26a..e590943 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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" />
@@ -290,7 +290,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/issue-tracking.html
----------------------------------------------------------------------
diff --git a/issue-tracking.html b/issue-tracking.html
index aa6c49e..f287385 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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" />
@@ -287,7 +287,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/license.html
----------------------------------------------------------------------
diff --git a/license.html b/license.html
index 7dcc88f..128a6ce 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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" />
@@ -490,7 +490,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/mail-lists.html
----------------------------------------------------------------------
diff --git a/mail-lists.html b/mail-lists.html
index 2c4de91..5ce410c 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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" />
@@ -340,7 +340,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/metrics.html
----------------------------------------------------------------------
diff --git a/metrics.html b/metrics.html
index c575d98..544ac1a 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) Metrics
@@ -458,7 +458,7 @@ export HBASE_REGIONSERVER_OPTS=&quot;$HBASE_JMX_OPTS -Dcom.sun.management.jmxrem
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/modules.html
----------------------------------------------------------------------
diff --git a/modules.html b/modules.html
index 2662944..b1a7672 100644
--- a/modules.html
+++ b/modules.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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Modules</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -366,7 +366,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/old_news.html
----------------------------------------------------------------------
diff --git a/old_news.html b/old_news.html
index c83018a..f3789ba 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Old Apache HBase (TM) News
@@ -413,7 +413,7 @@ under the License. -->
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/plugin-management.html
----------------------------------------------------------------------
diff --git a/plugin-management.html b/plugin-management.html
index c643557..dfd0c35 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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" />
@@ -423,7 +423,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/plugins.html
----------------------------------------------------------------------
diff --git a/plugins.html b/plugins.html
index 584ba00..5cf8f9e 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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" />
@@ -366,7 +366,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/poweredbyhbase.html
----------------------------------------------------------------------
diff --git a/poweredbyhbase.html b/poweredbyhbase.html
index c881015..e55c3e0 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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" />
@@ -768,7 +768,7 @@ under the License. -->
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/project-info.html
----------------------------------------------------------------------
diff --git a/project-info.html b/project-info.html
index db25f9c..d6c96f8 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/project-reports.html
----------------------------------------------------------------------
diff --git a/project-reports.html b/project-reports.html
index 2efe0ae..51acf96 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/project-summary.html
----------------------------------------------------------------------
diff --git a/project-summary.html b/project-summary.html
index add1100..cc633fe 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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" />
@@ -330,7 +330,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/pseudo-distributed.html
----------------------------------------------------------------------
diff --git a/pseudo-distributed.html b/pseudo-distributed.html
index 795e999..04fda92 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
 Running Apache HBase (TM) in pseudo-distributed mode
@@ -307,7 +307,7 @@ under the License. -->
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/replication.html
----------------------------------------------------------------------
diff --git a/replication.html b/replication.html
index 82340e7..6f170cd 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Apache HBase (TM) Replication
@@ -302,7 +302,7 @@ under the License. -->
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/resources.html
----------------------------------------------------------------------
diff --git a/resources.html b/resources.html
index 3ed9021..44556da 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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" />
@@ -324,7 +324,7 @@ under the License. -->
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/source-repository.html
----------------------------------------------------------------------
diff --git a/source-repository.html b/source-repository.html
index 380eb00..94842c6 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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" />
@@ -298,7 +298,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/sponsors.html
----------------------------------------------------------------------
diff --git a/sponsors.html b/sponsors.html
index c4959a2..113dbbd 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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" />
@@ -332,7 +332,7 @@ under the License. -->
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/supportingprojects.html
----------------------------------------------------------------------
diff --git a/supportingprojects.html b/supportingprojects.html
index 1951172..749a263 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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" />
@@ -519,7 +519,7 @@ under the License. -->
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/team-list.html
----------------------------------------------------------------------
diff --git a/team-list.html b/team-list.html
index 465b0b8..00efa7c 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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" />
@@ -785,7 +785,7 @@ window.onLoad = init();
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-frame.html b/testdevapidocs/allclasses-frame.html
index 88899c2..54da428 100644
--- a/testdevapidocs/allclasses-frame.html
+++ b/testdevapidocs/allclasses-frame.html
@@ -14,6 +14,7 @@
 <li><a href="org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestRpcServer.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">AbstractTestIPC.TestRpcServer</a></li>
 <li><a href="org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestRpcServer1.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">AbstractTestIPC.TestRpcServer1</a></li>
 <li><a href="org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html" title="class in org.apache.hadoop.hbase.security" target="classFrame">AbstractTestSecureIPC</a></li>
+<li><a href="org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security" target="classFrame">AbstractTestSecureIPC.TestThread</a></li>
 <li><a href="org/apache/hadoop/hbase/client/AbstractTestShell.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">AbstractTestShell</a></li>
 <li><a href="org/apache/hadoop/hbase/chaos/actions/Action.html" title="class in org.apache.hadoop.hbase.chaos.actions" target="classFrame">Action</a></li>
 <li><a href="org/apache/hadoop/hbase/chaos/actions/Action.ActionContext.html" title="class in org.apache.hadoop.hbase.chaos.actions" target="classFrame">Action.ActionContext</a></li>
@@ -706,11 +707,6 @@
 <li><a href="org/apache/hadoop/hbase/regionserver/TestDefaultStoreEngine.DummyStoreFlusher.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">TestDefaultStoreEngine.DummyStoreFlusher</a></li>
 <li><a href="org/apache/hadoop/hbase/wal/TestDefaultWALProvider.html" title="class in org.apache.hadoop.hbase.wal" target="classFrame">TestDefaultWALProvider</a></li>
 <li><a href="org/apache/hadoop/hbase/wal/TestDefaultWALProviderWithHLogKey.html" title="class in org.apache.hadoop.hbase.wal" target="classFrame">TestDefaultWALProviderWithHLogKey</a></li>
-<li><a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">TestDelayedRpc</a></li>
-<li><a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">TestDelayedRpc.FaultyTestDelayedImplementation</a></li>
-<li><a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">TestDelayedRpc.ListAppender</a></li>
-<li><a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">TestDelayedRpc.TestDelayedImplementation</a></li>
-<li><a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">TestDelayedRpc.TestThread</a></li>
 <li><a href="org/apache/hadoop/hbase/client/TestDelayingRunner.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">TestDelayingRunner</a></li>
 <li><a href="org/apache/hadoop/hbase/master/procedure/TestDeleteColumnFamilyProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure" target="classFrame">TestDeleteColumnFamilyProcedure</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/TestDeleteMobTable.html" title="class in org.apache.hadoop.hbase.regionserver" target="classFrame">TestDeleteMobTable</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/allclasses-noframe.html b/testdevapidocs/allclasses-noframe.html
index e7f96c7..2098aa7 100644
--- a/testdevapidocs/allclasses-noframe.html
+++ b/testdevapidocs/allclasses-noframe.html
@@ -14,6 +14,7 @@
 <li><a href="org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestRpcServer.html" title="class in org.apache.hadoop.hbase.ipc">AbstractTestIPC.TestRpcServer</a></li>
 <li><a href="org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestRpcServer1.html" title="class in org.apache.hadoop.hbase.ipc">AbstractTestIPC.TestRpcServer1</a></li>
 <li><a href="org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html" title="class in org.apache.hadoop.hbase.security">AbstractTestSecureIPC</a></li>
+<li><a href="org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security">AbstractTestSecureIPC.TestThread</a></li>
 <li><a href="org/apache/hadoop/hbase/client/AbstractTestShell.html" title="class in org.apache.hadoop.hbase.client">AbstractTestShell</a></li>
 <li><a href="org/apache/hadoop/hbase/chaos/actions/Action.html" title="class in org.apache.hadoop.hbase.chaos.actions">Action</a></li>
 <li><a href="org/apache/hadoop/hbase/chaos/actions/Action.ActionContext.html" title="class in org.apache.hadoop.hbase.chaos.actions">Action.ActionContext</a></li>
@@ -706,11 +707,6 @@
 <li><a href="org/apache/hadoop/hbase/regionserver/TestDefaultStoreEngine.DummyStoreFlusher.html" title="class in org.apache.hadoop.hbase.regionserver">TestDefaultStoreEngine.DummyStoreFlusher</a></li>
 <li><a href="org/apache/hadoop/hbase/wal/TestDefaultWALProvider.html" title="class in org.apache.hadoop.hbase.wal">TestDefaultWALProvider</a></li>
 <li><a href="org/apache/hadoop/hbase/wal/TestDefaultWALProviderWithHLogKey.html" title="class in org.apache.hadoop.hbase.wal">TestDefaultWALProviderWithHLogKey</a></li>
-<li><a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc</a></li>
-<li><a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.FaultyTestDelayedImplementation</a></li>
-<li><a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.ListAppender</a></li>
-<li><a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.TestDelayedImplementation</a></li>
-<li><a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.TestThread</a></li>
 <li><a href="org/apache/hadoop/hbase/client/TestDelayingRunner.html" title="class in org.apache.hadoop.hbase.client">TestDelayingRunner</a></li>
 <li><a href="org/apache/hadoop/hbase/master/procedure/TestDeleteColumnFamilyProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure">TestDeleteColumnFamilyProcedure</a></li>
 <li><a href="org/apache/hadoop/hbase/regionserver/TestDeleteMobTable.html" title="class in org.apache.hadoop.hbase.regionserver">TestDeleteMobTable</a></li>


[02/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/xref/org/apache/hadoop/hbase/ipc/RpcServer.html
----------------------------------------------------------------------
diff --git a/xref/org/apache/hadoop/hbase/ipc/RpcServer.html b/xref/org/apache/hadoop/hbase/ipc/RpcServer.html
index a200fad..0b6b26c 100644
--- a/xref/org/apache/hadoop/hbase/ipc/RpcServer.html
+++ b/xref/org/apache/hadoop/hbase/ipc/RpcServer.html
@@ -195,2475 +195,2411 @@
 <a class="jxr_linenumber" name="185" href="#185">185</a> <em class="jxr_javadoccomment">   */</em>
 <a class="jxr_linenumber" name="186" href="#186">186</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_MAX_CALLQUEUE_SIZE = 1024 * 1024 * 1024;
 <a class="jxr_linenumber" name="187" href="#187">187</a> 
-<a class="jxr_linenumber" name="188" href="#188">188</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String WARN_DELAYED_CALLS = <span class="jxr_string">"hbase.ipc.warn.delayedrpc.number"</span>;
+<a class="jxr_linenumber" name="188" href="#188">188</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/IPCUtil.html">IPCUtil</a> ipcUtil;
 <a class="jxr_linenumber" name="189" href="#189">189</a> 
-<a class="jxr_linenumber" name="190" href="#190">190</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_WARN_DELAYED_CALLS = 1000;
-<a class="jxr_linenumber" name="191" href="#191">191</a> 
-<a class="jxr_linenumber" name="192" href="#192">192</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> warnDelayedCalls;
-<a class="jxr_linenumber" name="193" href="#193">193</a> 
-<a class="jxr_linenumber" name="194" href="#194">194</a>   <strong class="jxr_keyword">private</strong> AtomicInteger delayedCalls;
-<a class="jxr_linenumber" name="195" href="#195">195</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/IPCUtil.html">IPCUtil</a> ipcUtil;
+<a class="jxr_linenumber" name="190" href="#190">190</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String AUTH_FAILED_FOR = <span class="jxr_string">"Auth failed for "</span>;
+<a class="jxr_linenumber" name="191" href="#191">191</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String AUTH_SUCCESSFUL_FOR = <span class="jxr_string">"Auth successful for "</span>;
+<a class="jxr_linenumber" name="192" href="#192">192</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Log AUDITLOG = LogFactory.getLog(<span class="jxr_string">"SecurityLogger."</span> +
+<a class="jxr_linenumber" name="193" href="#193">193</a>     Server.<strong class="jxr_keyword">class</strong>.getName());
+<a class="jxr_linenumber" name="194" href="#194">194</a>   <strong class="jxr_keyword">protected</strong> SecretManager&lt;TokenIdentifier&gt; secretManager;
+<a class="jxr_linenumber" name="195" href="#195">195</a>   <strong class="jxr_keyword">protected</strong> ServiceAuthorizationManager authManager;
 <a class="jxr_linenumber" name="196" href="#196">196</a> 
-<a class="jxr_linenumber" name="197" href="#197">197</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String AUTH_FAILED_FOR = <span class="jxr_string">"Auth failed for "</span>;
-<a class="jxr_linenumber" name="198" href="#198">198</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String AUTH_SUCCESSFUL_FOR = <span class="jxr_string">"Auth successful for "</span>;
-<a class="jxr_linenumber" name="199" href="#199">199</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Log AUDITLOG = LogFactory.getLog(<span class="jxr_string">"SecurityLogger."</span> +
-<a class="jxr_linenumber" name="200" href="#200">200</a>     Server.<strong class="jxr_keyword">class</strong>.getName());
-<a class="jxr_linenumber" name="201" href="#201">201</a>   <strong class="jxr_keyword">protected</strong> SecretManager&lt;TokenIdentifier&gt; secretManager;
-<a class="jxr_linenumber" name="202" href="#202">202</a>   <strong class="jxr_keyword">protected</strong> ServiceAuthorizationManager authManager;
-<a class="jxr_linenumber" name="203" href="#203">203</a> 
-<a class="jxr_linenumber" name="204" href="#204">204</a>   <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> This is set to Call object before Handler invokes an RPC and ybdie</em>
-<a class="jxr_linenumber" name="205" href="#205">205</a> <em class="jxr_javadoccomment">   * after the call returns.</em>
-<a class="jxr_linenumber" name="206" href="#206">206</a> <em class="jxr_javadoccomment">   */</em>
-<a class="jxr_linenumber" name="207" href="#207">207</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> ThreadLocal&lt;Call&gt; CurCall = <strong class="jxr_keyword">new</strong> ThreadLocal&lt;Call&gt;();
-<a class="jxr_linenumber" name="208" href="#208">208</a> 
-<a class="jxr_linenumber" name="209" href="#209">209</a>   <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Keeps <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html">MonitoredRPCHandler</a> per handler thread. */</em>
-<a class="jxr_linenumber" name="210" href="#210">210</a>   <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC
-<a class="jxr_linenumber" name="211" href="#211">211</a>       = <strong class="jxr_keyword">new</strong> ThreadLocal&lt;MonitoredRPCHandler&gt;();
-<a class="jxr_linenumber" name="212" href="#212">212</a> 
-<a class="jxr_linenumber" name="213" href="#213">213</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> InetSocketAddress bindAddress;
-<a class="jxr_linenumber" name="214" href="#214">214</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> port;                             <em class="jxr_comment">// port we listen on</em>
-<a class="jxr_linenumber" name="215" href="#215">215</a>   <strong class="jxr_keyword">protected</strong> InetSocketAddress address;            <em class="jxr_comment">// inet address we listen on</em>
-<a class="jxr_linenumber" name="216" href="#216">216</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> readThreads;                        <em class="jxr_comment">// number of read threads</em>
-<a class="jxr_linenumber" name="217" href="#217">217</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> maxIdleTime;                      <em class="jxr_comment">// the maximum idle time after</em>
-<a class="jxr_linenumber" name="218" href="#218">218</a>                                                   <em class="jxr_comment">// which a client may be</em>
-<a class="jxr_linenumber" name="219" href="#219">219</a>                                                   <em class="jxr_comment">// disconnected</em>
-<a class="jxr_linenumber" name="220" href="#220">220</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> thresholdIdleConnections;         <em class="jxr_comment">// the number of idle</em>
-<a class="jxr_linenumber" name="221" href="#221">221</a>                                                   <em class="jxr_comment">// connections after which we</em>
-<a class="jxr_linenumber" name="222" href="#222">222</a>                                                   <em class="jxr_comment">// will start cleaning up idle</em>
-<a class="jxr_linenumber" name="223" href="#223">223</a>                                                   <em class="jxr_comment">// connections</em>
-<a class="jxr_linenumber" name="224" href="#224">224</a>   <strong class="jxr_keyword">int</strong> maxConnectionsToNuke;                       <em class="jxr_comment">// the max number of</em>
-<a class="jxr_linenumber" name="225" href="#225">225</a>                                                   <em class="jxr_comment">// connections to nuke</em>
-<a class="jxr_linenumber" name="226" href="#226">226</a>                                                   <em class="jxr_comment">// during a cleanup</em>
-<a class="jxr_linenumber" name="227" href="#227">227</a> 
-<a class="jxr_linenumber" name="228" href="#228">228</a>   <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServer.html">MetricsHBaseServer</a> metrics;
-<a class="jxr_linenumber" name="229" href="#229">229</a> 
-<a class="jxr_linenumber" name="230" href="#230">230</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> Configuration conf;
-<a class="jxr_linenumber" name="231" href="#231">231</a> 
-<a class="jxr_linenumber" name="232" href="#232">232</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> maxQueueSize;
-<a class="jxr_linenumber" name="233" href="#233">233</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> socketSendBufferSize;
-<a class="jxr_linenumber" name="234" href="#234">234</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> tcpNoDelay;   <em class="jxr_comment">// if T then disable Nagle's Algorithm</em>
-<a class="jxr_linenumber" name="235" href="#235">235</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> tcpKeepAlive; <em class="jxr_comment">// if T then use keepalives</em>
-<a class="jxr_linenumber" name="236" href="#236">236</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> purgeTimeout;    <em class="jxr_comment">// in milliseconds</em>
+<a class="jxr_linenumber" name="197" href="#197">197</a>   <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> This is set to Call object before Handler invokes an RPC and ybdie</em>
+<a class="jxr_linenumber" name="198" href="#198">198</a> <em class="jxr_javadoccomment">   * after the call returns.</em>
+<a class="jxr_linenumber" name="199" href="#199">199</a> <em class="jxr_javadoccomment">   */</em>
+<a class="jxr_linenumber" name="200" href="#200">200</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> ThreadLocal&lt;Call&gt; CurCall = <strong class="jxr_keyword">new</strong> ThreadLocal&lt;Call&gt;();
+<a class="jxr_linenumber" name="201" href="#201">201</a> 
+<a class="jxr_linenumber" name="202" href="#202">202</a>   <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Keeps <a href="../../../../../org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.html">MonitoredRPCHandler</a> per handler thread. */</em>
+<a class="jxr_linenumber" name="203" href="#203">203</a>   <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC
+<a class="jxr_linenumber" name="204" href="#204">204</a>       = <strong class="jxr_keyword">new</strong> ThreadLocal&lt;MonitoredRPCHandler&gt;();
+<a class="jxr_linenumber" name="205" href="#205">205</a> 
+<a class="jxr_linenumber" name="206" href="#206">206</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> InetSocketAddress bindAddress;
+<a class="jxr_linenumber" name="207" href="#207">207</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> port;                             <em class="jxr_comment">// port we listen on</em>
+<a class="jxr_linenumber" name="208" href="#208">208</a>   <strong class="jxr_keyword">protected</strong> InetSocketAddress address;            <em class="jxr_comment">// inet address we listen on</em>
+<a class="jxr_linenumber" name="209" href="#209">209</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> readThreads;                        <em class="jxr_comment">// number of read threads</em>
+<a class="jxr_linenumber" name="210" href="#210">210</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> maxIdleTime;                      <em class="jxr_comment">// the maximum idle time after</em>
+<a class="jxr_linenumber" name="211" href="#211">211</a>                                                   <em class="jxr_comment">// which a client may be</em>
+<a class="jxr_linenumber" name="212" href="#212">212</a>                                                   <em class="jxr_comment">// disconnected</em>
+<a class="jxr_linenumber" name="213" href="#213">213</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> thresholdIdleConnections;         <em class="jxr_comment">// the number of idle</em>
+<a class="jxr_linenumber" name="214" href="#214">214</a>                                                   <em class="jxr_comment">// connections after which we</em>
+<a class="jxr_linenumber" name="215" href="#215">215</a>                                                   <em class="jxr_comment">// will start cleaning up idle</em>
+<a class="jxr_linenumber" name="216" href="#216">216</a>                                                   <em class="jxr_comment">// connections</em>
+<a class="jxr_linenumber" name="217" href="#217">217</a>   <strong class="jxr_keyword">int</strong> maxConnectionsToNuke;                       <em class="jxr_comment">// the max number of</em>
+<a class="jxr_linenumber" name="218" href="#218">218</a>                                                   <em class="jxr_comment">// connections to nuke</em>
+<a class="jxr_linenumber" name="219" href="#219">219</a>                                                   <em class="jxr_comment">// during a cleanup</em>
+<a class="jxr_linenumber" name="220" href="#220">220</a> 
+<a class="jxr_linenumber" name="221" href="#221">221</a>   <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServer.html">MetricsHBaseServer</a> metrics;
+<a class="jxr_linenumber" name="222" href="#222">222</a> 
+<a class="jxr_linenumber" name="223" href="#223">223</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> Configuration conf;
+<a class="jxr_linenumber" name="224" href="#224">224</a> 
+<a class="jxr_linenumber" name="225" href="#225">225</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">int</strong> maxQueueSize;
+<a class="jxr_linenumber" name="226" href="#226">226</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> socketSendBufferSize;
+<a class="jxr_linenumber" name="227" href="#227">227</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> tcpNoDelay;   <em class="jxr_comment">// if T then disable Nagle's Algorithm</em>
+<a class="jxr_linenumber" name="228" href="#228">228</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> tcpKeepAlive; <em class="jxr_comment">// if T then use keepalives</em>
+<a class="jxr_linenumber" name="229" href="#229">229</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">long</strong> purgeTimeout;    <em class="jxr_comment">// in milliseconds</em>
+<a class="jxr_linenumber" name="230" href="#230">230</a> 
+<a class="jxr_linenumber" name="231" href="#231">231</a>   <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="232" href="#232">232</a> <em class="jxr_javadoccomment">   * This flag is used to indicate to sub threads when they should go down.  When we call</em>
+<a class="jxr_linenumber" name="233" href="#233">233</a> <em class="jxr_javadoccomment">   * {@link #start()}, all threads started will consult this flag on whether they should</em>
+<a class="jxr_linenumber" name="234" href="#234">234</a> <em class="jxr_javadoccomment">   * keep going.  It is set to false when {@link #stop()} is called.</em>
+<a class="jxr_linenumber" name="235" href="#235">235</a> <em class="jxr_javadoccomment">   */</em>
+<a class="jxr_linenumber" name="236" href="#236">236</a>   <strong class="jxr_keyword">volatile</strong> <strong class="jxr_keyword">boolean</strong> running = <strong class="jxr_keyword">true</strong>;
 <a class="jxr_linenumber" name="237" href="#237">237</a> 
 <a class="jxr_linenumber" name="238" href="#238">238</a>   <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="239" href="#239">239</a> <em class="jxr_javadoccomment">   * This flag is used to indicate to sub threads when they should go down.  When we call</em>
-<a class="jxr_linenumber" name="240" href="#240">240</a> <em class="jxr_javadoccomment">   * {@link #start()}, all threads started will consult this flag on whether they should</em>
-<a class="jxr_linenumber" name="241" href="#241">241</a> <em class="jxr_javadoccomment">   * keep going.  It is set to false when {@link #stop()} is called.</em>
-<a class="jxr_linenumber" name="242" href="#242">242</a> <em class="jxr_javadoccomment">   */</em>
-<a class="jxr_linenumber" name="243" href="#243">243</a>   <strong class="jxr_keyword">volatile</strong> <strong class="jxr_keyword">boolean</strong> running = <strong class="jxr_keyword">true</strong>;
-<a class="jxr_linenumber" name="244" href="#244">244</a> 
-<a class="jxr_linenumber" name="245" href="#245">245</a>   <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="246" href="#246">246</a> <em class="jxr_javadoccomment">   * This flag is set to true after all threads are up and 'running' and the server is then opened</em>
-<a class="jxr_linenumber" name="247" href="#247">247</a> <em class="jxr_javadoccomment">   * for business by the call to {@link #start()}.</em>
-<a class="jxr_linenumber" name="248" href="#248">248</a> <em class="jxr_javadoccomment">   */</em>
-<a class="jxr_linenumber" name="249" href="#249">249</a>   <strong class="jxr_keyword">volatile</strong> <strong class="jxr_keyword">boolean</strong> started = false;
-<a class="jxr_linenumber" name="250" href="#250">250</a> 
-<a class="jxr_linenumber" name="251" href="#251">251</a>   <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="252" href="#252">252</a> <em class="jxr_javadoccomment">   * This is a running count of the size of all outstanding calls by size.</em>
-<a class="jxr_linenumber" name="253" href="#253">253</a> <em class="jxr_javadoccomment">   */</em>
-<a class="jxr_linenumber" name="254" href="#254">254</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/hadoop/hbase/util/Counter.html">Counter</a> callQueueSize = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/util/Counter.html">Counter</a>();
-<a class="jxr_linenumber" name="255" href="#255">255</a> 
-<a class="jxr_linenumber" name="256" href="#256">256</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> List&lt;Connection&gt; connectionList =
-<a class="jxr_linenumber" name="257" href="#257">257</a>     Collections.synchronizedList(<strong class="jxr_keyword">new</strong> LinkedList&lt;Connection&gt;());
-<a class="jxr_linenumber" name="258" href="#258">258</a>   <em class="jxr_comment">//maintain a list</em>
-<a class="jxr_linenumber" name="259" href="#259">259</a>   <em class="jxr_comment">//of client connections</em>
-<a class="jxr_linenumber" name="260" href="#260">260</a>   <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/hadoop/hbase/client/ClusterStatusListener.html">Listener</a> listener = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="261" href="#261">261</a>   <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html">Responder</a> responder = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="262" href="#262">262</a>   <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/hadoop/hbase/security/token/AuthenticationTokenSecretManager.html">AuthenticationTokenSecretManager</a> authTokenSecretMgr = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="263" href="#263">263</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> numConnections = 0;
-<a class="jxr_linenumber" name="264" href="#264">264</a> 
-<a class="jxr_linenumber" name="265" href="#265">265</a>   <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHandler.html">HBaseRPCErrorHandler</a> errorHandler = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="239" href="#239">239</a> <em class="jxr_javadoccomment">   * This flag is set to true after all threads are up and 'running' and the server is then opened</em>
+<a class="jxr_linenumber" name="240" href="#240">240</a> <em class="jxr_javadoccomment">   * for business by the call to {@link #start()}.</em>
+<a class="jxr_linenumber" name="241" href="#241">241</a> <em class="jxr_javadoccomment">   */</em>
+<a class="jxr_linenumber" name="242" href="#242">242</a>   <strong class="jxr_keyword">volatile</strong> <strong class="jxr_keyword">boolean</strong> started = false;
+<a class="jxr_linenumber" name="243" href="#243">243</a> 
+<a class="jxr_linenumber" name="244" href="#244">244</a>   <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="245" href="#245">245</a> <em class="jxr_javadoccomment">   * This is a running count of the size of all outstanding calls by size.</em>
+<a class="jxr_linenumber" name="246" href="#246">246</a> <em class="jxr_javadoccomment">   */</em>
+<a class="jxr_linenumber" name="247" href="#247">247</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/hadoop/hbase/util/Counter.html">Counter</a> callQueueSize = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/util/Counter.html">Counter</a>();
+<a class="jxr_linenumber" name="248" href="#248">248</a> 
+<a class="jxr_linenumber" name="249" href="#249">249</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">final</strong> List&lt;Connection&gt; connectionList =
+<a class="jxr_linenumber" name="250" href="#250">250</a>     Collections.synchronizedList(<strong class="jxr_keyword">new</strong> LinkedList&lt;Connection&gt;());
+<a class="jxr_linenumber" name="251" href="#251">251</a>   <em class="jxr_comment">//maintain a list</em>
+<a class="jxr_linenumber" name="252" href="#252">252</a>   <em class="jxr_comment">//of client connections</em>
+<a class="jxr_linenumber" name="253" href="#253">253</a>   <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/hadoop/hbase/client/ClusterStatusListener.html">Listener</a> listener = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="254" href="#254">254</a>   <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html">Responder</a> responder = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="255" href="#255">255</a>   <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/hadoop/hbase/security/token/AuthenticationTokenSecretManager.html">AuthenticationTokenSecretManager</a> authTokenSecretMgr = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="256" href="#256">256</a>   <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> numConnections = 0;
+<a class="jxr_linenumber" name="257" href="#257">257</a> 
+<a class="jxr_linenumber" name="258" href="#258">258</a>   <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHandler.html">HBaseRPCErrorHandler</a> errorHandler = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="259" href="#259">259</a> 
+<a class="jxr_linenumber" name="260" href="#260">260</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String WARN_RESPONSE_TIME = <span class="jxr_string">"hbase.ipc.warn.response.time"</span>;
+<a class="jxr_linenumber" name="261" href="#261">261</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String WARN_RESPONSE_SIZE = <span class="jxr_string">"hbase.ipc.warn.response.size"</span>;
+<a class="jxr_linenumber" name="262" href="#262">262</a> 
+<a class="jxr_linenumber" name="263" href="#263">263</a>   <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Default value for above params */</em>
+<a class="jxr_linenumber" name="264" href="#264">264</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_WARN_RESPONSE_TIME = 10000; <em class="jxr_comment">// milliseconds</em>
+<a class="jxr_linenumber" name="265" href="#265">265</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;
 <a class="jxr_linenumber" name="266" href="#266">266</a> 
-<a class="jxr_linenumber" name="267" href="#267">267</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String WARN_RESPONSE_TIME = <span class="jxr_string">"hbase.ipc.warn.response.time"</span>;
-<a class="jxr_linenumber" name="268" href="#268">268</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> String WARN_RESPONSE_SIZE = <span class="jxr_string">"hbase.ipc.warn.response.size"</span>;
-<a class="jxr_linenumber" name="269" href="#269">269</a> 
-<a class="jxr_linenumber" name="270" href="#270">270</a>   <em class="jxr_javadoccomment">/**</em><em class="jxr_javadoccomment"> Default value for above params */</em>
-<a class="jxr_linenumber" name="271" href="#271">271</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_WARN_RESPONSE_TIME = 10000; <em class="jxr_comment">// milliseconds</em>
-<a class="jxr_linenumber" name="272" href="#272">272</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;
+<a class="jxr_linenumber" name="267" href="#267">267</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> ObjectMapper MAPPER = <strong class="jxr_keyword">new</strong> ObjectMapper();
+<a class="jxr_linenumber" name="268" href="#268">268</a> 
+<a class="jxr_linenumber" name="269" href="#269">269</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> warnResponseTime;
+<a class="jxr_linenumber" name="270" href="#270">270</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> warnResponseSize;
+<a class="jxr_linenumber" name="271" href="#271">271</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/hadoop/hbase/Server.html">Server</a> server;
+<a class="jxr_linenumber" name="272" href="#272">272</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> List&lt;BlockingServiceAndInterface&gt; services;
 <a class="jxr_linenumber" name="273" href="#273">273</a> 
-<a class="jxr_linenumber" name="274" href="#274">274</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> ObjectMapper MAPPER = <strong class="jxr_keyword">new</strong> ObjectMapper();
+<a class="jxr_linenumber" name="274" href="#274">274</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcScheduler.html">RpcScheduler</a> scheduler;
 <a class="jxr_linenumber" name="275" href="#275">275</a> 
-<a class="jxr_linenumber" name="276" href="#276">276</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> warnResponseTime;
-<a class="jxr_linenumber" name="277" href="#277">277</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> warnResponseSize;
-<a class="jxr_linenumber" name="278" href="#278">278</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/hadoop/hbase/Server.html">Server</a> server;
-<a class="jxr_linenumber" name="279" href="#279">279</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> List&lt;BlockingServiceAndInterface&gt; services;
-<a class="jxr_linenumber" name="280" href="#280">280</a> 
-<a class="jxr_linenumber" name="281" href="#281">281</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcScheduler.html">RpcScheduler</a> scheduler;
-<a class="jxr_linenumber" name="282" href="#282">282</a> 
-<a class="jxr_linenumber" name="283" href="#283">283</a>   <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html">UserProvider</a> userProvider;
-<a class="jxr_linenumber" name="284" href="#284">284</a> 
-<a class="jxr_linenumber" name="285" href="#285">285</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/hadoop/hbase/io/BoundedByteBufferPool.html">BoundedByteBufferPool</a> reservoir;
-<a class="jxr_linenumber" name="286" href="#286">286</a> 
-<a class="jxr_linenumber" name="287" href="#287">287</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">volatile</strong> <strong class="jxr_keyword">boolean</strong> allowFallbackToSimpleAuth;
-<a class="jxr_linenumber" name="288" href="#288">288</a> 
-<a class="jxr_linenumber" name="289" href="#289">289</a>   <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="290" href="#290">290</a> <em class="jxr_javadoccomment">   * Datastructure that holds all necessary to a method invocation and then afterward, carries</em>
-<a class="jxr_linenumber" name="291" href="#291">291</a> <em class="jxr_javadoccomment">   * the result.</em>
-<a class="jxr_linenumber" name="292" href="#292">292</a> <em class="jxr_javadoccomment">   */</em>
-<a class="jxr_linenumber" name="293" href="#293">293</a>   <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html">Call</a> <strong class="jxr_keyword">implements</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html">RpcCallContext</a> {
-<a class="jxr_linenumber" name="294" href="#294">294</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> id;                             <em class="jxr_comment">// the client's call id</em>
-<a class="jxr_linenumber" name="295" href="#295">295</a>     <strong class="jxr_keyword">protected</strong> BlockingService service;
-<a class="jxr_linenumber" name="296" href="#296">296</a>     <strong class="jxr_keyword">protected</strong> MethodDescriptor md;
-<a class="jxr_linenumber" name="297" href="#297">297</a>     <strong class="jxr_keyword">protected</strong> RequestHeader header;
-<a class="jxr_linenumber" name="298" href="#298">298</a>     <strong class="jxr_keyword">protected</strong> Message param;                      <em class="jxr_comment">// the parameter passed</em>
-<a class="jxr_linenumber" name="299" href="#299">299</a>     <em class="jxr_comment">// Optional cell data passed outside of protobufs.</em>
-<a class="jxr_linenumber" name="300" href="#300">300</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html">CellScanner</a> cellScanner;
-<a class="jxr_linenumber" name="301" href="#301">301</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html">Connection</a> connection;              <em class="jxr_comment">// connection to client</em>
-<a class="jxr_linenumber" name="302" href="#302">302</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">long</strong> timestamp;      <em class="jxr_comment">// the time received when response is null</em>
-<a class="jxr_linenumber" name="303" href="#303">303</a>                                    <em class="jxr_comment">// the time served when response is not null</em>
-<a class="jxr_linenumber" name="304" href="#304">304</a>     <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="305" href="#305">305</a> <em class="jxr_javadoccomment">     * Chain of buffers to send as response.</em>
-<a class="jxr_linenumber" name="306" href="#306">306</a> <em class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="307" href="#307">307</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/BufferChain.html">BufferChain</a> response;
-<a class="jxr_linenumber" name="308" href="#308">308</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> delayResponse;
-<a class="jxr_linenumber" name="309" href="#309">309</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html">Responder</a> responder;
-<a class="jxr_linenumber" name="310" href="#310">310</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> delayReturnValue;           <em class="jxr_comment">// if the return value should be</em>
-<a class="jxr_linenumber" name="311" href="#311">311</a>                                                   <em class="jxr_comment">// set at call completion</em>
-<a class="jxr_linenumber" name="312" href="#312">312</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">long</strong> size;                          <em class="jxr_comment">// size of current call</em>
-<a class="jxr_linenumber" name="313" href="#313">313</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isError;
-<a class="jxr_linenumber" name="314" href="#314">314</a>     <strong class="jxr_keyword">protected</strong> TraceInfo tinfo;
-<a class="jxr_linenumber" name="315" href="#315">315</a>     <strong class="jxr_keyword">private</strong> ByteBuffer cellBlock = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="316" href="#316">316</a> 
-<a class="jxr_linenumber" name="317" href="#317">317</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/hadoop/hbase/security/User.html">User</a> user;
-<a class="jxr_linenumber" name="318" href="#318">318</a>     <strong class="jxr_keyword">private</strong> InetAddress remoteAddress;
-<a class="jxr_linenumber" name="319" href="#319">319</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html">RpcCallback</a> callback;
-<a class="jxr_linenumber" name="320" href="#320">320</a> 
-<a class="jxr_linenumber" name="321" href="#321">321</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> responseCellSize = 0;
-<a class="jxr_linenumber" name="322" href="#322">322</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> responseBlockSize = 0;
-<a class="jxr_linenumber" name="323" href="#323">323</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> retryImmediatelySupported;
-<a class="jxr_linenumber" name="324" href="#324">324</a> 
-<a class="jxr_linenumber" name="325" href="#325">325</a>     @edu.umd.cs.findbugs.annotations.SuppressWarnings(value=<span class="jxr_string">"NP_NULL_ON_SOME_PATH"</span>,
-<a class="jxr_linenumber" name="326" href="#326">326</a>         justification=<span class="jxr_string">"Can't figure why this complaint is happening... see below"</span>)
-<a class="jxr_linenumber" name="327" href="#327">327</a>     <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html">Call</a>(<strong class="jxr_keyword">int</strong> id, <strong class="jxr_keyword">final</strong> BlockingService service, <strong class="jxr_keyword">final</strong> MethodDescriptor md, RequestHeader header,
-<a class="jxr_linenumber" name="328" href="#328">328</a>          Message param, <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html">CellScanner</a> cellScanner, <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html">Connection</a> connection, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html">Responder</a> responder,
-<a class="jxr_linenumber" name="329" href="#329">329</a>          <strong class="jxr_keyword">long</strong> size, TraceInfo tinfo, <strong class="jxr_keyword">final</strong> InetAddress remoteAddress) {
-<a class="jxr_linenumber" name="330" href="#330">330</a>       <strong class="jxr_keyword">this</strong>.id = id;
-<a class="jxr_linenumber" name="331" href="#331">331</a>       <strong class="jxr_keyword">this</strong>.service = service;
-<a class="jxr_linenumber" name="332" href="#332">332</a>       <strong class="jxr_keyword">this</strong>.md = md;
-<a class="jxr_linenumber" name="333" href="#333">333</a>       <strong class="jxr_keyword">this</strong>.header = header;
-<a class="jxr_linenumber" name="334" href="#334">334</a>       <strong class="jxr_keyword">this</strong>.param = param;
-<a class="jxr_linenumber" name="335" href="#335">335</a>       <strong class="jxr_keyword">this</strong>.cellScanner = cellScanner;
-<a class="jxr_linenumber" name="336" href="#336">336</a>       <strong class="jxr_keyword">this</strong>.connection = connection;
-<a class="jxr_linenumber" name="337" href="#337">337</a>       <strong class="jxr_keyword">this</strong>.timestamp = System.currentTimeMillis();
-<a class="jxr_linenumber" name="338" href="#338">338</a>       <strong class="jxr_keyword">this</strong>.response = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="339" href="#339">339</a>       <strong class="jxr_keyword">this</strong>.delayResponse = false;
-<a class="jxr_linenumber" name="340" href="#340">340</a>       <strong class="jxr_keyword">this</strong>.responder = responder;
-<a class="jxr_linenumber" name="341" href="#341">341</a>       <strong class="jxr_keyword">this</strong>.isError = false;
-<a class="jxr_linenumber" name="342" href="#342">342</a>       <strong class="jxr_keyword">this</strong>.size = size;
-<a class="jxr_linenumber" name="343" href="#343">343</a>       <strong class="jxr_keyword">this</strong>.tinfo = tinfo;
-<a class="jxr_linenumber" name="344" href="#344">344</a>       <strong class="jxr_keyword">this</strong>.user = connection == <strong class="jxr_keyword">null</strong>? <strong class="jxr_keyword">null</strong>: connection.user; <em class="jxr_comment">// FindBugs: NP_NULL_ON_SOME_PATH</em>
-<a class="jxr_linenumber" name="345" href="#345">345</a>       <strong class="jxr_keyword">this</strong>.remoteAddress = remoteAddress;
-<a class="jxr_linenumber" name="346" href="#346">346</a>       <strong class="jxr_keyword">this</strong>.retryImmediatelySupported =
-<a class="jxr_linenumber" name="347" href="#347">347</a>           connection == <strong class="jxr_keyword">null</strong>? <strong class="jxr_keyword">null</strong>: connection.retryImmediatelySupported;
-<a class="jxr_linenumber" name="348" href="#348">348</a>     }
-<a class="jxr_linenumber" name="349" href="#349">349</a> 
-<a class="jxr_linenumber" name="350" href="#350">350</a>     <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="351" href="#351">351</a> <em class="jxr_javadoccomment">     * Call is done. Execution happened and we returned results to client. It is now safe to</em>
-<a class="jxr_linenumber" name="352" href="#352">352</a> <em class="jxr_javadoccomment">     * cleanup.</em>
-<a class="jxr_linenumber" name="353" href="#353">353</a> <em class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="354" href="#354">354</a>     @edu.umd.cs.findbugs.annotations.SuppressWarnings(value=<span class="jxr_string">"IS2_INCONSISTENT_SYNC"</span>,
-<a class="jxr_linenumber" name="355" href="#355">355</a>         justification=<span class="jxr_string">"Presume the lock on processing request held by caller is protection enough"</span>)
-<a class="jxr_linenumber" name="356" href="#356">356</a>     <strong class="jxr_keyword">void</strong> done() {
-<a class="jxr_linenumber" name="357" href="#357">357</a>       <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.cellBlock != <strong class="jxr_keyword">null</strong> &amp;&amp; reservoir != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="358" href="#358">358</a>         <em class="jxr_comment">// Return buffer to reservoir now we are done with it.</em>
-<a class="jxr_linenumber" name="359" href="#359">359</a>         reservoir.putBuffer(<strong class="jxr_keyword">this</strong>.cellBlock);
-<a class="jxr_linenumber" name="360" href="#360">360</a>         <strong class="jxr_keyword">this</strong>.cellBlock = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="361" href="#361">361</a>       }
-<a class="jxr_linenumber" name="362" href="#362">362</a>       <strong class="jxr_keyword">this</strong>.connection.decRpcCount();  <em class="jxr_comment">// Say that we're done with this call.</em>
-<a class="jxr_linenumber" name="363" href="#363">363</a>     }
-<a class="jxr_linenumber" name="364" href="#364">364</a> 
-<a class="jxr_linenumber" name="365" href="#365">365</a>     @Override
-<a class="jxr_linenumber" name="366" href="#366">366</a>     <strong class="jxr_keyword">public</strong> String toString() {
-<a class="jxr_linenumber" name="367" href="#367">367</a>       <strong class="jxr_keyword">return</strong> toShortString() + <span class="jxr_string">" param: "</span> +
-<a class="jxr_linenumber" name="368" href="#368">368</a>         (<strong class="jxr_keyword">this</strong>.param != <strong class="jxr_keyword">null</strong>? ProtobufUtil.getShortTextFormat(<strong class="jxr_keyword">this</strong>.param): <span class="jxr_string">""</span>) +
-<a class="jxr_linenumber" name="369" href="#369">369</a>         <span class="jxr_string">" connection: "</span> + connection.toString();
-<a class="jxr_linenumber" name="370" href="#370">370</a>     }
-<a class="jxr_linenumber" name="371" href="#371">371</a> 
-<a class="jxr_linenumber" name="372" href="#372">372</a>     <strong class="jxr_keyword">protected</strong> RequestHeader getHeader() {
-<a class="jxr_linenumber" name="373" href="#373">373</a>       <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.header;
-<a class="jxr_linenumber" name="374" href="#374">374</a>     }
-<a class="jxr_linenumber" name="375" href="#375">375</a> 
-<a class="jxr_linenumber" name="376" href="#376">376</a>     <em class="jxr_comment">/*</em>
-<a class="jxr_linenumber" name="377" href="#377">377</a> <em class="jxr_comment">     * Short string representation without param info because param itself could be huge depends on</em>
-<a class="jxr_linenumber" name="378" href="#378">378</a> <em class="jxr_comment">     * the payload of a command</em>
-<a class="jxr_linenumber" name="379" href="#379">379</a> <em class="jxr_comment">     */</em>
-<a class="jxr_linenumber" name="380" href="#380">380</a>     String toShortString() {
-<a class="jxr_linenumber" name="381" href="#381">381</a>       String serviceName = <strong class="jxr_keyword">this</strong>.connection.service != <strong class="jxr_keyword">null</strong> ?
-<a class="jxr_linenumber" name="382" href="#382">382</a>           <strong class="jxr_keyword">this</strong>.connection.service.getDescriptorForType().getName() : <span class="jxr_string">"null"</span>;
-<a class="jxr_linenumber" name="383" href="#383">383</a>       <strong class="jxr_keyword">return</strong> <span class="jxr_string">"callId: "</span> + <strong class="jxr_keyword">this</strong>.id + <span class="jxr_string">" service: "</span> + serviceName +
-<a class="jxr_linenumber" name="384" href="#384">384</a>           <span class="jxr_string">" methodName: "</span> + ((<strong class="jxr_keyword">this</strong>.md != <strong class="jxr_keyword">null</strong>) ? <strong class="jxr_keyword">this</strong>.md.getName() : <span class="jxr_string">"n/a"</span>) +
-<a class="jxr_linenumber" name="385" href="#385">385</a>           <span class="jxr_string">" size: "</span> + StringUtils.TraditionalBinaryPrefix.<strong class="jxr_keyword">long</strong>2String(<strong class="jxr_keyword">this</strong>.size, <span class="jxr_string">""</span>, 1) +
-<a class="jxr_linenumber" name="386" href="#386">386</a>           <span class="jxr_string">" connection: "</span> + connection.toString();
-<a class="jxr_linenumber" name="387" href="#387">387</a>     }
-<a class="jxr_linenumber" name="388" href="#388">388</a> 
-<a class="jxr_linenumber" name="389" href="#389">389</a>     String toTraceString() {
-<a class="jxr_linenumber" name="390" href="#390">390</a>       String serviceName = <strong class="jxr_keyword">this</strong>.connection.service != <strong class="jxr_keyword">null</strong> ?
-<a class="jxr_linenumber" name="391" href="#391">391</a>                            <strong class="jxr_keyword">this</strong>.connection.service.getDescriptorForType().getName() : <span class="jxr_string">""</span>;
-<a class="jxr_linenumber" name="392" href="#392">392</a>       String methodName = (<strong class="jxr_keyword">this</strong>.md != <strong class="jxr_keyword">null</strong>) ? <strong class="jxr_keyword">this</strong>.md.getName() : <span class="jxr_string">""</span>;
-<a class="jxr_linenumber" name="393" href="#393">393</a>       <strong class="jxr_keyword">return</strong> serviceName + <span class="jxr_string">"."</span> + methodName;
-<a class="jxr_linenumber" name="394" href="#394">394</a>     }
-<a class="jxr_linenumber" name="395" href="#395">395</a> 
-<a class="jxr_linenumber" name="396" href="#396">396</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> setSaslTokenResponse(ByteBuffer response) {
-<a class="jxr_linenumber" name="397" href="#397">397</a>       <strong class="jxr_keyword">this</strong>.response = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/BufferChain.html">BufferChain</a>(response);
-<a class="jxr_linenumber" name="398" href="#398">398</a>     }
-<a class="jxr_linenumber" name="399" href="#399">399</a> 
-<a class="jxr_linenumber" name="400" href="#400">400</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> setResponse(Object m, <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html">CellScanner</a> cells,
-<a class="jxr_linenumber" name="401" href="#401">401</a>         Throwable t, String errorMsg) {
-<a class="jxr_linenumber" name="402" href="#402">402</a>       <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.isError) <strong class="jxr_keyword">return</strong>;
-<a class="jxr_linenumber" name="403" href="#403">403</a>       <strong class="jxr_keyword">if</strong> (t != <strong class="jxr_keyword">null</strong>) <strong class="jxr_keyword">this</strong>.isError = <strong class="jxr_keyword">true</strong>;
-<a class="jxr_linenumber" name="404" href="#404">404</a>       <a href="../../../../../org/apache/hadoop/hbase/ipc/BufferChain.html">BufferChain</a> bc = <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="405" href="#405">405</a>       <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="406" href="#406">406</a>         ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();
-<a class="jxr_linenumber" name="407" href="#407">407</a>         <em class="jxr_comment">// Presume it a pb Message.  Could be null.</em>
-<a class="jxr_linenumber" name="408" href="#408">408</a>         Message result = (Message)m;
-<a class="jxr_linenumber" name="409" href="#409">409</a>         <em class="jxr_comment">// Call id.</em>
-<a class="jxr_linenumber" name="410" href="#410">410</a>         headerBuilder.setCallId(<strong class="jxr_keyword">this</strong>.id);
-<a class="jxr_linenumber" name="411" href="#411">411</a>         <strong class="jxr_keyword">if</strong> (t != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="412" href="#412">412</a>           ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();
-<a class="jxr_linenumber" name="413" href="#413">413</a>           exceptionBuilder.setExceptionClassName(t.getClass().getName());
-<a class="jxr_linenumber" name="414" href="#414">414</a>           exceptionBuilder.setStackTrace(errorMsg);
-<a class="jxr_linenumber" name="415" href="#415">415</a>           exceptionBuilder.setDoNotRetry(t instanceof <a href="../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html">DoNotRetryIOException</a>);
-<a class="jxr_linenumber" name="416" href="#416">416</a>           <strong class="jxr_keyword">if</strong> (t instanceof RegionMovedException) {
-<a class="jxr_linenumber" name="417" href="#417">417</a>             <em class="jxr_comment">// Special casing for this exception.  This is only one carrying a payload.</em>
-<a class="jxr_linenumber" name="418" href="#418">418</a>             <em class="jxr_comment">// Do this instead of build a generic system for allowing exceptions carry</em>
-<a class="jxr_linenumber" name="419" href="#419">419</a>             <em class="jxr_comment">// any kind of payload.</em>
-<a class="jxr_linenumber" name="420" href="#420">420</a>             <a href="../../../../../org/apache/hadoop/hbase/exceptions/RegionMovedException.html">RegionMovedException</a> rme = (RegionMovedException)t;
-<a class="jxr_linenumber" name="421" href="#421">421</a>             exceptionBuilder.setHostname(rme.getHostname());
-<a class="jxr_linenumber" name="422" href="#422">422</a>             exceptionBuilder.setPort(rme.getPort());
-<a class="jxr_linenumber" name="423" href="#423">423</a>           }
-<a class="jxr_linenumber" name="424" href="#424">424</a>           <em class="jxr_comment">// Set the exception as the result of the method invocation.</em>
-<a class="jxr_linenumber" name="425" href="#425">425</a>           headerBuilder.setException(exceptionBuilder.build());
-<a class="jxr_linenumber" name="426" href="#426">426</a>         }
-<a class="jxr_linenumber" name="427" href="#427">427</a>         <em class="jxr_comment">// Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the</em>
-<a class="jxr_linenumber" name="428" href="#428">428</a>         <em class="jxr_comment">// reservoir when finished. This is hacky and the hack is not contained but benefits are</em>
-<a class="jxr_linenumber" name="429" href="#429">429</a>         <em class="jxr_comment">// high when we can avoid a big buffer allocation on each rpc.</em>
-<a class="jxr_linenumber" name="430" href="#430">430</a>         <strong class="jxr_keyword">this</strong>.cellBlock = ipcUtil.buildCellBlock(<strong class="jxr_keyword">this</strong>.connection.codec,
-<a class="jxr_linenumber" name="431" href="#431">431</a>           <strong class="jxr_keyword">this</strong>.connection.compressionCodec, cells, reservoir);
-<a class="jxr_linenumber" name="432" href="#432">432</a>         <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.cellBlock != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="433" href="#433">433</a>           CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();
-<a class="jxr_linenumber" name="434" href="#434">434</a>           <em class="jxr_comment">// Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.</em>
-<a class="jxr_linenumber" name="435" href="#435">435</a>           cellBlockBuilder.setLength(<strong class="jxr_keyword">this</strong>.cellBlock.limit());
-<a class="jxr_linenumber" name="436" href="#436">436</a>           headerBuilder.setCellBlockMeta(cellBlockBuilder.build());
-<a class="jxr_linenumber" name="437" href="#437">437</a>         }
-<a class="jxr_linenumber" name="438" href="#438">438</a>         Message header = headerBuilder.build();
-<a class="jxr_linenumber" name="439" href="#439">439</a> 
-<a class="jxr_linenumber" name="440" href="#440">440</a>         <em class="jxr_comment">// Organize the response as a set of bytebuffers rather than collect it all together inside</em>
-<a class="jxr_linenumber" name="441" href="#441">441</a>         <em class="jxr_comment">// one big byte array; save on allocations.</em>
-<a class="jxr_linenumber" name="442" href="#442">442</a>         ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);
-<a class="jxr_linenumber" name="443" href="#443">443</a>         ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);
-<a class="jxr_linenumber" name="444" href="#444">444</a>         <strong class="jxr_keyword">int</strong> totalSize = bbHeader.capacity() + (bbResult == <strong class="jxr_keyword">null</strong>? 0: bbResult.limit()) +
-<a class="jxr_linenumber" name="445" href="#445">445</a>           (<strong class="jxr_keyword">this</strong>.cellBlock == <strong class="jxr_keyword">null</strong>? 0: <strong class="jxr_keyword">this</strong>.cellBlock.limit());
-<a class="jxr_linenumber" name="446" href="#446">446</a>         ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));
-<a class="jxr_linenumber" name="447" href="#447">447</a>         bc = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/BufferChain.html">BufferChain</a>(bbTotalSize, bbHeader, bbResult, <strong class="jxr_keyword">this</strong>.cellBlock);
-<a class="jxr_linenumber" name="448" href="#448">448</a>         <strong class="jxr_keyword">if</strong> (connection.useWrap) {
-<a class="jxr_linenumber" name="449" href="#449">449</a>           bc = wrapWithSasl(bc);
-<a class="jxr_linenumber" name="450" href="#450">450</a>         }
-<a class="jxr_linenumber" name="451" href="#451">451</a>       } <strong class="jxr_keyword">catch</strong> (IOException e) {
-<a class="jxr_linenumber" name="452" href="#452">452</a>         LOG.warn(<span class="jxr_string">"Exception while creating response "</span> + e);
-<a class="jxr_linenumber" name="453" href="#453">453</a>       }
-<a class="jxr_linenumber" name="454" href="#454">454</a>       <strong class="jxr_keyword">this</strong>.response = bc;
-<a class="jxr_linenumber" name="455" href="#455">455</a>       <em class="jxr_comment">// Once a response message is created and set to this.response, this Call can be treated as</em>
-<a class="jxr_linenumber" name="456" href="#456">456</a>       <em class="jxr_comment">// done. The Responder thread will do the n/w write of this message back to client.</em>
-<a class="jxr_linenumber" name="457" href="#457">457</a>       <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.callback != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="458" href="#458">458</a>         <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="459" href="#459">459</a>           <strong class="jxr_keyword">this</strong>.callback.run();
-<a class="jxr_linenumber" name="460" href="#460">460</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
-<a class="jxr_linenumber" name="461" href="#461">461</a>           <em class="jxr_comment">// Don't allow any exception here to kill this handler thread.</em>
-<a class="jxr_linenumber" name="462" href="#462">462</a>           LOG.warn(<span class="jxr_string">"Exception while running the Rpc Callback."</span>, e);
-<a class="jxr_linenumber" name="463" href="#463">463</a>         }
-<a class="jxr_linenumber" name="464" href="#464">464</a>       }
-<a class="jxr_linenumber" name="465" href="#465">465</a>     }
-<a class="jxr_linenumber" name="466" href="#466">466</a> 
-<a class="jxr_linenumber" name="467" href="#467">467</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/BufferChain.html">BufferChain</a> wrapWithSasl(<a href="../../../../../org/apache/hadoop/hbase/ipc/BufferChain.html">BufferChain</a> bc)
-<a class="jxr_linenumber" name="468" href="#468">468</a>         <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="469" href="#469">469</a>       <strong class="jxr_keyword">if</strong> (!<strong class="jxr_keyword">this</strong>.connection.useSasl) <strong class="jxr_keyword">return</strong> bc;
-<a class="jxr_linenumber" name="470" href="#470">470</a>       <em class="jxr_comment">// Looks like no way around this; saslserver wants a byte array.  I have to make it one.</em>
-<a class="jxr_linenumber" name="471" href="#471">471</a>       <em class="jxr_comment">// THIS IS A BIG UGLY COPY.</em>
-<a class="jxr_linenumber" name="472" href="#472">472</a>       byte [] responseBytes = bc.getBytes();
-<a class="jxr_linenumber" name="473" href="#473">473</a>       byte [] token;
-<a class="jxr_linenumber" name="474" href="#474">474</a>       <em class="jxr_comment">// synchronization may be needed since there can be multiple Handler</em>
-<a class="jxr_linenumber" name="475" href="#475">475</a>       <em class="jxr_comment">// threads using saslServer to wrap responses.</em>
-<a class="jxr_linenumber" name="476" href="#476">476</a>       <strong class="jxr_keyword">synchronized</strong> (connection.saslServer) {
-<a class="jxr_linenumber" name="477" href="#477">477</a>         token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);
-<a class="jxr_linenumber" name="478" href="#478">478</a>       }
-<a class="jxr_linenumber" name="479" href="#479">479</a>       <strong class="jxr_keyword">if</strong> (LOG.isTraceEnabled()) {
-<a class="jxr_linenumber" name="480" href="#480">480</a>         LOG.trace(<span class="jxr_string">"Adding saslServer wrapped token of size "</span> + token.length
-<a class="jxr_linenumber" name="481" href="#481">481</a>             + <span class="jxr_string">" as call response."</span>);
-<a class="jxr_linenumber" name="482" href="#482">482</a>       }
+<a class="jxr_linenumber" name="276" href="#276">276</a>   <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/hadoop/hbase/security/UserProvider.html">UserProvider</a> userProvider;
+<a class="jxr_linenumber" name="277" href="#277">277</a> 
+<a class="jxr_linenumber" name="278" href="#278">278</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/hadoop/hbase/io/BoundedByteBufferPool.html">BoundedByteBufferPool</a> reservoir;
+<a class="jxr_linenumber" name="279" href="#279">279</a> 
+<a class="jxr_linenumber" name="280" href="#280">280</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">volatile</strong> <strong class="jxr_keyword">boolean</strong> allowFallbackToSimpleAuth;
+<a class="jxr_linenumber" name="281" href="#281">281</a> 
+<a class="jxr_linenumber" name="282" href="#282">282</a>   <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="283" href="#283">283</a> <em class="jxr_javadoccomment">   * Datastructure that holds all necessary to a method invocation and then afterward, carries</em>
+<a class="jxr_linenumber" name="284" href="#284">284</a> <em class="jxr_javadoccomment">   * the result.</em>
+<a class="jxr_linenumber" name="285" href="#285">285</a> <em class="jxr_javadoccomment">   */</em>
+<a class="jxr_linenumber" name="286" href="#286">286</a>   <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html">Call</a> <strong class="jxr_keyword">implements</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html">RpcCallContext</a> {
+<a class="jxr_linenumber" name="287" href="#287">287</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">int</strong> id;                             <em class="jxr_comment">// the client's call id</em>
+<a class="jxr_linenumber" name="288" href="#288">288</a>     <strong class="jxr_keyword">protected</strong> BlockingService service;
+<a class="jxr_linenumber" name="289" href="#289">289</a>     <strong class="jxr_keyword">protected</strong> MethodDescriptor md;
+<a class="jxr_linenumber" name="290" href="#290">290</a>     <strong class="jxr_keyword">protected</strong> RequestHeader header;
+<a class="jxr_linenumber" name="291" href="#291">291</a>     <strong class="jxr_keyword">protected</strong> Message param;                      <em class="jxr_comment">// the parameter passed</em>
+<a class="jxr_linenumber" name="292" href="#292">292</a>     <em class="jxr_comment">// Optional cell data passed outside of protobufs.</em>
+<a class="jxr_linenumber" name="293" href="#293">293</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html">CellScanner</a> cellScanner;
+<a class="jxr_linenumber" name="294" href="#294">294</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html">Connection</a> connection;              <em class="jxr_comment">// connection to client</em>
+<a class="jxr_linenumber" name="295" href="#295">295</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">long</strong> timestamp;      <em class="jxr_comment">// the time received when response is null</em>
+<a class="jxr_linenumber" name="296" href="#296">296</a>                                    <em class="jxr_comment">// the time served when response is not null</em>
+<a class="jxr_linenumber" name="297" href="#297">297</a>     <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="298" href="#298">298</a> <em class="jxr_javadoccomment">     * Chain of buffers to send as response.</em>
+<a class="jxr_linenumber" name="299" href="#299">299</a> <em class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="300" href="#300">300</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/BufferChain.html">BufferChain</a> response;
+<a class="jxr_linenumber" name="301" href="#301">301</a>     <strong class="jxr_keyword">protected</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html">Responder</a> responder;
+<a class="jxr_linenumber" name="302" href="#302">302</a> 
+<a class="jxr_linenumber" name="303" href="#303">303</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">long</strong> size;                          <em class="jxr_comment">// size of current call</em>
+<a class="jxr_linenumber" name="304" href="#304">304</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">boolean</strong> isError;
+<a class="jxr_linenumber" name="305" href="#305">305</a>     <strong class="jxr_keyword">protected</strong> TraceInfo tinfo;
+<a class="jxr_linenumber" name="306" href="#306">306</a>     <strong class="jxr_keyword">private</strong> ByteBuffer cellBlock = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="307" href="#307">307</a> 
+<a class="jxr_linenumber" name="308" href="#308">308</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/hadoop/hbase/security/User.html">User</a> user;
+<a class="jxr_linenumber" name="309" href="#309">309</a>     <strong class="jxr_keyword">private</strong> InetAddress remoteAddress;
+<a class="jxr_linenumber" name="310" href="#310">310</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html">RpcCallback</a> callback;
+<a class="jxr_linenumber" name="311" href="#311">311</a> 
+<a class="jxr_linenumber" name="312" href="#312">312</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> responseCellSize = 0;
+<a class="jxr_linenumber" name="313" href="#313">313</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">long</strong> responseBlockSize = 0;
+<a class="jxr_linenumber" name="314" href="#314">314</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">boolean</strong> retryImmediatelySupported;
+<a class="jxr_linenumber" name="315" href="#315">315</a> 
+<a class="jxr_linenumber" name="316" href="#316">316</a>     @edu.umd.cs.findbugs.annotations.SuppressWarnings(value=<span class="jxr_string">"NP_NULL_ON_SOME_PATH"</span>,
+<a class="jxr_linenumber" name="317" href="#317">317</a>         justification=<span class="jxr_string">"Can't figure why this complaint is happening... see below"</span>)
+<a class="jxr_linenumber" name="318" href="#318">318</a>     <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html">Call</a>(<strong class="jxr_keyword">int</strong> id, <strong class="jxr_keyword">final</strong> BlockingService service, <strong class="jxr_keyword">final</strong> MethodDescriptor md, RequestHeader header,
+<a class="jxr_linenumber" name="319" href="#319">319</a>          Message param, <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html">CellScanner</a> cellScanner, <a href="../../../../../org/apache/hadoop/hbase/client/Connection.html">Connection</a> connection, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html">Responder</a> responder,
+<a class="jxr_linenumber" name="320" href="#320">320</a>          <strong class="jxr_keyword">long</strong> size, TraceInfo tinfo, <strong class="jxr_keyword">final</strong> InetAddress remoteAddress) {
+<a class="jxr_linenumber" name="321" href="#321">321</a>       <strong class="jxr_keyword">this</strong>.id = id;
+<a class="jxr_linenumber" name="322" href="#322">322</a>       <strong class="jxr_keyword">this</strong>.service = service;
+<a class="jxr_linenumber" name="323" href="#323">323</a>       <strong class="jxr_keyword">this</strong>.md = md;
+<a class="jxr_linenumber" name="324" href="#324">324</a>       <strong class="jxr_keyword">this</strong>.header = header;
+<a class="jxr_linenumber" name="325" href="#325">325</a>       <strong class="jxr_keyword">this</strong>.param = param;
+<a class="jxr_linenumber" name="326" href="#326">326</a>       <strong class="jxr_keyword">this</strong>.cellScanner = cellScanner;
+<a class="jxr_linenumber" name="327" href="#327">327</a>       <strong class="jxr_keyword">this</strong>.connection = connection;
+<a class="jxr_linenumber" name="328" href="#328">328</a>       <strong class="jxr_keyword">this</strong>.timestamp = System.currentTimeMillis();
+<a class="jxr_linenumber" name="329" href="#329">329</a>       <strong class="jxr_keyword">this</strong>.response = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="330" href="#330">330</a>       <strong class="jxr_keyword">this</strong>.responder = responder;
+<a class="jxr_linenumber" name="331" href="#331">331</a>       <strong class="jxr_keyword">this</strong>.isError = false;
+<a class="jxr_linenumber" name="332" href="#332">332</a>       <strong class="jxr_keyword">this</strong>.size = size;
+<a class="jxr_linenumber" name="333" href="#333">333</a>       <strong class="jxr_keyword">this</strong>.tinfo = tinfo;
+<a class="jxr_linenumber" name="334" href="#334">334</a>       <strong class="jxr_keyword">this</strong>.user = connection == <strong class="jxr_keyword">null</strong>? <strong class="jxr_keyword">null</strong>: connection.user; <em class="jxr_comment">// FindBugs: NP_NULL_ON_SOME_PATH</em>
+<a class="jxr_linenumber" name="335" href="#335">335</a>       <strong class="jxr_keyword">this</strong>.remoteAddress = remoteAddress;
+<a class="jxr_linenumber" name="336" href="#336">336</a>       <strong class="jxr_keyword">this</strong>.retryImmediatelySupported =
+<a class="jxr_linenumber" name="337" href="#337">337</a>           connection == <strong class="jxr_keyword">null</strong>? <strong class="jxr_keyword">null</strong>: connection.retryImmediatelySupported;
+<a class="jxr_linenumber" name="338" href="#338">338</a>     }
+<a class="jxr_linenumber" name="339" href="#339">339</a> 
+<a class="jxr_linenumber" name="340" href="#340">340</a>     <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="341" href="#341">341</a> <em class="jxr_javadoccomment">     * Call is done. Execution happened and we returned results to client. It is now safe to</em>
+<a class="jxr_linenumber" name="342" href="#342">342</a> <em class="jxr_javadoccomment">     * cleanup.</em>
+<a class="jxr_linenumber" name="343" href="#343">343</a> <em class="jxr_javadoccomment">     */</em>
+<a class="jxr_linenumber" name="344" href="#344">344</a>     @edu.umd.cs.findbugs.annotations.SuppressWarnings(value=<span class="jxr_string">"IS2_INCONSISTENT_SYNC"</span>,
+<a class="jxr_linenumber" name="345" href="#345">345</a>         justification=<span class="jxr_string">"Presume the lock on processing request held by caller is protection enough"</span>)
+<a class="jxr_linenumber" name="346" href="#346">346</a>     <strong class="jxr_keyword">void</strong> done() {
+<a class="jxr_linenumber" name="347" href="#347">347</a>       <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.cellBlock != <strong class="jxr_keyword">null</strong> &amp;&amp; reservoir != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="348" href="#348">348</a>         <em class="jxr_comment">// Return buffer to reservoir now we are done with it.</em>
+<a class="jxr_linenumber" name="349" href="#349">349</a>         reservoir.putBuffer(<strong class="jxr_keyword">this</strong>.cellBlock);
+<a class="jxr_linenumber" name="350" href="#350">350</a>         <strong class="jxr_keyword">this</strong>.cellBlock = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="351" href="#351">351</a>       }
+<a class="jxr_linenumber" name="352" href="#352">352</a>       <strong class="jxr_keyword">this</strong>.connection.decRpcCount();  <em class="jxr_comment">// Say that we're done with this call.</em>
+<a class="jxr_linenumber" name="353" href="#353">353</a>     }
+<a class="jxr_linenumber" name="354" href="#354">354</a> 
+<a class="jxr_linenumber" name="355" href="#355">355</a>     @Override
+<a class="jxr_linenumber" name="356" href="#356">356</a>     <strong class="jxr_keyword">public</strong> String toString() {
+<a class="jxr_linenumber" name="357" href="#357">357</a>       <strong class="jxr_keyword">return</strong> toShortString() + <span class="jxr_string">" param: "</span> +
+<a class="jxr_linenumber" name="358" href="#358">358</a>         (<strong class="jxr_keyword">this</strong>.param != <strong class="jxr_keyword">null</strong>? ProtobufUtil.getShortTextFormat(<strong class="jxr_keyword">this</strong>.param): <span class="jxr_string">""</span>) +
+<a class="jxr_linenumber" name="359" href="#359">359</a>         <span class="jxr_string">" connection: "</span> + connection.toString();
+<a class="jxr_linenumber" name="360" href="#360">360</a>     }
+<a class="jxr_linenumber" name="361" href="#361">361</a> 
+<a class="jxr_linenumber" name="362" href="#362">362</a>     <strong class="jxr_keyword">protected</strong> RequestHeader getHeader() {
+<a class="jxr_linenumber" name="363" href="#363">363</a>       <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">this</strong>.header;
+<a class="jxr_linenumber" name="364" href="#364">364</a>     }
+<a class="jxr_linenumber" name="365" href="#365">365</a> 
+<a class="jxr_linenumber" name="366" href="#366">366</a>     <em class="jxr_comment">/*</em>
+<a class="jxr_linenumber" name="367" href="#367">367</a> <em class="jxr_comment">     * Short string representation without param info because param itself could be huge depends on</em>
+<a class="jxr_linenumber" name="368" href="#368">368</a> <em class="jxr_comment">     * the payload of a command</em>
+<a class="jxr_linenumber" name="369" href="#369">369</a> <em class="jxr_comment">     */</em>
+<a class="jxr_linenumber" name="370" href="#370">370</a>     String toShortString() {
+<a class="jxr_linenumber" name="371" href="#371">371</a>       String serviceName = <strong class="jxr_keyword">this</strong>.connection.service != <strong class="jxr_keyword">null</strong> ?
+<a class="jxr_linenumber" name="372" href="#372">372</a>           <strong class="jxr_keyword">this</strong>.connection.service.getDescriptorForType().getName() : <span class="jxr_string">"null"</span>;
+<a class="jxr_linenumber" name="373" href="#373">373</a>       <strong class="jxr_keyword">return</strong> <span class="jxr_string">"callId: "</span> + <strong class="jxr_keyword">this</strong>.id + <span class="jxr_string">" service: "</span> + serviceName +
+<a class="jxr_linenumber" name="374" href="#374">374</a>           <span class="jxr_string">" methodName: "</span> + ((<strong class="jxr_keyword">this</strong>.md != <strong class="jxr_keyword">null</strong>) ? <strong class="jxr_keyword">this</strong>.md.getName() : <span class="jxr_string">"n/a"</span>) +
+<a class="jxr_linenumber" name="375" href="#375">375</a>           <span class="jxr_string">" size: "</span> + StringUtils.TraditionalBinaryPrefix.<strong class="jxr_keyword">long</strong>2String(<strong class="jxr_keyword">this</strong>.size, <span class="jxr_string">""</span>, 1) +
+<a class="jxr_linenumber" name="376" href="#376">376</a>           <span class="jxr_string">" connection: "</span> + connection.toString();
+<a class="jxr_linenumber" name="377" href="#377">377</a>     }
+<a class="jxr_linenumber" name="378" href="#378">378</a> 
+<a class="jxr_linenumber" name="379" href="#379">379</a>     String toTraceString() {
+<a class="jxr_linenumber" name="380" href="#380">380</a>       String serviceName = <strong class="jxr_keyword">this</strong>.connection.service != <strong class="jxr_keyword">null</strong> ?
+<a class="jxr_linenumber" name="381" href="#381">381</a>                            <strong class="jxr_keyword">this</strong>.connection.service.getDescriptorForType().getName() : <span class="jxr_string">""</span>;
+<a class="jxr_linenumber" name="382" href="#382">382</a>       String methodName = (<strong class="jxr_keyword">this</strong>.md != <strong class="jxr_keyword">null</strong>) ? <strong class="jxr_keyword">this</strong>.md.getName() : <span class="jxr_string">""</span>;
+<a class="jxr_linenumber" name="383" href="#383">383</a>       <strong class="jxr_keyword">return</strong> serviceName + <span class="jxr_string">"."</span> + methodName;
+<a class="jxr_linenumber" name="384" href="#384">384</a>     }
+<a class="jxr_linenumber" name="385" href="#385">385</a> 
+<a class="jxr_linenumber" name="386" href="#386">386</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> setSaslTokenResponse(ByteBuffer response) {
+<a class="jxr_linenumber" name="387" href="#387">387</a>       <strong class="jxr_keyword">this</strong>.response = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/BufferChain.html">BufferChain</a>(response);
+<a class="jxr_linenumber" name="388" href="#388">388</a>     }
+<a class="jxr_linenumber" name="389" href="#389">389</a> 
+<a class="jxr_linenumber" name="390" href="#390">390</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">synchronized</strong> <strong class="jxr_keyword">void</strong> setResponse(Object m, <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html">CellScanner</a> cells,
+<a class="jxr_linenumber" name="391" href="#391">391</a>         Throwable t, String errorMsg) {
+<a class="jxr_linenumber" name="392" href="#392">392</a>       <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.isError) <strong class="jxr_keyword">return</strong>;
+<a class="jxr_linenumber" name="393" href="#393">393</a>       <strong class="jxr_keyword">if</strong> (t != <strong class="jxr_keyword">null</strong>) <strong class="jxr_keyword">this</strong>.isError = <strong class="jxr_keyword">true</strong>;
+<a class="jxr_linenumber" name="394" href="#394">394</a>       <a href="../../../../../org/apache/hadoop/hbase/ipc/BufferChain.html">BufferChain</a> bc = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="395" href="#395">395</a>       <strong class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="396" href="#396">396</a>         ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();
+<a class="jxr_linenumber" name="397" href="#397">397</a>         <em class="jxr_comment">// Presume it a pb Message.  Could be null.</em>
+<a class="jxr_linenumber" name="398" href="#398">398</a>         Message result = (Message)m;
+<a class="jxr_linenumber" name="399" href="#399">399</a>         <em class="jxr_comment">// Call id.</em>
+<a class="jxr_linenumber" name="400" href="#400">400</a>         headerBuilder.setCallId(<strong class="jxr_keyword">this</strong>.id);
+<a class="jxr_linenumber" name="401" href="#401">401</a>         <strong class="jxr_keyword">if</strong> (t != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="402" href="#402">402</a>           ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();
+<a class="jxr_linenumber" name="403" href="#403">403</a>           exceptionBuilder.setExceptionClassName(t.getClass().getName());
+<a class="jxr_linenumber" name="404" href="#404">404</a>           exceptionBuilder.setStackTrace(errorMsg);
+<a class="jxr_linenumber" name="405" href="#405">405</a>           exceptionBuilder.setDoNotRetry(t instanceof <a href="../../../../../org/apache/hadoop/hbase/DoNotRetryIOException.html">DoNotRetryIOException</a>);
+<a class="jxr_linenumber" name="406" href="#406">406</a>           <strong class="jxr_keyword">if</strong> (t instanceof RegionMovedException) {
+<a class="jxr_linenumber" name="407" href="#407">407</a>             <em class="jxr_comment">// Special casing for this exception.  This is only one carrying a payload.</em>
+<a class="jxr_linenumber" name="408" href="#408">408</a>             <em class="jxr_comment">// Do this instead of build a generic system for allowing exceptions carry</em>
+<a class="jxr_linenumber" name="409" href="#409">409</a>             <em class="jxr_comment">// any kind of payload.</em>
+<a class="jxr_linenumber" name="410" href="#410">410</a>             <a href="../../../../../org/apache/hadoop/hbase/exceptions/RegionMovedException.html">RegionMovedException</a> rme = (RegionMovedException)t;
+<a class="jxr_linenumber" name="411" href="#411">411</a>             exceptionBuilder.setHostname(rme.getHostname());
+<a class="jxr_linenumber" name="412" href="#412">412</a>             exceptionBuilder.setPort(rme.getPort());
+<a class="jxr_linenumber" name="413" href="#413">413</a>           }
+<a class="jxr_linenumber" name="414" href="#414">414</a>           <em class="jxr_comment">// Set the exception as the result of the method invocation.</em>
+<a class="jxr_linenumber" name="415" href="#415">415</a>           headerBuilder.setException(exceptionBuilder.build());
+<a class="jxr_linenumber" name="416" href="#416">416</a>         }
+<a class="jxr_linenumber" name="417" href="#417">417</a>         <em class="jxr_comment">// Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the</em>
+<a class="jxr_linenumber" name="418" href="#418">418</a>         <em class="jxr_comment">// reservoir when finished. This is hacky and the hack is not contained but benefits are</em>
+<a class="jxr_linenumber" name="419" href="#419">419</a>         <em class="jxr_comment">// high when we can avoid a big buffer allocation on each rpc.</em>
+<a class="jxr_linenumber" name="420" href="#420">420</a>         <strong class="jxr_keyword">this</strong>.cellBlock = ipcUtil.buildCellBlock(<strong class="jxr_keyword">this</strong>.connection.codec,
+<a class="jxr_linenumber" name="421" href="#421">421</a>           <strong class="jxr_keyword">this</strong>.connection.compressionCodec, cells, reservoir);
+<a class="jxr_linenumber" name="422" href="#422">422</a>         <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.cellBlock != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="423" href="#423">423</a>           CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();
+<a class="jxr_linenumber" name="424" href="#424">424</a>           <em class="jxr_comment">// Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.</em>
+<a class="jxr_linenumber" name="425" href="#425">425</a>           cellBlockBuilder.setLength(<strong class="jxr_keyword">this</strong>.cellBlock.limit());
+<a class="jxr_linenumber" name="426" href="#426">426</a>           headerBuilder.setCellBlockMeta(cellBlockBuilder.build());
+<a class="jxr_linenumber" name="427" href="#427">427</a>         }
+<a class="jxr_linenumber" name="428" href="#428">428</a>         Message header = headerBuilder.build();
+<a class="jxr_linenumber" name="429" href="#429">429</a> 
+<a class="jxr_linenumber" name="430" href="#430">430</a>         <em class="jxr_comment">// Organize the response as a set of bytebuffers rather than collect it all together inside</em>
+<a class="jxr_linenumber" name="431" href="#431">431</a>         <em class="jxr_comment">// one big byte array; save on allocations.</em>
+<a class="jxr_linenumber" name="432" href="#432">432</a>         ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);
+<a class="jxr_linenumber" name="433" href="#433">433</a>         ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);
+<a class="jxr_linenumber" name="434" href="#434">434</a>         <strong class="jxr_keyword">int</strong> totalSize = bbHeader.capacity() + (bbResult == <strong class="jxr_keyword">null</strong>? 0: bbResult.limit()) +
+<a class="jxr_linenumber" name="435" href="#435">435</a>           (<strong class="jxr_keyword">this</strong>.cellBlock == <strong class="jxr_keyword">null</strong>? 0: <strong class="jxr_keyword">this</strong>.cellBlock.limit());
+<a class="jxr_linenumber" name="436" href="#436">436</a>         ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));
+<a class="jxr_linenumber" name="437" href="#437">437</a>         bc = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/BufferChain.html">BufferChain</a>(bbTotalSize, bbHeader, bbResult, <strong class="jxr_keyword">this</strong>.cellBlock);
+<a class="jxr_linenumber" name="438" href="#438">438</a>         <strong class="jxr_keyword">if</strong> (connection.useWrap) {
+<a class="jxr_linenumber" name="439" href="#439">439</a>           bc = wrapWithSasl(bc);
+<a class="jxr_linenumber" name="440" href="#440">440</a>         }
+<a class="jxr_linenumber" name="441" href="#441">441</a>       } <strong class="jxr_keyword">catch</strong> (IOException e) {
+<a class="jxr_linenumber" name="442" href="#442">442</a>         LOG.warn(<span class="jxr_string">"Exception while creating response "</span> + e);
+<a class="jxr_linenumber" name="443" href="#443">443</a>       }
+<a class="jxr_linenumber" name="444" href="#444">444</a>       <strong class="jxr_keyword">this</strong>.response = bc;
+<a class="jxr_linenumber" name="445" href="#445">445</a>       <em class="jxr_comment">// Once a response message is created and set to this.response, this Call can be treated as</em>
+<a class="jxr_linenumber" name="446" href="#446">446</a>       <em class="jxr_comment">// done. The Responder thread will do the n/w write of this message back to client.</em>
+<a class="jxr_linenumber" name="447" href="#447">447</a>       <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.callback != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="448" href="#448">448</a>         <strong class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="449" href="#449">449</a>           <strong class="jxr_keyword">this</strong>.callback.run();
+<a class="jxr_linenumber" name="450" href="#450">450</a>         } <strong class="jxr_keyword">catch</strong> (Exception e) {
+<a class="jxr_linenumber" name="451" href="#451">451</a>           <em class="jxr_comment">// Don't allow any exception here to kill this handler thread.</em>
+<a class="jxr_linenumber" name="452" href="#452">452</a>           LOG.warn(<span class="jxr_string">"Exception while running the Rpc Callback."</span>, e);
+<a class="jxr_linenumber" name="453" href="#453">453</a>         }
+<a class="jxr_linenumber" name="454" href="#454">454</a>       }
+<a class="jxr_linenumber" name="455" href="#455">455</a>     }
+<a class="jxr_linenumber" name="456" href="#456">456</a> 
+<a class="jxr_linenumber" name="457" href="#457">457</a>     <strong class="jxr_keyword">private</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/BufferChain.html">BufferChain</a> wrapWithSasl(<a href="../../../../../org/apache/hadoop/hbase/ipc/BufferChain.html">BufferChain</a> bc)
+<a class="jxr_linenumber" name="458" href="#458">458</a>         <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="459" href="#459">459</a>       <strong class="jxr_keyword">if</strong> (!<strong class="jxr_keyword">this</strong>.connection.useSasl) <strong class="jxr_keyword">return</strong> bc;
+<a class="jxr_linenumber" name="460" href="#460">460</a>       <em class="jxr_comment">// Looks like no way around this; saslserver wants a byte array.  I have to make it one.</em>
+<a class="jxr_linenumber" name="461" href="#461">461</a>       <em class="jxr_comment">// THIS IS A BIG UGLY COPY.</em>
+<a class="jxr_linenumber" name="462" href="#462">462</a>       byte [] responseBytes = bc.getBytes();
+<a class="jxr_linenumber" name="463" href="#463">463</a>       byte [] token;
+<a class="jxr_linenum

<TRUNCATED>

[21/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html
index 4975851..bf27873 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html
@@ -193,2475 +193,2411 @@
 <span class="sourceLineNo">185</span>   */<a name="line.185"></a>
 <span class="sourceLineNo">186</span>  private static final int DEFAULT_MAX_CALLQUEUE_SIZE = 1024 * 1024 * 1024;<a name="line.186"></a>
 <span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  private static final String WARN_DELAYED_CALLS = "hbase.ipc.warn.delayedrpc.number";<a name="line.188"></a>
+<span class="sourceLineNo">188</span>  private final IPCUtil ipcUtil;<a name="line.188"></a>
 <span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>  private static final int DEFAULT_WARN_DELAYED_CALLS = 1000;<a name="line.190"></a>
-<span class="sourceLineNo">191</span><a name="line.191"></a>
-<span class="sourceLineNo">192</span>  private final int warnDelayedCalls;<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>  private AtomicInteger delayedCalls;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  private final IPCUtil ipcUtil;<a name="line.195"></a>
+<span class="sourceLineNo">190</span>  private static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  private static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  private static final Log AUDITLOG = LogFactory.getLog("SecurityLogger." +<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    Server.class.getName());<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  protected ServiceAuthorizationManager authManager;<a name="line.195"></a>
 <span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  private static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private static final Log AUDITLOG = LogFactory.getLog("SecurityLogger." +<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    Server.class.getName());<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  protected ServiceAuthorizationManager authManager;<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   * after the call returns.<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   */<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  protected static final ThreadLocal&lt;Call&gt; CurCall = new ThreadLocal&lt;Call&gt;();<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      = new ThreadLocal&lt;MonitoredRPCHandler&gt;();<a name="line.211"></a>
-<span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  protected final InetSocketAddress bindAddress;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  protected int port;                             // port we listen on<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  protected InetSocketAddress address;            // inet address we listen on<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  private int readThreads;                        // number of read threads<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  protected int maxIdleTime;                      // the maximum idle time after<a name="line.217"></a>
-<span class="sourceLineNo">218</span>                                                  // which a client may be<a name="line.218"></a>
-<span class="sourceLineNo">219</span>                                                  // disconnected<a name="line.219"></a>
-<span class="sourceLineNo">220</span>  protected int thresholdIdleConnections;         // the number of idle<a name="line.220"></a>
-<span class="sourceLineNo">221</span>                                                  // connections after which we<a name="line.221"></a>
-<span class="sourceLineNo">222</span>                                                  // will start cleaning up idle<a name="line.222"></a>
-<span class="sourceLineNo">223</span>                                                  // connections<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  int maxConnectionsToNuke;                       // the max number of<a name="line.224"></a>
-<span class="sourceLineNo">225</span>                                                  // connections to nuke<a name="line.225"></a>
-<span class="sourceLineNo">226</span>                                                  // during a cleanup<a name="line.226"></a>
-<span class="sourceLineNo">227</span><a name="line.227"></a>
-<span class="sourceLineNo">228</span>  protected MetricsHBaseServer metrics;<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>  protected final Configuration conf;<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  private int maxQueueSize;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  protected int socketSendBufferSize;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  protected final boolean tcpNoDelay;   // if T then disable Nagle's Algorithm<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  protected final long purgeTimeout;    // in milliseconds<a name="line.236"></a>
+<span class="sourceLineNo">197</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * after the call returns.<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   */<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  protected static final ThreadLocal&lt;Call&gt; CurCall = new ThreadLocal&lt;Call&gt;();<a name="line.200"></a>
+<span class="sourceLineNo">201</span><a name="line.201"></a>
+<span class="sourceLineNo">202</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      = new ThreadLocal&lt;MonitoredRPCHandler&gt;();<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected final InetSocketAddress bindAddress;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  protected int port;                             // port we listen on<a name="line.207"></a>
+<span class="sourceLineNo">208</span>  protected InetSocketAddress address;            // inet address we listen on<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  private int readThreads;                        // number of read threads<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  protected int maxIdleTime;                      // the maximum idle time after<a name="line.210"></a>
+<span class="sourceLineNo">211</span>                                                  // which a client may be<a name="line.211"></a>
+<span class="sourceLineNo">212</span>                                                  // disconnected<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  protected int thresholdIdleConnections;         // the number of idle<a name="line.213"></a>
+<span class="sourceLineNo">214</span>                                                  // connections after which we<a name="line.214"></a>
+<span class="sourceLineNo">215</span>                                                  // will start cleaning up idle<a name="line.215"></a>
+<span class="sourceLineNo">216</span>                                                  // connections<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  int maxConnectionsToNuke;                       // the max number of<a name="line.217"></a>
+<span class="sourceLineNo">218</span>                                                  // connections to nuke<a name="line.218"></a>
+<span class="sourceLineNo">219</span>                                                  // during a cleanup<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  protected MetricsHBaseServer metrics;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  protected final Configuration conf;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private int maxQueueSize;<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  protected int socketSendBufferSize;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  protected final boolean tcpNoDelay;   // if T then disable Nagle's Algorithm<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.228"></a>
+<span class="sourceLineNo">229</span>  protected final long purgeTimeout;    // in milliseconds<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>  /**<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   */<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  volatile boolean running = true;<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>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  volatile boolean running = true;<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>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * for business by the call to {@link #start()}.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  volatile boolean started = false;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * This is a running count of the size of all outstanding calls by size.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  protected final Counter callQueueSize = new Counter();<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  protected final List&lt;Connection&gt; connectionList =<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    Collections.synchronizedList(new LinkedList&lt;Connection&gt;());<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  //maintain a list<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  //of client connections<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  private Listener listener = null;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  protected Responder responder = null;<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  protected int numConnections = 0;<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.265"></a>
+<span class="sourceLineNo">239</span>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * for business by the call to {@link #start()}.<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   */<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  volatile boolean started = false;<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>   * This is a running count of the size of all outstanding calls by size.<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  protected final Counter callQueueSize = new Counter();<a name="line.247"></a>
+<span class="sourceLineNo">248</span><a name="line.248"></a>
+<span class="sourceLineNo">249</span>  protected final List&lt;Connection&gt; connectionList =<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    Collections.synchronizedList(new LinkedList&lt;Connection&gt;());<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  //maintain a list<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  //of client connections<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  private Listener listener = null;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  protected Responder responder = null;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  protected int numConnections = 0;<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  private static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  private static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.261"></a>
+<span class="sourceLineNo">262</span><a name="line.262"></a>
+<span class="sourceLineNo">263</span>  /** Default value for above params */<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  private static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  private static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.265"></a>
 <span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>  private static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  private static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  /** Default value for above params */<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.272"></a>
+<span class="sourceLineNo">267</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>  private final int warnResponseTime;<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  private final int warnResponseSize;<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  private final Server server;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  private final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.272"></a>
 <span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.274"></a>
+<span class="sourceLineNo">274</span>  private final RpcScheduler scheduler;<a name="line.274"></a>
 <span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>  private final int warnResponseTime;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private final int warnResponseSize;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  private final Server server;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  private final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private final RpcScheduler scheduler;<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  private UserProvider userProvider;<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  private final BoundedByteBufferPool reservoir;<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  private volatile boolean allowFallbackToSimpleAuth;<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  /**<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   * Datastructure that holds all necessary to a method invocation and then afterward, carries<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * the result.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   */<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  class Call implements RpcCallContext {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    protected int id;                             // the client's call id<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    protected BlockingService service;<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    protected MethodDescriptor md;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    protected RequestHeader header;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    protected Message param;                      // the parameter passed<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    // Optional cell data passed outside of protobufs.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected CellScanner cellScanner;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    protected Connection connection;              // connection to client<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    protected long timestamp;      // the time received when response is null<a name="line.302"></a>
-<span class="sourceLineNo">303</span>                                   // the time served when response is not null<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    /**<a name="line.304"></a>
-<span class="sourceLineNo">305</span>     * Chain of buffers to send as response.<a name="line.305"></a>
-<span class="sourceLineNo">306</span>     */<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    protected BufferChain response;<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    protected boolean delayResponse;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    protected Responder responder;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    protected boolean delayReturnValue;           // if the return value should be<a name="line.310"></a>
-<span class="sourceLineNo">311</span>                                                  // set at call completion<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    protected long size;                          // size of current call<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    protected boolean isError;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    protected TraceInfo tinfo;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    private ByteBuffer cellBlock = null;<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    private User user;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    private InetAddress remoteAddress;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    private RpcCallback callback;<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>    private long responseCellSize = 0;<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    private long responseBlockSize = 0;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    private boolean retryImmediatelySupported;<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        justification="Can't figure why this complaint is happening... see below")<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    Call(int id, final BlockingService service, final MethodDescriptor md, RequestHeader header,<a name="line.327"></a>
-<span class="sourceLineNo">328</span>         Message param, CellScanner cellScanner, Connection connection, Responder responder,<a name="line.328"></a>
-<span class="sourceLineNo">329</span>         long size, TraceInfo tinfo, final InetAddress remoteAddress) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      this.id = id;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      this.service = service;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      this.md = md;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      this.header = header;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      this.param = param;<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      this.cellScanner = cellScanner;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      this.connection = connection;<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      this.timestamp = System.currentTimeMillis();<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      this.response = null;<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      this.delayResponse = false;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      this.responder = responder;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      this.isError = false;<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      this.size = size;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      this.tinfo = tinfo;<a name="line.343"></a>
-<span class="sourceLineNo">344</span>      this.user = connection == null? null: connection.user; // FindBugs: NP_NULL_ON_SOME_PATH<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      this.remoteAddress = remoteAddress;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      this.retryImmediatelySupported =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>          connection == null? null: connection.retryImmediatelySupported;<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>     * Call is done. Execution happened and we returned results to client. It is now safe to<a name="line.351"></a>
-<span class="sourceLineNo">352</span>     * cleanup.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>     */<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IS2_INCONSISTENT_SYNC",<a name="line.354"></a>
-<span class="sourceLineNo">355</span>        justification="Presume the lock on processing request held by caller is protection enough")<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    void done() {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      if (this.cellBlock != null &amp;&amp; reservoir != null) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>        // Return buffer to reservoir now we are done with it.<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        reservoir.putBuffer(this.cellBlock);<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        this.cellBlock = null;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      }<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      this.connection.decRpcCount();  // Say that we're done with this call.<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    }<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>    @Override<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    public String toString() {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      return toShortString() + " param: " +<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        (this.param != null? ProtobufUtil.getShortTextFormat(this.param): "") +<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        " connection: " + connection.toString();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    protected RequestHeader getHeader() {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      return this.header;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    }<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>    /*<a name="line.376"></a>
-<span class="sourceLineNo">377</span>     * Short string representation without param info because param itself could be huge depends on<a name="line.377"></a>
-<span class="sourceLineNo">378</span>     * the payload of a command<a name="line.378"></a>
-<span class="sourceLineNo">379</span>     */<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    String toShortString() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      String serviceName = this.connection.service != null ?<a name="line.381"></a>
-<span class="sourceLineNo">382</span>          this.connection.service.getDescriptorForType().getName() : "null";<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      return "callId: " + this.id + " service: " + serviceName +<a name="line.383"></a>
-<span class="sourceLineNo">384</span>          " methodName: " + ((this.md != null) ? this.md.getName() : "n/a") +<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          " size: " + StringUtils.TraditionalBinaryPrefix.long2String(this.size, "", 1) +<a name="line.385"></a>
-<span class="sourceLineNo">386</span>          " connection: " + connection.toString();<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    String toTraceString() {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      String serviceName = this.connection.service != null ?<a name="line.390"></a>
-<span class="sourceLineNo">391</span>                           this.connection.service.getDescriptorForType().getName() : "";<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      String methodName = (this.md != null) ? this.md.getName() : "";<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      return serviceName + "." + methodName;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>    protected synchronized void setSaslTokenResponse(ByteBuffer response) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      this.response = new BufferChain(response);<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>    protected synchronized void setResponse(Object m, final CellScanner cells,<a name="line.400"></a>
-<span class="sourceLineNo">401</span>        Throwable t, String errorMsg) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      if (this.isError) return;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      if (t != null) this.isError = true;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      BufferChain bc = null;<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      try {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>        ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        // Presume it a pb Message.  Could be null.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        Message result = (Message)m;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        // Call id.<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        headerBuilder.setCallId(this.id);<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        if (t != null) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>          ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();<a name="line.412"></a>
-<span class="sourceLineNo">413</span>          exceptionBuilder.setExceptionClassName(t.getClass().getName());<a name="line.413"></a>
-<span class="sourceLineNo">414</span>          exceptionBuilder.setStackTrace(errorMsg);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>          exceptionBuilder.setDoNotRetry(t instanceof DoNotRetryIOException);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          if (t instanceof RegionMovedException) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>            // Special casing for this exception.  This is only one carrying a payload.<a name="line.417"></a>
-<span class="sourceLineNo">418</span>            // Do this instead of build a generic system for allowing exceptions carry<a name="line.418"></a>
-<span class="sourceLineNo">419</span>            // any kind of payload.<a name="line.419"></a>
-<span class="sourceLineNo">420</span>            RegionMovedException rme = (RegionMovedException)t;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>            exceptionBuilder.setHostname(rme.getHostname());<a name="line.421"></a>
-<span class="sourceLineNo">422</span>            exceptionBuilder.setPort(rme.getPort());<a name="line.422"></a>
-<span class="sourceLineNo">423</span>          }<a name="line.423"></a>
-<span class="sourceLineNo">424</span>          // Set the exception as the result of the method invocation.<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          headerBuilder.setException(exceptionBuilder.build());<a name="line.425"></a>
-<span class="sourceLineNo">426</span>        }<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        // Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        // reservoir when finished. This is hacky and the hack is not contained but benefits are<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        // high when we can avoid a big buffer allocation on each rpc.<a name="line.429"></a>
-<span class="sourceLineNo">430</span>        this.cellBlock = ipcUtil.buildCellBlock(this.connection.codec,<a name="line.430"></a>
-<span class="sourceLineNo">431</span>          this.connection.compressionCodec, cells, reservoir);<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        if (this.cellBlock != null) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>          CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          // Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.<a name="line.434"></a>
-<span class="sourceLineNo">435</span>          cellBlockBuilder.setLength(this.cellBlock.limit());<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          headerBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        }<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        Message header = headerBuilder.build();<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>        // Organize the response as a set of bytebuffers rather than collect it all together inside<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        // one big byte array; save on allocations.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>        ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);<a name="line.442"></a>
-<span class="sourceLineNo">443</span>        ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);<a name="line.443"></a>
-<span class="sourceLineNo">444</span>        int totalSize = bbHeader.capacity() + (bbResult == null? 0: bbResult.limit()) +<a name="line.444"></a>
-<span class="sourceLineNo">445</span>          (this.cellBlock == null? 0: this.cellBlock.limit());<a name="line.445"></a>
-<span class="sourceLineNo">446</span>        ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));<a name="line.446"></a>
-<span class="sourceLineNo">447</span>        bc = new BufferChain(bbTotalSize, bbHeader, bbResult, this.cellBlock);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        if (connection.useWrap) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>          bc = wrapWithSasl(bc);<a name="line.449"></a>
-<span class="sourceLineNo">450</span>        }<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      } catch (IOException e) {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        LOG.warn("Exception while creating response " + e);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      }<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      this.response = bc;<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      // Once a response message is created and set to this.response, this Call can be treated as<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      // done. The Responder thread will do the n/w write of this message back to client.<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      if (this.callback != null) {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        try {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          this.callback.run();<a name="line.459"></a>
-<span class="sourceLineNo">460</span>        } catch (Exception e) {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          // Don't allow any exception here to kill this handler thread.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>          LOG.warn("Exception while running the Rpc Callback.", e);<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>    }<a name="line.465"></a>
-<span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span>    private BufferChain wrapWithSasl(BufferChain bc)<a name="line.467"></a>
-<span class="sourceLineNo">468</span>        throws IOException {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      if (!this.connection.useSasl) return bc;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      // Looks like no way around this; saslserver wants a byte array.  I have to make it one.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      // THIS IS A BIG UGLY COPY.<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      byte [] responseBytes = bc.getBytes();<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      byte [] token;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      // synchronization may be needed since there can be multiple Handler<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      // threads using saslServer to wrap responses.<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      synchronized (connection.saslServer) {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (LOG.isTraceEnabled()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        LOG.trace("Adding saslServer wrapped token of size " + token.length<a name="line.480"></a>
-<span class="sourceLineNo">481</span>            + " as call response.");<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      }<a name="line.482"></a>
+<span class="sourceLineNo">276</span>  private UserProvider userProvider;<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  private final BoundedByteBufferPool reservoir;<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>  private volatile boolean allowFallbackToSimpleAuth;<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * Datastructure that holds all necessary to a method invocation and then afterward, carries<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * the result.<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   */<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  class Call implements RpcCallContext {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    protected int id;                             // the client's call id<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    protected BlockingService service;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    protected MethodDescriptor md;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    protected RequestHeader header;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    protected Message param;                      // the parameter passed<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    // Optional cell data passed outside of protobufs.<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    protected CellScanner cellScanner;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    protected Connection connection;              // connection to client<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    protected long timestamp;      // the time received when response is null<a name="line.295"></a>
+<span class="sourceLineNo">296</span>                                   // the time served when response is not null<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    /**<a name="line.297"></a>
+<span class="sourceLineNo">298</span>     * Chain of buffers to send as response.<a name="line.298"></a>
+<span class="sourceLineNo">299</span>     */<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    protected BufferChain response;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    protected Responder responder;<a name="line.301"></a>
+<span class="sourceLineNo">302</span><a name="line.302"></a>
+<span class="sourceLineNo">303</span>    protected long size;                          // size of current call<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    protected boolean isError;<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    protected TraceInfo tinfo;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    private ByteBuffer cellBlock = null;<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>    private User user;<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    private InetAddress remoteAddress;<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    private RpcCallback callback;<a name="line.310"></a>
+<span class="sourceLineNo">311</span><a name="line.311"></a>
+<span class="sourceLineNo">312</span>    private long responseCellSize = 0;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    private long responseBlockSize = 0;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    private boolean retryImmediatelySupported;<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.316"></a>
+<span class="sourceLineNo">317</span>        justification="Can't figure why this complaint is happening... see below")<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    Call(int id, final BlockingService service, final MethodDescriptor md, RequestHeader header,<a name="line.318"></a>
+<span class="sourceLineNo">319</span>         Message param, CellScanner cellScanner, Connection connection, Responder responder,<a name="line.319"></a>
+<span class="sourceLineNo">320</span>         long size, TraceInfo tinfo, final InetAddress remoteAddress) {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      this.id = id;<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      this.service = service;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      this.md = md;<a name="line.323"></a>
+<span class="sourceLineNo">324</span>      this.header = header;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      this.param = param;<a name="line.325"></a>
+<span class="sourceLineNo">326</span>      this.cellScanner = cellScanner;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      this.connection = connection;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>      this.timestamp = System.currentTimeMillis();<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      this.response = null;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      this.responder = responder;<a name="line.330"></a>
+<span class="sourceLineNo">331</span>      this.isError = false;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      this.size = size;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      this.tinfo = tinfo;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      this.user = connection == null? null: connection.user; // FindBugs: NP_NULL_ON_SOME_PATH<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      this.remoteAddress = remoteAddress;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      this.retryImmediatelySupported =<a name="line.336"></a>
+<span class="sourceLineNo">337</span>          connection == null? null: connection.retryImmediatelySupported;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span>    /**<a name="line.340"></a>
+<span class="sourceLineNo">341</span>     * Call is done. Execution happened and we returned results to client. It is now safe to<a name="line.341"></a>
+<span class="sourceLineNo">342</span>     * cleanup.<a name="line.342"></a>
+<span class="sourceLineNo">343</span>     */<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IS2_INCONSISTENT_SYNC",<a name="line.344"></a>
+<span class="sourceLineNo">345</span>        justification="Presume the lock on processing request held by caller is protection enough")<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    void done() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      if (this.cellBlock != null &amp;&amp; reservoir != null) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>        // Return buffer to reservoir now we are done with it.<a name="line.348"></a>
+<span class="sourceLineNo">349</span>        reservoir.putBuffer(this.cellBlock);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>        this.cellBlock = null;<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      }<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      this.connection.decRpcCount();  // Say that we're done with this call.<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    }<a name="line.353"></a>
+<span class="sourceLineNo">354</span><a name="line.354"></a>
+<span class="sourceLineNo">355</span>    @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    public String toString() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>      return toShortString() + " param: " +<a name="line.357"></a>
+<span class="sourceLineNo">358</span>        (this.param != null? ProtobufUtil.getShortTextFormat(this.param): "") +<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        " connection: " + connection.toString();<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    }<a name="line.360"></a>
+<span class="sourceLineNo">361</span><a name="line.361"></a>
+<span class="sourceLineNo">362</span>    protected RequestHeader getHeader() {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>      return this.header;<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>     * Short string representation without param info because param itself could be huge depends on<a name="line.367"></a>
+<span class="sourceLineNo">368</span>     * the payload of a command<a name="line.368"></a>
+<span class="sourceLineNo">369</span>     */<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    String toShortString() {<a name="line.370"></a>
+<span class="sourceLineNo">371</span>      String serviceName = this.connection.service != null ?<a name="line.371"></a>
+<span class="sourceLineNo">372</span>          this.connection.service.getDescriptorForType().getName() : "null";<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      return "callId: " + this.id + " service: " + serviceName +<a name="line.373"></a>
+<span class="sourceLineNo">374</span>          " methodName: " + ((this.md != null) ? this.md.getName() : "n/a") +<a name="line.374"></a>
+<span class="sourceLineNo">375</span>          " size: " + StringUtils.TraditionalBinaryPrefix.long2String(this.size, "", 1) +<a name="line.375"></a>
+<span class="sourceLineNo">376</span>          " connection: " + connection.toString();<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    String toTraceString() {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      String serviceName = this.connection.service != null ?<a name="line.380"></a>
+<span class="sourceLineNo">381</span>                           this.connection.service.getDescriptorForType().getName() : "";<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      String methodName = (this.md != null) ? this.md.getName() : "";<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      return serviceName + "." + methodName;<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>    protected synchronized void setSaslTokenResponse(ByteBuffer response) {<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      this.response = new BufferChain(response);<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    }<a name="line.388"></a>
+<span class="sourceLineNo">389</span><a name="line.389"></a>
+<span class="sourceLineNo">390</span>    protected synchronized void setResponse(Object m, final CellScanner cells,<a name="line.390"></a>
+<span class="sourceLineNo">391</span>        Throwable t, String errorMsg) {<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      if (this.isError) return;<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      if (t != null) this.isError = true;<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      BufferChain bc = null;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>      try {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>        ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();<a name="line.396"></a>
+<span class="sourceLineNo">397</span>        // Presume it a pb Message.  Could be null.<a name="line.397"></a>
+<span class="sourceLineNo">398</span>        Message result = (Message)m;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>        // Call id.<a name="line.399"></a>
+<span class="sourceLineNo">400</span>        headerBuilder.setCallId(this.id);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>        if (t != null) {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>          ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();<a name="line.402"></a>
+<span class="sourceLineNo">403</span>          exceptionBuilder.setExceptionClassName(t.getClass().getName());<a name="line.403"></a>
+<span class="sourceLineNo">404</span>          exceptionBuilder.setStackTrace(errorMsg);<a name="line.404"></a>
+<span class="sourceLineNo">405</span>          exceptionBuilder.setDoNotRetry(t instanceof DoNotRetryIOException);<a name="line.405"></a>
+<span class="sourceLineNo">406</span>          if (t instanceof RegionMovedException) {<a name="line.406"></a>
+<span class="sourceLineNo">407</span>            // Special casing for this exception.  This is only one carrying a payload.<a name="line.407"></a>
+<span class="sourceLineNo">408</span>            // Do this instead of build a generic system for allowing exceptions carry<a name="line.408"></a>
+<span class="sourceLineNo">409</span>            // any kind of payload.<a name="line.409"></a>
+<span class="sourceLineNo">410</span>            RegionMovedException rme = (RegionMovedException)t;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>            exceptionBuilder.setHostname(rme.getHostname());<a name="line.411"></a>
+<span class="sourceLineNo">412</span>            exceptionBuilder.setPort(rme.getPort());<a name="line.412"></a>
+<span class="sourceLineNo">413</span>          }<a name="line.413"></a>
+<span class="sourceLineNo">414</span>          // Set the exception as the result of the method invocation.<a name="line.414"></a>
+<span class="sourceLineNo">415</span>          headerBuilder.setException(exceptionBuilder.build());<a name="line.415"></a>
+<span class="sourceLineNo">416</span>        }<a name="line.416"></a>
+<span class="sourceLineNo">417</span>        // Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the<a name="line.417"></a>
+<span class="sourceLineNo">418</span>        // reservoir when finished. This is hacky and the hack is not contained but benefits are<a name="line.418"></a>
+<span class="sourceLineNo">419</span>        // high when we can avoid a big buffer allocation on each rpc.<a name="line.419"></a>
+<span class="sourceLineNo">420</span>        this.cellBlock = ipcUtil.buildCellBlock(this.connection.codec,<a name="line.420"></a>
+<span class="sourceLineNo">421</span>          this.connection.compressionCodec, cells, reservoir);<a name="line.421"></a>
+<span class="sourceLineNo">422</span>        if (this.cellBlock != null) {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>          CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();<a name="line.423"></a>
+<span class="sourceLineNo">424</span>          // Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.<a name="line.424"></a>
+<span class="sourceLineNo">425</span>          cellBlockBuilder.setLength(this.cellBlock.limit());<a name="line.425"></a>
+<span class="sourceLineNo">426</span>          headerBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.426"></a>
+<span class="sourceLineNo">427</span>        }<a name="line.427"></a>
+<span class="sourceLineNo">428</span>        Message header = headerBuilder.build();<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>        // Organize the response as a set of bytebuffers rather than collect it all together inside<a name="line.430"></a>
+<span class="sourceLineNo">431</span>        // one big byte array; save on allocations.<a name="line.431"></a>
+<span class="sourceLineNo">432</span>        ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);<a name="line.432"></a>
+<span class="sourceLineNo">433</span>        ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        int totalSize = bbHeader.capacity() + (bbResult == null? 0: bbResult.limit()) +<a name="line.434"></a>
+<span class="sourceLineNo">435</span>          (this.cellBlock == null? 0: this.cellBlock.limit());<a name="line.435"></a>
+<span class="sourceLineNo">436</span>        ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));<a name="line.436"></a>
+<span class="sourceLineNo">437</span>        bc = new BufferChain(bbTotalSize, bbHeader, bbResult, this.cellBlock);<a name="line.437"></a>
+<span class="sourceLineNo">438</span>        if (connection.useWrap) {<a name="line.438"></a>
+<span class="sourceLineNo">439</span>          bc = wrapWithSasl(bc);<a name="line.439"></a>
+<span class="sourceLineNo">440</span>        }<a name="line.440"></a>
+<span class="sourceLineNo">441</span>      } catch (IOException e) {<a name="line.441"></a>
+<span class="sourceLineNo">442</span>        LOG.warn("Exception while creating response " + e);<a name="line.442"></a>
+<span class="sourceLineNo">443</span>      }<a name="line.443"></a>
+<span class="sourceLineNo">444</span>      this.response = bc;<a name="line.444"></a>
+<span class="sourceLineNo">445</span>      // Once a response message is created and set to this.response, this Call can be treated as<a name="line.445"></a>
+<span class="sourceLineNo">446</span>      // done. The Responder thread will do the n/w write of this message back to client.<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      if (this.callback != null) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>        try {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>          this.callback.run();<a name="line.449"></a>
+<span class="sourceLineNo">450</span>        } catch (Exception e) {<a name="line.450"></a>
+<span class="sourceLineNo">451</span>          // Don't allow any exception here to kill this handler thread.<a name="line.451"></a>
+<span class="sourceLineNo">452</span>          LOG.warn("Exception while running the Rpc Callback.", 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>    }<a name="line.455"></a>
+<span class="sourceLineNo">456</span><a name="line.456"></a>
+<span class="sourceLineNo">457</span>    private BufferChain wrapWithSasl(BufferChain bc)<a name="line.457"></a>
+<span class="sourceLineNo">458</span>        throws IOException {<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      if (!this.connection.useSasl) return bc;<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      // Looks like no way around this; saslserver wants a byte array.  I have to make it one.<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      // THIS IS A BIG UGLY COPY.<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      byte [] responseBytes = bc.getBytes();<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      byte [] token;<a name="line.463"></a>
+<span class="sourceLineNo">464</span>      // synchronization may be needed since there can be multiple Handler<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      // threads using saslServer to wrap responses.<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      synchronized (connection.saslServer) {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>        token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);<a name="line.467"></a>
+<span class="sourceLineNo">468</span>      }<a name="line.468"></a>
+<span class="sourceLineNo">469</span>      if (LOG.isTraceEnabled()) {<a name="line.469"></a>
+<span class="sourceLineNo">470</span>        LOG.trace("Adding saslServer wrapped token of size " + token.length<a name="line.470"></a>
+<span class="sourceLineNo">471</span>            + " as call response.");<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      }<a name="line.472"></a>
+<span class="sourceLineNo">473</span><a name="line.473"></a>
+<span class="sourceLineNo">474</span>      ByteBuffer bbTokenLength = ByteBuffer.wrap(Bytes.toBytes(token.length));<a name="line.474"></a>
+<span class="sourceLineNo">475</span>      ByteBuffer bbTokenBytes = ByteBuffer.wrap(token);<a name="line.475"></a>
+<span class="sourceLineNo">476</span>      return new BufferChain(bbTokenLength, bbTokenBytes);<a name="line.476"></a>
+<span class="sourceLineNo">477</span>    }<a name="line.477"></a>
+<span class="sourceLineNo">478</span><a name="line.478"></a>
+<span class="sourceLineNo">479</span>    @Override<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    public boolean isClientCellBlockSupported() {<a name="line.480"></a>
+<span class="sourceLineNo">481</span>      return this.connection != null &amp;&amp; this.connection.codec != null;<a name="line.481"></a>
+<span class="sourceLineNo">482</span>    }<a name="line.482"></a>
 <span class="sourceLineNo">483</span><a name="line.483"></a>
-<span class="sourceLineNo">484</span>      ByteBuffer bbTokenLength = ByteBuffer.wrap(Bytes.toBytes(token.length));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      ByteBuffer bbTokenBytes = ByteBuffer.wrap(token);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>      return new BufferChain(bbTokenLength, bbTokenBytes);<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>    @Override<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    public synchronized void endDelay(Object result) throws IOException {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      assert this.delayResponse;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      assert this.delayReturnValue || result == null;<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      this.delayResponse = false;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      delayedCalls.decrementAndGet();<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      if (this.delayReturnValue) {<a name="line.495"></a>
-<span class="sourceLineNo">496</span>        this.setResponse(result, null, null, null);<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      }<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      this.responder.doRespond(this);<a name="line.498"></a>
+<span class="sourceLineNo">484</span>    @Override<a name="line.484"></a>
+<span class="sourceLineNo">485</span>    public long disconnectSince() {<a name="line.485"></a>
+<span class="sourceLineNo">486</span>      if (!connection.channel.isOpen()) {<a name="line.486"></a>
+<span class="sourceLineNo">487</span>        return System.currentTimeMillis() - timestamp;<a name="line.487"></a>
+<span class="sourceLineNo">488</span>      } else {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>        return -1L;<a name="line.489"></a>
+<span class="sourceLineNo">490</span>      }<a name="line.490"></a>
+<span class="sourceLineNo">491</span>    }<a name="line.491"></a>
+<span class="sourceLineNo">492</span><a name="line.492"></a>
+<span class="sourceLineNo">493</span>    public long getSize() {<a name="line.493"></a>
+<span class="sourceLineNo">494</span>      return this.size;<a name="line.494"></a>
+<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
+<span class="sourceLineNo">496</span><a name="line.496"></a>
+<span class="sourceLineNo">497</span>    public long getResponseCellSize() {<a name="line.497"></a>
+<span class="sourceLineNo">498</span>      return responseCellSize;<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>    @Override<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    public synchronized void endDelay() throws IOException {<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      this.endDelay(null);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    }<a name="line.504"></a>
-<span class="sourceLineNo">505</span><a name="line.505"></a>
-<span class="sourceLineNo">506</span>    @Override<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    public synchronized void startDelay(boolean delayReturnValue) {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      assert !this.delayResponse;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      this.delayResponse = true;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      this.delayReturnValue = delayReturnValue;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      int numDelayed = delayedCalls.incrementAndGet();<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      if (numDelayed &gt; warnDelayedCalls) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        LOG.warn("Too many delayed calls: limit " + warnDelayedCalls + " current " + numDelayed);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    }<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>    @Override<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    public synchronized void endDelayThrowing(Throwable t) throws IOException {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      this.setResponse(null, null, t, StringUtils.stringifyException(t));<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      this.delayResponse = false;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      this.sendResponseIfReady();<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    }<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    @Override<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    public synchronized boolean isDelayed() {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>      return this.delayResponse;<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    }<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    public synchronized boolean isReturnValueDelayed() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      return this.delayReturnValue;<a name="line.531"></a>
+<span class="sourceLineNo">501</span>    public void incrementResponseCellSize(long cellSize) {<a name="line.501"></a>
+<span class="sourceLineNo">502</span>      responseCellSize += cellSize;<a name="line.502"></a>
+<span class="sourceLineNo">503</span>    }<a name="line.503"></a>
+<span class="sourceLineNo">504</span><a name="line.504"></a>
+<span class="sourceLineNo">505</span>    @Override<a name="line.505"></a>
+<span class="sourceLineNo">506</span>    public long getResponseBlockSize() {<a name="line.506"></a>
+<span class="sourceLineNo">507</span>      return responseBlockSize;<a name="line.507"></a>
+<span class="sourceLineNo">508</span>    }<a name="line.508"></a>
+<span class="sourceLineNo">509</span><a name="line.509"></a>
+<span class="sourceLineNo">510</span>    @Override<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    public void incrementResponseBlockSize(long blockSize) {<a name="line.511"></a>
+<span class="sourceLineNo">512</span>      responseBlockSize += blockSize;<a name="line.512"></a>
+<span class="sourceLineNo">513</span>    }<a name="line.513"></a>
+<span class="sourceLineNo">514</span><a name="line.514"></a>
+<span class="sourceLineNo">515</span>    public synchronized void sendResponseIfReady() throws IOException {<a name="line.515"></a>
+<span class="sourceLineNo">516</span>      this.responder.doRespond(this);<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>    public UserGroupInformation getRemoteUser() {<a name="line.519"></a>
+<span class="sourceLineNo">520</span>      return connection.ugi;<a name="line.520"></a>
+<span class="sourceLineNo">521</span>    }<a name="line.521"></a>
+<span class="sourceLineNo">522</span><a name="line.522"></a>
+<span class="sourceLineNo">523</span>    @Override<a name="line.523"></a>
+<span class="sourceLineNo">524</span>    public User getRequestUser() {<a name="line.524"></a>
+<span class="sourceLineNo">525</span>      return user;<a name="line.525"></a>
+<span class="sourceLineNo">526</span>    }<a name="line.526"></a>
+<span class="sourceLineNo">527</span><a name="line.527"></a>
+<span class="sourceLineNo">528</span>    @Override<a name="line.528"></a>
+<span class="sourceLineNo">529</span>    public String getRequestUserName() {<a name="line.529"></a>
+<span class="sourceLineNo">530</span>      User user = getRequestUser();<a name="line.530"></a>
+<span class="sourceLineNo">531</span>      return user == null? null: user.getShortName();<a name="line.531"></a>
 <span class="sourceLineNo">532</span>    }<a name="line.532"></a>
 <span class="sourceLineNo">533</span><a name="line.533"></a>
 <span class="sourceLineNo">534</span>    @Override<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    public boolean isClientCellBlockSupported() {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      return this.connection != null &amp;&amp; this.connection.codec != null;<a name="line.536"></a>
+<span class="sourceLineNo">535</span>    public InetAddress getRemoteAddress() {<a name="line.535"></a>
+<span class="sourceLineNo">536</span>      return remoteAddress;<a name="line.536"></a>
 <span class="sourceLineNo">537</span>    }<a name="line.537"></a>
 <span class="sourceLineNo">538</span><a name="line.538"></a>
 <span class="sourceLineNo">539</span>    @Override<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    public long disconnectSince() {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      if (!connection.channel.isOpen()) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        return System.currentTimeMillis() - timestamp;<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      } else {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>        return -1L;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      }<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>    public long getSize() {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      return this.size;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    }<a name="line.550"></a>
-<span class="sourceLineNo">551</span><a name="line.551"></a>
-<span class="sourceLineNo">552</span>    public long getResponseCellSize() {<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      return responseCellSize;<a name="line.553"></a>
-<span class="sourceLineNo">554</span>    }<a name="line.554"></a>
-<span class="sourceLineNo">555</span><a name="line.555"></a>
-<span class="sourceLineNo">556</span>    public void incrementResponseCellSize(long cellSize) {<a name="line.556"></a>
-<span class="sourceLineNo">557</span>      responseCellSize += cellSize;<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    }<a name="line.558"></a>
-<span class="sourceLineNo">559</span><a name="line.559"></a>
-<span class="sourceLineNo">560</span>    @Override<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    public long getResponseBlockSize() {<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      return responseBlockSize;<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span><a name="line.564"></a>
-<span class="sourceLineNo">565</span>    @Override<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    public void incrementResponseBlockSize(long blockSize) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      responseBlockSize += blockSize;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    /**<a name="line.570"></a>
-<span class="sourceLineNo">571</span>     * If we have a response, and delay is not set, then respond<a name="line.571"></a>
-<span class="sourceLineNo">572</span>     * immediately.  Otherwise, do not respond to client.  This is<a name="line.572"></a>
-<span class="sourceLineNo">573</span>     * called by the RPC code in the context of the Handler thread.<a name="line.573"></a>
-<span class="sourceLineNo">574</span>     */<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    public synchronized void sendResponseIfReady() throws IOException {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      if (!this.delayResponse) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        this.responder.doRespond(this);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    }<a name="line.579"></a>
-<span class="sourceLineNo">580</span><a name="line.580"></a>
-<span class="sourceLineNo">581</span>    public UserGroupInformation getRemoteUser() {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      return connection.ugi;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
+<span class="sourceLineNo">540</span>    public VersionInfo getClientVersionInfo() {<a name="line.540"></a>
+<span class="sourceLineNo">541</span>      return connection.getVersionInfo();<a name="line.541"></a>
+<span class="sourceLineNo">542</span>    }<a name="line.542"></a>
+<span class="sourceLineNo">543</span><a name="line.543"></a>
+<span class="sourceLineNo">544</span>    @Override<a name="line.544"></a>
+<span class="sourceLineNo">545</span>    public synchronized void setCallBack(RpcCallback callback) {<a name="line.545"></a>
+<span class="sourceLineNo">546</span>      this.callback = callback;<a name="line.546"></a>
+<span class="sourceLineNo">547</span>    }<a name="line.547"></a>
+<span class="sourceLineNo">548</span><a name="line.548"></a>
+<span class="sourceLineNo">549</span>    @Override<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    public boolean isRetryImmediatelySupported() {<a name="line.550"></a>
+<span class="sourceLineNo">551</span>      return retryImmediatelySupported;<a name="line.551"></a>
+<span class="sourceLineNo">552</span>    }<a name="line.552"></a>
+<span class="sourceLineNo">553</span>  }<a name="line.553"></a>
+<span class="sourceLineNo">554</span><a name="line.554"></a>
+<span class="sourceLineNo">555</span>  /** Listens on the socket. Creates jobs for the handler threads*/<a name="line.555"></a>
+<span class="sourceLineNo">556</span>  private class Listener extends Thread {<a name="line.556"></a>
+<span class="sourceLineNo">557</span><a name="line.557"></a>
+<span class="sourceLineNo">558</span>    private ServerSocketChannel acceptChannel = null; //the accept channel<a name="line.558"></a>
+<span class="sourceLineNo">559</span>    private Selector selector = null; //the selector that we use for the server<a name="line.559"></a>
+<span class="sourceLineNo">560</span>    private Reader[] readers = null;<a name="line.560"></a>
+<span class="sourceLineNo">561</span>    private int currentReader = 0;<a name="line.561"></a>
+<span class="sourceLineNo">562</span>    private Random rand = new Random();<a name="line.562"></a>
+<span class="sourceLineNo">563</span>    private long lastCleanupRunTime = 0; //the last time when a cleanup connec-<a name="line.563"></a>
+<span class="sourceLineNo">564</span>                                         //-tion (for idle connections) ran<a name="line.564"></a>
+<span class="sourceLineNo">565</span>    private long cleanupInterval = 10000; //the minimum interval between<a name="line.565"></a>
+<span class="sourceLineNo">566</span>                                          //two cleanup runs<a name="line.566"></a>
+<span class="sourceLineNo">567</span>    private int backlogLength;<a name="line.567"></a>
+<span class="sourceLineNo">568</span><a name="line.568"></a>
+<span class="sourceLineNo">569</span>    private ExecutorService readPool;<a name="line.569"></a>
+<span class="sourceLineNo">570</span><a name="line.570"></a>
+<span class="sourceLineNo">571</span>    public Listener(final String name) throws IOException {<a name="line.571"></a>
+<span class="sourceLineNo">572</span>      super(name);<a name="line.572"></a>
+<span class="sourceLineNo">573</span>      backlogLength = conf.getInt("hbase.ipc.server.listen.queue.size", 128);<a name="line.573"></a>
+<span class="sourceLineNo">574</span>      // Create a new server socket and set to non blocking mode<a name="line.574"></a>
+<span class="sourceLineNo">575</span>      acceptChannel = ServerSocketChannel.open();<a name="line.575"></a>
+<span class="sourceLineNo">576</span>      acceptChannel.configureBlocking(false);<a name="line.576"></a>
+<span class="sourceLineNo">577</span><a name="line.577"></a>
+<span class="sourceLineNo">578</span>      // Bind the server socket to the binding addrees (can be different from the default interface)<a name="line.578"></a>
+<span class="sourceLineNo">579</span>      bind(acceptChannel.socket(), bindAddress, backlogLength);<a name="line.579"></a>
+<span class="sourceLineNo">580</span>      port = acceptChannel.socket().getLocalPort(); //Could be an ephemeral port<a name="line.580"></a>
+<span class="sourceLineNo">581</span>      address = (InetSocketAddress)acceptChannel.socket().getLocalSocketAddress();<a name="line.581"></a>
+<span class="sourceLineNo">582</span>      // create a selector;<a name="line.582"></a>
+<span class="sourceLineNo">583</span>      selector= Selector.open();<a name="line.583"></a>
 <span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    @Override<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    public User getRequestUser() {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      return user;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>    @Override<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    public String getRequestUserName() {<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      User user = getRequestUser();<a name="line.592"></a>
-<span class="sourceLineNo">593</span>      return user == null? null: user.getShortName();<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    }<a name="line.594"></a>
-<span class="sourceLineNo">595</span><a name="line.595"></a>
-<span class="sourceLineNo">596</span>    @Override<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    public InetAddress getRemoteAddress() {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      return remoteAddress;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    }<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>    @Override<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    public VersionInfo getClientVersionInfo() {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>      return connection.getVersionInfo();<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    }<a name="line.604"></a>
-<span class="sourceLineNo">605</span><a name="line.605"></a>
-<span class="sourceLineNo">606</span>    @Override<a name="line.606"></a>
-<span class="sourceLineNo">607</span>    public synchronized void setCallBack(RpcCallback callback) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.callback = callback;<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>    @Override<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    public boolean isRetryImmediatelySupported() {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>      return retryImmediatelySupported;<a name="line.613"></a>
-<span class="sourceLineNo">614</span>    }<a name="line.614"></a>
-<span class="sourceLineNo">615</span>  }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>  /** Listens on the socket. Creates jobs for the handler threads*/<a name="line.617"></a>
-<span class="sourceLineNo">618</span>  private class Listener extends Thread {<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span>    private ServerSocketChannel acceptChannel = null; //the accept channel<a name="line.620"></a>
-<span class="sourceLineNo">621</span>    private Selector selector = null; //the selector that we use for the server<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    private Reader[] readers = null;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    private int currentReader = 0;<a name="line.623"></a>
-<span class="sourceLineNo">624</span>    private Random rand = new Random();<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    private long lastCleanupRunTime = 0; //the last time when a cleanup connec-<a name="line.625"></a>
-<span class="sourceLineNo">626</span>                                         //-tion (for idle connections) ran<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    private long cleanupInterval = 10000; //the minimum interval between<a name="line.627"></a>
-<span class="sourceLineNo">628</span>                                          //two cleanup runs<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    private int backlogLength;<a name="line.629"></a>
-<span class="sourceLineNo">630</span><a name="line.630"></a>
-<span class="sourceLineNo">631</span>    private ExecutorService readPool;<a name="line.631"></a>
-<span class="sourceLineNo">632</span><a name="line.632"></a>
-<span class="sourceLineNo">633</span>    public Listener(final String name) throws IOException {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      super(name);<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      backlogLength = conf.getInt("hbase.ipc.server.listen.queue.size", 128);<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      // Create a new server socket and set to non blocking mode<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      acceptChannel = ServerSocketChannel.open();<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      acceptChannel.configureBlocking(false);<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>      // Bind the server socket to the binding addrees (can be different from the default interface)<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      bind(acceptChannel.socket(), bindAddress, backlogLength);<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      port = acceptChannel.socket().getLocalPort(); //Could be an ephemeral port<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      address = (InetSocketAddress)acceptChannel.socket().getLocalSocketAddress();<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      // create a selector;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      selector= Selector.open();<a name="line.645"></a>
-<span class="sourceLineNo">646</span><a name="line.646"></a>
-<span class="sourceLineNo">647</span>      readers = new Reader[readThreads];<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      readPool = Executors.newFixedThreadPool(readThreads,<a name="line.648"></a>
-<span class="sourceLineNo">649</span>        new ThreadFactoryBuilder().setNameFormat(<a name="line.649"></a>
-<span class="sourceLineNo">650</span>          "RpcServer.reader=%d,bindAddress=" + bindAddress.getHostName() +<a name="line.650"></a>
-<span class="sourceLineNo">651</span>          ",port=" + port).setDaemon(true).build());<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      for (int i = 0; i &lt; readThreads; ++i) {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        Reader reader = new Reader();<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        readers[i] = reader;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        readPool.execute(reader);<a name="line.655"></a>
-<span class="sourceLineNo">656</span>      }<a name="line.656"></a>
-<span class="sourceLineNo">657</span>      LOG.info(getName() + ": started " + readThreads + " reader(s) listening on port=" + port);<a name="line.657"></a>
-<span class="sourceLineNo">658</span><a name="line.658"></a>
-<span class="sourceLineNo">659</span>      // Register accepts on the server socket with the selector.<a name="line.659"></a>
-<span class="sourceLineNo">660</span>      acceptChannel.register(selector, SelectionKey.OP_ACCEPT);<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      this.setName("RpcServer.listener,port=" + port);<a name="line.661"></a>
-<span class="sourceLineNo">662</span>      this.setDaemon(true);<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    }<a name="line.663"></a>
-<span class="sourceLineNo">664</span><a name="line.664"></a>
-<span class="sourceLineNo">665</span><a name="line.665"></a>
-<span class="sourceLineNo">666</span>    private class Reader implements Runnable {<a name="line.666"></a>
-<span class="sourceLineNo">667</span>      private volatile boolean adding = false;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>      private final Selector readSelector;<a name="line.668"></a>
-<span class="sourceLineNo">669</span><a name="line.669"></a>
-<span class="sourceLineNo">670</span>      Reader() throws IOException {<a name="line.670"></a>
-<span class="sourceLineNo">671</span>        this.readSelector = Selector.open();<a name="line.671"></a>
-<span class="sourceLineNo">672</span>      }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      @Override<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      public void run() {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        try {<a name="line.675"></a>
-<span class="sourceLineNo">676</span>          doRunLoop();<a name="line.676"></a>
-<span class="sourceLineNo">677</span>        } finally {<a name="line.677"></a>
-<span class="sourceLineNo">678</span>          try {<a name="line.678"></a>
-<span class="sourceLineNo">679</span>            readSelector.close();<a name="line.679"></a>
-<span class="sourceLineNo">680</span>          } catch (IOException ioe) {<a name="line.680"></a>
-<span class="sourceLineNo">681</span>            LOG.error(getName() + ": error closing read selector in " + getName(), ioe);<a name="line.681"></a>
-<span class="sourceLineNo">682</span>          }<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        }<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      }<a name="line.684"></a>
-<span class="sourceLineNo">685</span><a name="line.685"></a>
-<span class="sourceLineNo">686</span>      private synchronized void doRunLoop() {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>     

<TRUNCATED>

[27/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Call.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Call.html b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Call.html
index fcac6d0..4010dcc 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Call.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Call.html
@@ -95,7 +95,7 @@
 <li class="blockList">
 <dl>
 <dt>All Implemented Interfaces:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a></dd>
+<dd><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a></dd>
 </dl>
 <dl>
 <dt>Enclosing class:</dt>
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre> class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.293">RpcServer.Call</a>
+<pre> class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.286">RpcServer.Call</a>
 extends <a href="http://docs.oracle.com/javase/7/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/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a></pre>
 <div class="block">Datastructure that holds all necessary to a method invocation and then afterward, carries
@@ -143,14 +143,6 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#connection">connection</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>protected boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#delayResponse">delayResponse</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>protected boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#delayReturnValue">delayReturnValue</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>protected org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#header">header</a></strong></code>&nbsp;</td>
 </tr>
@@ -271,124 +263,88 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 </td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#endDelay()">endDelay</a></strong>()</code>
-<div class="block">Signal the end of a delayed RPC, without specifying the return value.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#endDelay(java.lang.Object)">endDelay</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;result)</code>
-<div class="block">Signal that the  RPC server is now allowed to send the response.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#endDelayThrowing(java.lang.Throwable)">endDelayThrowing</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t)</code>
-<div class="block">End the call, throwing and exception to the caller.</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.VersionInfo</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#getClientVersionInfo()">getClientVersionInfo</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#getHeader()">getHeader</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetAddress.html?is-external=true" title="class or interface in java.net">InetAddress</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#getRemoteAddress()">getRemoteAddress</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>org.apache.hadoop.security.UserGroupInformation</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#getRemoteUser()">getRemoteUser</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code><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><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#getRequestUser()">getRequestUser</a></strong>()</code>
 <div class="block">Returns the user credentials associated with the current RPC request or
  <code>null</code> if no credentials were provided.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#getRequestUserName()">getRequestUserName</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#getResponseBlockSize()">getResponseBlockSize</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#getResponseCellSize()">getResponseCellSize</a></strong>()</code>
 <div class="block">The size of response cells that have been accumulated so far.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>long</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#getSize()">getSize</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#incrementResponseBlockSize(long)">incrementResponseBlockSize</a></strong>(long&nbsp;blockSize)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#incrementResponseCellSize(long)">incrementResponseCellSize</a></strong>(long&nbsp;cellSize)</code>
 <div class="block">Add on the given amount to the retained cell size.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#isClientCellBlockSupported()">isClientCellBlockSupported</a></strong>()</code>
 <div class="block">If the client connected and specified a codec to use, then we will use this codec making
  cellblocks to return.</div>
 </td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#isDelayed()">isDelayed</a></strong>()</code>&nbsp;</td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><code>boolean</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#isRetryImmediatelySupported()">isRetryImmediatelySupported</a></strong>()</code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#isReturnValueDelayed()">isReturnValueDelayed</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#sendResponseIfReady()">sendResponseIfReady</a></strong>()</code>
-<div class="block">If we have a response, and delay is not set, then respond
- immediately.</div>
-</td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#sendResponseIfReady()">sendResponseIfReady</a></strong>()</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#setCallBack(org.apache.hadoop.hbase.ipc.RpcCallback)">setCallBack</a></strong>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a>&nbsp;callback)</code>
 <div class="block">Sets a callback which has to be executed at the end of this RPC call.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#setResponse(java.lang.Object,%20org.apache.hadoop.hbase.CellScanner,%20java.lang.Throwable,%20java.lang.String)">setResponse</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;m,
                       <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cells,
                       <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t,
                       <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;errorMsg)</code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>protected void</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#setSaslTokenResponse(java.nio.ByteBuffer)">setSaslTokenResponse</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;response)</code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#startDelay(boolean)">startDelay</a></strong>(boolean&nbsp;delayReturnValue)</code>
-<div class="block">Signal that the call response should be delayed, thus freeing the RPC
- server to handle different requests.</div>
-</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>(package private) <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html#toShortString()">toShortString</a></strong>()</code>&nbsp;</td>
@@ -433,7 +389,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>id</h4>
-<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.294">id</a></pre>
+<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.287">id</a></pre>
 </li>
 </ul>
 <a name="service">
@@ -442,7 +398,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>service</h4>
-<pre>protected&nbsp;com.google.protobuf.BlockingService <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.295">service</a></pre>
+<pre>protected&nbsp;com.google.protobuf.BlockingService <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.288">service</a></pre>
 </li>
 </ul>
 <a name="md">
@@ -451,7 +407,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>md</h4>
-<pre>protected&nbsp;com.google.protobuf.Descriptors.MethodDescriptor <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.296">md</a></pre>
+<pre>protected&nbsp;com.google.protobuf.Descriptors.MethodDescriptor <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.289">md</a></pre>
 </li>
 </ul>
 <a name="header">
@@ -460,7 +416,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>header</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.297">header</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.290">header</a></pre>
 </li>
 </ul>
 <a name="param">
@@ -469,7 +425,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>param</h4>
-<pre>protected&nbsp;com.google.protobuf.Message <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.298">param</a></pre>
+<pre>protected&nbsp;com.google.protobuf.Message <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.291">param</a></pre>
 </li>
 </ul>
 <a name="cellScanner">
@@ -478,7 +434,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>cellScanner</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.300">cellScanner</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.293">cellScanner</a></pre>
 </li>
 </ul>
 <a name="connection">
@@ -487,7 +443,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>connection</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Connection.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Connection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.301">connection</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Connection.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Connection</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.294">connection</a></pre>
 </li>
 </ul>
 <a name="timestamp">
@@ -496,7 +452,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>timestamp</h4>
-<pre>protected&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.302">timestamp</a></pre>
+<pre>protected&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.295">timestamp</a></pre>
 </li>
 </ul>
 <a name="response">
@@ -505,35 +461,17 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>response</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/BufferChain.html" title="class in org.apache.hadoop.hbase.ipc">BufferChain</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.307">response</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/BufferChain.html" title="class in org.apache.hadoop.hbase.ipc">BufferChain</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.300">response</a></pre>
 <div class="block">Chain of buffers to send as response.</div>
 </li>
 </ul>
-<a name="delayResponse">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>delayResponse</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.308">delayResponse</a></pre>
-</li>
-</ul>
 <a name="responder">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>responder</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Responder.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Responder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.309">responder</a></pre>
-</li>
-</ul>
-<a name="delayReturnValue">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>delayReturnValue</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.310">delayReturnValue</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Responder.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Responder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.301">responder</a></pre>
 </li>
 </ul>
 <a name="size">
@@ -542,7 +480,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>size</h4>
-<pre>protected&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.312">size</a></pre>
+<pre>protected&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.303">size</a></pre>
 </li>
 </ul>
 <a name="isError">
@@ -551,7 +489,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>isError</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.313">isError</a></pre>
+<pre>protected&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.304">isError</a></pre>
 </li>
 </ul>
 <a name="tinfo">
@@ -560,7 +498,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>tinfo</h4>
-<pre>protected&nbsp;org.apache.htrace.TraceInfo <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.314">tinfo</a></pre>
+<pre>protected&nbsp;org.apache.htrace.TraceInfo <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.305">tinfo</a></pre>
 </li>
 </ul>
 <a name="cellBlock">
@@ -569,7 +507,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>cellBlock</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/RpcServer.Call.html#line.315">cellBlock</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/RpcServer.Call.html#line.306">cellBlock</a></pre>
 </li>
 </ul>
 <a name="user">
@@ -578,7 +516,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>user</h4>
-<pre>private&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/RpcServer.Call.html#line.317">user</a></pre>
+<pre>private&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/RpcServer.Call.html#line.308">user</a></pre>
 </li>
 </ul>
 <a name="remoteAddress">
@@ -587,7 +525,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>remoteAddress</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/RpcServer.Call.html#line.318">remoteAddress</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/RpcServer.Call.html#line.309">remoteAddress</a></pre>
 </li>
 </ul>
 <a name="callback">
@@ -596,7 +534,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>callback</h4>
-<pre>private&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/ipc/RpcServer.Call.html#line.319">callback</a></pre>
+<pre>private&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/ipc/RpcServer.Call.html#line.310">callback</a></pre>
 </li>
 </ul>
 <a name="responseCellSize">
@@ -605,7 +543,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>responseCellSize</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.321">responseCellSize</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.312">responseCellSize</a></pre>
 </li>
 </ul>
 <a name="responseBlockSize">
@@ -614,7 +552,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>responseBlockSize</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.322">responseBlockSize</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.313">responseBlockSize</a></pre>
 </li>
 </ul>
 <a name="retryImmediatelySupported">
@@ -623,7 +561,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>retryImmediatelySupported</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.323">retryImmediatelySupported</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.314">retryImmediatelySupported</a></pre>
 </li>
 </ul>
 </li>
@@ -640,7 +578,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RpcServer.Call</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.327">RpcServer.Call</a>(int&nbsp;id,
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.318">RpcServer.Call</a>(int&nbsp;id,
               com.google.protobuf.BlockingService&nbsp;service,
               com.google.protobuf.Descriptors.MethodDescriptor&nbsp;md,
               org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader&nbsp;header,
@@ -667,7 +605,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>done</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.356">done</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.346">done</a>()</pre>
 <div class="block">Call is done. Execution happened and we returned results to client. It is now safe to
  cleanup.</div>
 </li>
@@ -678,7 +616,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.Call.html#line.366">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.Call.html#line.356">toString</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -691,7 +629,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getHeader</h4>
-<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.372">getHeader</a>()</pre>
+<pre>protected&nbsp;org.apache.hadoop.hbase.protobuf.generated.RPCProtos.RequestHeader&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.362">getHeader</a>()</pre>
 </li>
 </ul>
 <a name="toShortString()">
@@ -700,7 +638,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>toShortString</h4>
-<pre><a href="http://docs.oracle.com/javase/7/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.Call.html#line.380">toShortString</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/7/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.Call.html#line.370">toShortString</a>()</pre>
 </li>
 </ul>
 <a name="toTraceString()">
@@ -709,7 +647,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>toTraceString</h4>
-<pre><a href="http://docs.oracle.com/javase/7/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.Call.html#line.389">toTraceString</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/7/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.Call.html#line.379">toTraceString</a>()</pre>
 </li>
 </ul>
 <a name="setSaslTokenResponse(java.nio.ByteBuffer)">
@@ -718,7 +656,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>setSaslTokenResponse</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.396">setSaslTokenResponse</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;response)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.386">setSaslTokenResponse</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/ByteBuffer.html?is-external=true" title="class or interface in java.nio">ByteBuffer</a>&nbsp;response)</pre>
 </li>
 </ul>
 <a name="setResponse(java.lang.Object, org.apache.hadoop.hbase.CellScanner, java.lang.Throwable, java.lang.String)">
@@ -727,7 +665,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>setResponse</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.400">setResponse</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;m,
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.390">setResponse</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;m,
                <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cells,
                <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t,
                <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;errorMsg)</pre>
@@ -739,120 +677,19 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>wrapWithSasl</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/BufferChain.html" title="class in org.apache.hadoop.hbase.ipc">BufferChain</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.467">wrapWithSasl</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/BufferChain.html" title="class in org.apache.hadoop.hbase.ipc">BufferChain</a>&nbsp;bc)
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/BufferChain.html" title="class in org.apache.hadoop.hbase.ipc">BufferChain</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.457">wrapWithSasl</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/BufferChain.html" title="class in org.apache.hadoop.hbase.ipc">BufferChain</a>&nbsp;bc)
                           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/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="endDelay(java.lang.Object)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>endDelay</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.490">endDelay</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;result)
-              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#endDelay(java.lang.Object)">Delayable</a></code></strong></div>
-<div class="block">Signal that the  RPC server is now allowed to send the response.</div>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#endDelay(java.lang.Object)">endDelay</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a></code></dd>
-<dt><span class="strong">Parameters:</span></dt><dd><code>result</code> - The value to return to the caller.  If the corresponding
- delay response specified that the return value should
- not be delayed, this parameter must be null.</dd>
-<dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/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="endDelay()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>endDelay</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.502">endDelay</a>()
-              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#endDelay()">Delayable</a></code></strong></div>
-<div class="block">Signal the end of a delayed RPC, without specifying the return value.  Use
- this only if the return value was not delayed</div>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#endDelay()">endDelay</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a></code></dd>
-<dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/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="startDelay(boolean)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>startDelay</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.507">startDelay</a>(boolean&nbsp;delayReturnValue)</pre>
-<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#startDelay(boolean)">Delayable</a></code></strong></div>
-<div class="block">Signal that the call response should be delayed, thus freeing the RPC
- server to handle different requests.</div>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#startDelay(boolean)">startDelay</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a></code></dd>
-<dt><span class="strong">Parameters:</span></dt><dd><code>delayReturnValue</code> - Controls whether the return value of the call
- should be set when ending the delay or right away.  There are cases when
- the return value can be set right away, even if the call is delayed.</dd></dl>
-</li>
-</ul>
-<a name="endDelayThrowing(java.lang.Throwable)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>endDelayThrowing</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.518">endDelayThrowing</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t)
-                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#endDelayThrowing(java.lang.Throwable)">Delayable</a></code></strong></div>
-<div class="block">End the call, throwing and exception to the caller.  This works regardless
- of the return value being delayed.</div>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#endDelayThrowing(java.lang.Throwable)">endDelayThrowing</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a></code></dd>
-<dt><span class="strong">Parameters:</span></dt><dd><code>t</code> - Object to throw to the client.</dd>
-<dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/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="isDelayed()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isDelayed</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.525">isDelayed</a>()</pre>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#isDelayed()">isDelayed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a></code></dd>
-<dt><span class="strong">Returns:</span></dt><dd>is the call delayed?</dd></dl>
-</li>
-</ul>
-<a name="isReturnValueDelayed()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isReturnValueDelayed</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.530">isReturnValueDelayed</a>()</pre>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#isReturnValueDelayed()">isReturnValueDelayed</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a></code></dd>
-<dt><span class="strong">Returns:</span></dt><dd>is the return value delayed?</dd></dl>
-</li>
-</ul>
 <a name="isClientCellBlockSupported()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>isClientCellBlockSupported</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.535">isClientCellBlockSupported</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.480">isClientCellBlockSupported</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html#isClientCellBlockSupported()">RpcCallContext</a></code></strong></div>
 <div class="block">If the client connected and specified a codec to use, then we will use this codec making
  cellblocks to return.  If the client did not specify a codec, we assume it does not support
@@ -871,7 +708,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>disconnectSince</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.540">disconnectSince</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.485">disconnectSince</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html#disconnectSince()">RpcCallContext</a></code></strong></div>
 <div class="block">Check if the caller who made this IPC call has disconnected.
  If called from outside the context of IPC, this does nothing.</div>
@@ -888,7 +725,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.548">getSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.493">getSize</a>()</pre>
 </li>
 </ul>
 <a name="getResponseCellSize()">
@@ -897,7 +734,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getResponseCellSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.552">getResponseCellSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.497">getResponseCellSize</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html#getResponseCellSize()">RpcCallContext</a></code></strong></div>
 <div class="block">The size of response cells that have been accumulated so far.
  This along with the corresponding increment call is used to ensure that multi's or
@@ -914,7 +751,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementResponseCellSize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.556">incrementResponseCellSize</a>(long&nbsp;cellSize)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.501">incrementResponseCellSize</a>(long&nbsp;cellSize)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html#incrementResponseCellSize(long)">RpcCallContext</a></code></strong></div>
 <div class="block">Add on the given amount to the retained cell size.
 
@@ -933,7 +770,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getResponseBlockSize</h4>
-<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.561">getResponseBlockSize</a>()</pre>
+<pre>public&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.506">getResponseBlockSize</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html#getResponseBlockSize()">getResponseBlockSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a></code></dd>
@@ -946,7 +783,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>incrementResponseBlockSize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.566">incrementResponseBlockSize</a>(long&nbsp;blockSize)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.511">incrementResponseBlockSize</a>(long&nbsp;blockSize)</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html#incrementResponseBlockSize(long)">incrementResponseBlockSize</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a></code></dd>
@@ -959,11 +796,8 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>sendResponseIfReady</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.575">sendResponseIfReady</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.515">sendResponseIfReady</a>()
                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">If we have a response, and delay is not set, then respond
- immediately.  Otherwise, do not respond to client.  This is
- called by the RPC code in the context of the Handler thread.</div>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
 </li>
@@ -974,7 +808,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getRemoteUser</h4>
-<pre>public&nbsp;org.apache.hadoop.security.UserGroupInformation&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.581">getRemoteUser</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.security.UserGroupInformation&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.519">getRemoteUser</a>()</pre>
 </li>
 </ul>
 <a name="getRequestUser()">
@@ -983,7 +817,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getRequestUser</h4>
-<pre>public&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.Call.html#line.586">getRequestUser</a>()</pre>
+<pre>public&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.Call.html#line.524">getRequestUser</a>()</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html#getRequestUser()">RpcCallContext</a></code></strong></div>
 <div class="block">Returns the user credentials associated with the current RPC request or
  <code>null</code> if no credentials were provided.</div>
@@ -999,7 +833,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getRequestUserName</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.Call.html#line.591">getRequestUserName</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.Call.html#line.529">getRequestUserName</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html#getRequestUserName()">getRequestUserName</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a></code></dd>
@@ -1012,7 +846,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getRemoteAddress</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.Call.html#line.597">getRemoteAddress</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.Call.html#line.535">getRemoteAddress</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html#getRemoteAddress()">getRemoteAddress</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a></code></dd>
@@ -1025,7 +859,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>getClientVersionInfo</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.VersionInfo&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.602">getClientVersionInfo</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.VersionInfo&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.540">getClientVersionInfo</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html#getClientVersionInfo()">getClientVersionInfo</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a></code></dd>
@@ -1038,7 +872,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockList">
 <li class="blockList">
 <h4>setCallBack</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.607">setCallBack</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a>&nbsp;callback)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.545">setCallBack</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a>&nbsp;callback)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html#setCallBack(org.apache.hadoop.hbase.ipc.RpcCallback)">RpcCallContext</a></code></strong></div>
 <div class="block">Sets a callback which has to be executed at the end of this RPC call. Such a callback is an
  optional one for any Rpc call.</div>
@@ -1054,7 +888,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>isRetryImmediatelySupported</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.612">isRetryImmediatelySupported</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Call.html#line.550">isRetryImmediatelySupported</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html#isRetryImmediatelySupported()">isRetryImmediatelySupported</a></code>&nbsp;in interface&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a></code></dd>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.CallQueueTooBigException.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.CallQueueTooBigException.html b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.CallQueueTooBigException.html
index c4de61a..e30f6ee 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.CallQueueTooBigException.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.CallQueueTooBigException.html
@@ -118,7 +118,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.1241">RpcServer.CallQueueTooBigException</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.1179">RpcServer.CallQueueTooBigException</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../serialized-form.html#org.apache.hadoop.hbase.ipc.RpcServer.CallQueueTooBigException">Serialized Form</a></dd></dl>
 </li>
@@ -184,7 +184,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.ht
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RpcServer.CallQueueTooBigException</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.CallQueueTooBigException.html#line.1242">RpcServer.CallQueueTooBigException</a>()</pre>
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.CallQueueTooBigException.html#line.1180">RpcServer.CallQueueTooBigException</a>()</pre>
 </li>
 </ul>
 </li>


[16/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html
index 4975851..bf27873 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html
@@ -193,2475 +193,2411 @@
 <span class="sourceLineNo">185</span>   */<a name="line.185"></a>
 <span class="sourceLineNo">186</span>  private static final int DEFAULT_MAX_CALLQUEUE_SIZE = 1024 * 1024 * 1024;<a name="line.186"></a>
 <span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  private static final String WARN_DELAYED_CALLS = "hbase.ipc.warn.delayedrpc.number";<a name="line.188"></a>
+<span class="sourceLineNo">188</span>  private final IPCUtil ipcUtil;<a name="line.188"></a>
 <span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>  private static final int DEFAULT_WARN_DELAYED_CALLS = 1000;<a name="line.190"></a>
-<span class="sourceLineNo">191</span><a name="line.191"></a>
-<span class="sourceLineNo">192</span>  private final int warnDelayedCalls;<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>  private AtomicInteger delayedCalls;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  private final IPCUtil ipcUtil;<a name="line.195"></a>
+<span class="sourceLineNo">190</span>  private static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  private static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  private static final Log AUDITLOG = LogFactory.getLog("SecurityLogger." +<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    Server.class.getName());<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  protected ServiceAuthorizationManager authManager;<a name="line.195"></a>
 <span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  private static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private static final Log AUDITLOG = LogFactory.getLog("SecurityLogger." +<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    Server.class.getName());<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  protected ServiceAuthorizationManager authManager;<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   * after the call returns.<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   */<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  protected static final ThreadLocal&lt;Call&gt; CurCall = new ThreadLocal&lt;Call&gt;();<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      = new ThreadLocal&lt;MonitoredRPCHandler&gt;();<a name="line.211"></a>
-<span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  protected final InetSocketAddress bindAddress;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  protected int port;                             // port we listen on<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  protected InetSocketAddress address;            // inet address we listen on<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  private int readThreads;                        // number of read threads<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  protected int maxIdleTime;                      // the maximum idle time after<a name="line.217"></a>
-<span class="sourceLineNo">218</span>                                                  // which a client may be<a name="line.218"></a>
-<span class="sourceLineNo">219</span>                                                  // disconnected<a name="line.219"></a>
-<span class="sourceLineNo">220</span>  protected int thresholdIdleConnections;         // the number of idle<a name="line.220"></a>
-<span class="sourceLineNo">221</span>                                                  // connections after which we<a name="line.221"></a>
-<span class="sourceLineNo">222</span>                                                  // will start cleaning up idle<a name="line.222"></a>
-<span class="sourceLineNo">223</span>                                                  // connections<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  int maxConnectionsToNuke;                       // the max number of<a name="line.224"></a>
-<span class="sourceLineNo">225</span>                                                  // connections to nuke<a name="line.225"></a>
-<span class="sourceLineNo">226</span>                                                  // during a cleanup<a name="line.226"></a>
-<span class="sourceLineNo">227</span><a name="line.227"></a>
-<span class="sourceLineNo">228</span>  protected MetricsHBaseServer metrics;<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>  protected final Configuration conf;<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  private int maxQueueSize;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  protected int socketSendBufferSize;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  protected final boolean tcpNoDelay;   // if T then disable Nagle's Algorithm<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  protected final long purgeTimeout;    // in milliseconds<a name="line.236"></a>
+<span class="sourceLineNo">197</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * after the call returns.<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   */<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  protected static final ThreadLocal&lt;Call&gt; CurCall = new ThreadLocal&lt;Call&gt;();<a name="line.200"></a>
+<span class="sourceLineNo">201</span><a name="line.201"></a>
+<span class="sourceLineNo">202</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      = new ThreadLocal&lt;MonitoredRPCHandler&gt;();<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected final InetSocketAddress bindAddress;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  protected int port;                             // port we listen on<a name="line.207"></a>
+<span class="sourceLineNo">208</span>  protected InetSocketAddress address;            // inet address we listen on<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  private int readThreads;                        // number of read threads<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  protected int maxIdleTime;                      // the maximum idle time after<a name="line.210"></a>
+<span class="sourceLineNo">211</span>                                                  // which a client may be<a name="line.211"></a>
+<span class="sourceLineNo">212</span>                                                  // disconnected<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  protected int thresholdIdleConnections;         // the number of idle<a name="line.213"></a>
+<span class="sourceLineNo">214</span>                                                  // connections after which we<a name="line.214"></a>
+<span class="sourceLineNo">215</span>                                                  // will start cleaning up idle<a name="line.215"></a>
+<span class="sourceLineNo">216</span>                                                  // connections<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  int maxConnectionsToNuke;                       // the max number of<a name="line.217"></a>
+<span class="sourceLineNo">218</span>                                                  // connections to nuke<a name="line.218"></a>
+<span class="sourceLineNo">219</span>                                                  // during a cleanup<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  protected MetricsHBaseServer metrics;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  protected final Configuration conf;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private int maxQueueSize;<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  protected int socketSendBufferSize;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  protected final boolean tcpNoDelay;   // if T then disable Nagle's Algorithm<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.228"></a>
+<span class="sourceLineNo">229</span>  protected final long purgeTimeout;    // in milliseconds<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>  /**<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   */<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  volatile boolean running = true;<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>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  volatile boolean running = true;<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>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * for business by the call to {@link #start()}.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  volatile boolean started = false;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * This is a running count of the size of all outstanding calls by size.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  protected final Counter callQueueSize = new Counter();<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  protected final List&lt;Connection&gt; connectionList =<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    Collections.synchronizedList(new LinkedList&lt;Connection&gt;());<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  //maintain a list<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  //of client connections<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  private Listener listener = null;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  protected Responder responder = null;<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  protected int numConnections = 0;<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.265"></a>
+<span class="sourceLineNo">239</span>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * for business by the call to {@link #start()}.<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   */<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  volatile boolean started = false;<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>   * This is a running count of the size of all outstanding calls by size.<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  protected final Counter callQueueSize = new Counter();<a name="line.247"></a>
+<span class="sourceLineNo">248</span><a name="line.248"></a>
+<span class="sourceLineNo">249</span>  protected final List&lt;Connection&gt; connectionList =<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    Collections.synchronizedList(new LinkedList&lt;Connection&gt;());<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  //maintain a list<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  //of client connections<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  private Listener listener = null;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  protected Responder responder = null;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  protected int numConnections = 0;<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  private static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  private static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.261"></a>
+<span class="sourceLineNo">262</span><a name="line.262"></a>
+<span class="sourceLineNo">263</span>  /** Default value for above params */<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  private static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  private static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.265"></a>
 <span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>  private static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  private static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  /** Default value for above params */<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.272"></a>
+<span class="sourceLineNo">267</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>  private final int warnResponseTime;<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  private final int warnResponseSize;<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  private final Server server;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  private final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.272"></a>
 <span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.274"></a>
+<span class="sourceLineNo">274</span>  private final RpcScheduler scheduler;<a name="line.274"></a>
 <span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>  private final int warnResponseTime;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private final int warnResponseSize;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  private final Server server;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  private final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private final RpcScheduler scheduler;<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  private UserProvider userProvider;<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  private final BoundedByteBufferPool reservoir;<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  private volatile boolean allowFallbackToSimpleAuth;<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  /**<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   * Datastructure that holds all necessary to a method invocation and then afterward, carries<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * the result.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   */<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  class Call implements RpcCallContext {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    protected int id;                             // the client's call id<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    protected BlockingService service;<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    protected MethodDescriptor md;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    protected RequestHeader header;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    protected Message param;                      // the parameter passed<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    // Optional cell data passed outside of protobufs.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected CellScanner cellScanner;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    protected Connection connection;              // connection to client<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    protected long timestamp;      // the time received when response is null<a name="line.302"></a>
-<span class="sourceLineNo">303</span>                                   // the time served when response is not null<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    /**<a name="line.304"></a>
-<span class="sourceLineNo">305</span>     * Chain of buffers to send as response.<a name="line.305"></a>
-<span class="sourceLineNo">306</span>     */<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    protected BufferChain response;<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    protected boolean delayResponse;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    protected Responder responder;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    protected boolean delayReturnValue;           // if the return value should be<a name="line.310"></a>
-<span class="sourceLineNo">311</span>                                                  // set at call completion<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    protected long size;                          // size of current call<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    protected boolean isError;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    protected TraceInfo tinfo;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    private ByteBuffer cellBlock = null;<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    private User user;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    private InetAddress remoteAddress;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    private RpcCallback callback;<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>    private long responseCellSize = 0;<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    private long responseBlockSize = 0;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    private boolean retryImmediatelySupported;<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        justification="Can't figure why this complaint is happening... see below")<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    Call(int id, final BlockingService service, final MethodDescriptor md, RequestHeader header,<a name="line.327"></a>
-<span class="sourceLineNo">328</span>         Message param, CellScanner cellScanner, Connection connection, Responder responder,<a name="line.328"></a>
-<span class="sourceLineNo">329</span>         long size, TraceInfo tinfo, final InetAddress remoteAddress) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      this.id = id;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      this.service = service;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      this.md = md;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      this.header = header;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      this.param = param;<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      this.cellScanner = cellScanner;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      this.connection = connection;<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      this.timestamp = System.currentTimeMillis();<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      this.response = null;<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      this.delayResponse = false;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      this.responder = responder;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      this.isError = false;<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      this.size = size;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      this.tinfo = tinfo;<a name="line.343"></a>
-<span class="sourceLineNo">344</span>      this.user = connection == null? null: connection.user; // FindBugs: NP_NULL_ON_SOME_PATH<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      this.remoteAddress = remoteAddress;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      this.retryImmediatelySupported =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>          connection == null? null: connection.retryImmediatelySupported;<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>     * Call is done. Execution happened and we returned results to client. It is now safe to<a name="line.351"></a>
-<span class="sourceLineNo">352</span>     * cleanup.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>     */<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IS2_INCONSISTENT_SYNC",<a name="line.354"></a>
-<span class="sourceLineNo">355</span>        justification="Presume the lock on processing request held by caller is protection enough")<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    void done() {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      if (this.cellBlock != null &amp;&amp; reservoir != null) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>        // Return buffer to reservoir now we are done with it.<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        reservoir.putBuffer(this.cellBlock);<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        this.cellBlock = null;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      }<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      this.connection.decRpcCount();  // Say that we're done with this call.<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    }<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>    @Override<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    public String toString() {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      return toShortString() + " param: " +<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        (this.param != null? ProtobufUtil.getShortTextFormat(this.param): "") +<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        " connection: " + connection.toString();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    protected RequestHeader getHeader() {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      return this.header;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    }<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>    /*<a name="line.376"></a>
-<span class="sourceLineNo">377</span>     * Short string representation without param info because param itself could be huge depends on<a name="line.377"></a>
-<span class="sourceLineNo">378</span>     * the payload of a command<a name="line.378"></a>
-<span class="sourceLineNo">379</span>     */<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    String toShortString() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      String serviceName = this.connection.service != null ?<a name="line.381"></a>
-<span class="sourceLineNo">382</span>          this.connection.service.getDescriptorForType().getName() : "null";<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      return "callId: " + this.id + " service: " + serviceName +<a name="line.383"></a>
-<span class="sourceLineNo">384</span>          " methodName: " + ((this.md != null) ? this.md.getName() : "n/a") +<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          " size: " + StringUtils.TraditionalBinaryPrefix.long2String(this.size, "", 1) +<a name="line.385"></a>
-<span class="sourceLineNo">386</span>          " connection: " + connection.toString();<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    String toTraceString() {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      String serviceName = this.connection.service != null ?<a name="line.390"></a>
-<span class="sourceLineNo">391</span>                           this.connection.service.getDescriptorForType().getName() : "";<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      String methodName = (this.md != null) ? this.md.getName() : "";<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      return serviceName + "." + methodName;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>    protected synchronized void setSaslTokenResponse(ByteBuffer response) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      this.response = new BufferChain(response);<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>    protected synchronized void setResponse(Object m, final CellScanner cells,<a name="line.400"></a>
-<span class="sourceLineNo">401</span>        Throwable t, String errorMsg) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      if (this.isError) return;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      if (t != null) this.isError = true;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      BufferChain bc = null;<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      try {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>        ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        // Presume it a pb Message.  Could be null.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        Message result = (Message)m;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        // Call id.<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        headerBuilder.setCallId(this.id);<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        if (t != null) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>          ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();<a name="line.412"></a>
-<span class="sourceLineNo">413</span>          exceptionBuilder.setExceptionClassName(t.getClass().getName());<a name="line.413"></a>
-<span class="sourceLineNo">414</span>          exceptionBuilder.setStackTrace(errorMsg);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>          exceptionBuilder.setDoNotRetry(t instanceof DoNotRetryIOException);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          if (t instanceof RegionMovedException) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>            // Special casing for this exception.  This is only one carrying a payload.<a name="line.417"></a>
-<span class="sourceLineNo">418</span>            // Do this instead of build a generic system for allowing exceptions carry<a name="line.418"></a>
-<span class="sourceLineNo">419</span>            // any kind of payload.<a name="line.419"></a>
-<span class="sourceLineNo">420</span>            RegionMovedException rme = (RegionMovedException)t;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>            exceptionBuilder.setHostname(rme.getHostname());<a name="line.421"></a>
-<span class="sourceLineNo">422</span>            exceptionBuilder.setPort(rme.getPort());<a name="line.422"></a>
-<span class="sourceLineNo">423</span>          }<a name="line.423"></a>
-<span class="sourceLineNo">424</span>          // Set the exception as the result of the method invocation.<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          headerBuilder.setException(exceptionBuilder.build());<a name="line.425"></a>
-<span class="sourceLineNo">426</span>        }<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        // Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        // reservoir when finished. This is hacky and the hack is not contained but benefits are<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        // high when we can avoid a big buffer allocation on each rpc.<a name="line.429"></a>
-<span class="sourceLineNo">430</span>        this.cellBlock = ipcUtil.buildCellBlock(this.connection.codec,<a name="line.430"></a>
-<span class="sourceLineNo">431</span>          this.connection.compressionCodec, cells, reservoir);<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        if (this.cellBlock != null) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>          CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          // Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.<a name="line.434"></a>
-<span class="sourceLineNo">435</span>          cellBlockBuilder.setLength(this.cellBlock.limit());<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          headerBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        }<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        Message header = headerBuilder.build();<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>        // Organize the response as a set of bytebuffers rather than collect it all together inside<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        // one big byte array; save on allocations.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>        ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);<a name="line.442"></a>
-<span class="sourceLineNo">443</span>        ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);<a name="line.443"></a>
-<span class="sourceLineNo">444</span>        int totalSize = bbHeader.capacity() + (bbResult == null? 0: bbResult.limit()) +<a name="line.444"></a>
-<span class="sourceLineNo">445</span>          (this.cellBlock == null? 0: this.cellBlock.limit());<a name="line.445"></a>
-<span class="sourceLineNo">446</span>        ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));<a name="line.446"></a>
-<span class="sourceLineNo">447</span>        bc = new BufferChain(bbTotalSize, bbHeader, bbResult, this.cellBlock);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        if (connection.useWrap) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>          bc = wrapWithSasl(bc);<a name="line.449"></a>
-<span class="sourceLineNo">450</span>        }<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      } catch (IOException e) {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        LOG.warn("Exception while creating response " + e);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      }<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      this.response = bc;<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      // Once a response message is created and set to this.response, this Call can be treated as<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      // done. The Responder thread will do the n/w write of this message back to client.<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      if (this.callback != null) {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        try {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          this.callback.run();<a name="line.459"></a>
-<span class="sourceLineNo">460</span>        } catch (Exception e) {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          // Don't allow any exception here to kill this handler thread.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>          LOG.warn("Exception while running the Rpc Callback.", e);<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>    }<a name="line.465"></a>
-<span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span>    private BufferChain wrapWithSasl(BufferChain bc)<a name="line.467"></a>
-<span class="sourceLineNo">468</span>        throws IOException {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      if (!this.connection.useSasl) return bc;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      // Looks like no way around this; saslserver wants a byte array.  I have to make it one.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      // THIS IS A BIG UGLY COPY.<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      byte [] responseBytes = bc.getBytes();<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      byte [] token;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      // synchronization may be needed since there can be multiple Handler<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      // threads using saslServer to wrap responses.<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      synchronized (connection.saslServer) {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (LOG.isTraceEnabled()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        LOG.trace("Adding saslServer wrapped token of size " + token.length<a name="line.480"></a>
-<span class="sourceLineNo">481</span>            + " as call response.");<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      }<a name="line.482"></a>
+<span class="sourceLineNo">276</span>  private UserProvider userProvider;<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  private final BoundedByteBufferPool reservoir;<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>  private volatile boolean allowFallbackToSimpleAuth;<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * Datastructure that holds all necessary to a method invocation and then afterward, carries<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * the result.<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   */<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  class Call implements RpcCallContext {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    protected int id;                             // the client's call id<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    protected BlockingService service;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    protected MethodDescriptor md;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    protected RequestHeader header;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    protected Message param;                      // the parameter passed<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    // Optional cell data passed outside of protobufs.<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    protected CellScanner cellScanner;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    protected Connection connection;              // connection to client<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    protected long timestamp;      // the time received when response is null<a name="line.295"></a>
+<span class="sourceLineNo">296</span>                                   // the time served when response is not null<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    /**<a name="line.297"></a>
+<span class="sourceLineNo">298</span>     * Chain of buffers to send as response.<a name="line.298"></a>
+<span class="sourceLineNo">299</span>     */<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    protected BufferChain response;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    protected Responder responder;<a name="line.301"></a>
+<span class="sourceLineNo">302</span><a name="line.302"></a>
+<span class="sourceLineNo">303</span>    protected long size;                          // size of current call<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    protected boolean isError;<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    protected TraceInfo tinfo;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    private ByteBuffer cellBlock = null;<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>    private User user;<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    private InetAddress remoteAddress;<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    private RpcCallback callback;<a name="line.310"></a>
+<span class="sourceLineNo">311</span><a name="line.311"></a>
+<span class="sourceLineNo">312</span>    private long responseCellSize = 0;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    private long responseBlockSize = 0;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    private boolean retryImmediatelySupported;<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.316"></a>
+<span class="sourceLineNo">317</span>        justification="Can't figure why this complaint is happening... see below")<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    Call(int id, final BlockingService service, final MethodDescriptor md, RequestHeader header,<a name="line.318"></a>
+<span class="sourceLineNo">319</span>         Message param, CellScanner cellScanner, Connection connection, Responder responder,<a name="line.319"></a>
+<span class="sourceLineNo">320</span>         long size, TraceInfo tinfo, final InetAddress remoteAddress) {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      this.id = id;<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      this.service = service;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      this.md = md;<a name="line.323"></a>
+<span class="sourceLineNo">324</span>      this.header = header;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      this.param = param;<a name="line.325"></a>
+<span class="sourceLineNo">326</span>      this.cellScanner = cellScanner;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      this.connection = connection;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>      this.timestamp = System.currentTimeMillis();<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      this.response = null;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      this.responder = responder;<a name="line.330"></a>
+<span class="sourceLineNo">331</span>      this.isError = false;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      this.size = size;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      this.tinfo = tinfo;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      this.user = connection == null? null: connection.user; // FindBugs: NP_NULL_ON_SOME_PATH<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      this.remoteAddress = remoteAddress;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      this.retryImmediatelySupported =<a name="line.336"></a>
+<span class="sourceLineNo">337</span>          connection == null? null: connection.retryImmediatelySupported;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span>    /**<a name="line.340"></a>
+<span class="sourceLineNo">341</span>     * Call is done. Execution happened and we returned results to client. It is now safe to<a name="line.341"></a>
+<span class="sourceLineNo">342</span>     * cleanup.<a name="line.342"></a>
+<span class="sourceLineNo">343</span>     */<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IS2_INCONSISTENT_SYNC",<a name="line.344"></a>
+<span class="sourceLineNo">345</span>        justification="Presume the lock on processing request held by caller is protection enough")<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    void done() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      if (this.cellBlock != null &amp;&amp; reservoir != null) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>        // Return buffer to reservoir now we are done with it.<a name="line.348"></a>
+<span class="sourceLineNo">349</span>        reservoir.putBuffer(this.cellBlock);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>        this.cellBlock = null;<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      }<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      this.connection.decRpcCount();  // Say that we're done with this call.<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    }<a name="line.353"></a>
+<span class="sourceLineNo">354</span><a name="line.354"></a>
+<span class="sourceLineNo">355</span>    @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    public String toString() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>      return toShortString() + " param: " +<a name="line.357"></a>
+<span class="sourceLineNo">358</span>        (this.param != null? ProtobufUtil.getShortTextFormat(this.param): "") +<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        " connection: " + connection.toString();<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    }<a name="line.360"></a>
+<span class="sourceLineNo">361</span><a name="line.361"></a>
+<span class="sourceLineNo">362</span>    protected RequestHeader getHeader() {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>      return this.header;<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>     * Short string representation without param info because param itself could be huge depends on<a name="line.367"></a>
+<span class="sourceLineNo">368</span>     * the payload of a command<a name="line.368"></a>
+<span class="sourceLineNo">369</span>     */<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    String toShortString() {<a name="line.370"></a>
+<span class="sourceLineNo">371</span>      String serviceName = this.connection.service != null ?<a name="line.371"></a>
+<span class="sourceLineNo">372</span>          this.connection.service.getDescriptorForType().getName() : "null";<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      return "callId: " + this.id + " service: " + serviceName +<a name="line.373"></a>
+<span class="sourceLineNo">374</span>          " methodName: " + ((this.md != null) ? this.md.getName() : "n/a") +<a name="line.374"></a>
+<span class="sourceLineNo">375</span>          " size: " + StringUtils.TraditionalBinaryPrefix.long2String(this.size, "", 1) +<a name="line.375"></a>
+<span class="sourceLineNo">376</span>          " connection: " + connection.toString();<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    String toTraceString() {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      String serviceName = this.connection.service != null ?<a name="line.380"></a>
+<span class="sourceLineNo">381</span>                           this.connection.service.getDescriptorForType().getName() : "";<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      String methodName = (this.md != null) ? this.md.getName() : "";<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      return serviceName + "." + methodName;<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>    protected synchronized void setSaslTokenResponse(ByteBuffer response) {<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      this.response = new BufferChain(response);<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    }<a name="line.388"></a>
+<span class="sourceLineNo">389</span><a name="line.389"></a>
+<span class="sourceLineNo">390</span>    protected synchronized void setResponse(Object m, final CellScanner cells,<a name="line.390"></a>
+<span class="sourceLineNo">391</span>        Throwable t, String errorMsg) {<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      if (this.isError) return;<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      if (t != null) this.isError = true;<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      BufferChain bc = null;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>      try {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>        ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();<a name="line.396"></a>
+<span class="sourceLineNo">397</span>        // Presume it a pb Message.  Could be null.<a name="line.397"></a>
+<span class="sourceLineNo">398</span>        Message result = (Message)m;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>        // Call id.<a name="line.399"></a>
+<span class="sourceLineNo">400</span>        headerBuilder.setCallId(this.id);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>        if (t != null) {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>          ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();<a name="line.402"></a>
+<span class="sourceLineNo">403</span>          exceptionBuilder.setExceptionClassName(t.getClass().getName());<a name="line.403"></a>
+<span class="sourceLineNo">404</span>          exceptionBuilder.setStackTrace(errorMsg);<a name="line.404"></a>
+<span class="sourceLineNo">405</span>          exceptionBuilder.setDoNotRetry(t instanceof DoNotRetryIOException);<a name="line.405"></a>
+<span class="sourceLineNo">406</span>          if (t instanceof RegionMovedException) {<a name="line.406"></a>
+<span class="sourceLineNo">407</span>            // Special casing for this exception.  This is only one carrying a payload.<a name="line.407"></a>
+<span class="sourceLineNo">408</span>            // Do this instead of build a generic system for allowing exceptions carry<a name="line.408"></a>
+<span class="sourceLineNo">409</span>            // any kind of payload.<a name="line.409"></a>
+<span class="sourceLineNo">410</span>            RegionMovedException rme = (RegionMovedException)t;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>            exceptionBuilder.setHostname(rme.getHostname());<a name="line.411"></a>
+<span class="sourceLineNo">412</span>            exceptionBuilder.setPort(rme.getPort());<a name="line.412"></a>
+<span class="sourceLineNo">413</span>          }<a name="line.413"></a>
+<span class="sourceLineNo">414</span>          // Set the exception as the result of the method invocation.<a name="line.414"></a>
+<span class="sourceLineNo">415</span>          headerBuilder.setException(exceptionBuilder.build());<a name="line.415"></a>
+<span class="sourceLineNo">416</span>        }<a name="line.416"></a>
+<span class="sourceLineNo">417</span>        // Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the<a name="line.417"></a>
+<span class="sourceLineNo">418</span>        // reservoir when finished. This is hacky and the hack is not contained but benefits are<a name="line.418"></a>
+<span class="sourceLineNo">419</span>        // high when we can avoid a big buffer allocation on each rpc.<a name="line.419"></a>
+<span class="sourceLineNo">420</span>        this.cellBlock = ipcUtil.buildCellBlock(this.connection.codec,<a name="line.420"></a>
+<span class="sourceLineNo">421</span>          this.connection.compressionCodec, cells, reservoir);<a name="line.421"></a>
+<span class="sourceLineNo">422</span>        if (this.cellBlock != null) {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>          CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();<a name="line.423"></a>
+<span class="sourceLineNo">424</span>          // Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.<a name="line.424"></a>
+<span class="sourceLineNo">425</span>          cellBlockBuilder.setLength(this.cellBlock.limit());<a name="line.425"></a>
+<span class="sourceLineNo">426</span>          headerBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.426"></a>
+<span class="sourceLineNo">427</span>        }<a name="line.427"></a>
+<span class="sourceLineNo">428</span>        Message header = headerBuilder.build();<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>        // Organize the response as a set of bytebuffers rather than collect it all together inside<a name="line.430"></a>
+<span class="sourceLineNo">431</span>        // one big byte array; save on allocations.<a name="line.431"></a>
+<span class="sourceLineNo">432</span>        ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);<a name="line.432"></a>
+<span class="sourceLineNo">433</span>        ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        int totalSize = bbHeader.capacity() + (bbResult == null? 0: bbResult.limit()) +<a name="line.434"></a>
+<span class="sourceLineNo">435</span>          (this.cellBlock == null? 0: this.cellBlock.limit());<a name="line.435"></a>
+<span class="sourceLineNo">436</span>        ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));<a name="line.436"></a>
+<span class="sourceLineNo">437</span>        bc = new BufferChain(bbTotalSize, bbHeader, bbResult, this.cellBlock);<a name="line.437"></a>
+<span class="sourceLineNo">438</span>        if (connection.useWrap) {<a name="line.438"></a>
+<span class="sourceLineNo">439</span>          bc = wrapWithSasl(bc);<a name="line.439"></a>
+<span class="sourceLineNo">440</span>        }<a name="line.440"></a>
+<span class="sourceLineNo">441</span>      } catch (IOException e) {<a name="line.441"></a>
+<span class="sourceLineNo">442</span>        LOG.warn("Exception while creating response " + e);<a name="line.442"></a>
+<span class="sourceLineNo">443</span>      }<a name="line.443"></a>
+<span class="sourceLineNo">444</span>      this.response = bc;<a name="line.444"></a>
+<span class="sourceLineNo">445</span>      // Once a response message is created and set to this.response, this Call can be treated as<a name="line.445"></a>
+<span class="sourceLineNo">446</span>      // done. The Responder thread will do the n/w write of this message back to client.<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      if (this.callback != null) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>        try {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>          this.callback.run();<a name="line.449"></a>
+<span class="sourceLineNo">450</span>        } catch (Exception e) {<a name="line.450"></a>
+<span class="sourceLineNo">451</span>          // Don't allow any exception here to kill this handler thread.<a name="line.451"></a>
+<span class="sourceLineNo">452</span>          LOG.warn("Exception while running the Rpc Callback.", 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>    }<a name="line.455"></a>
+<span class="sourceLineNo">456</span><a name="line.456"></a>
+<span class="sourceLineNo">457</span>    private BufferChain wrapWithSasl(BufferChain bc)<a name="line.457"></a>
+<span class="sourceLineNo">458</span>        throws IOException {<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      if (!this.connection.useSasl) return bc;<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      // Looks like no way around this; saslserver wants a byte array.  I have to make it one.<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      // THIS IS A BIG UGLY COPY.<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      byte [] responseBytes = bc.getBytes();<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      byte [] token;<a name="line.463"></a>
+<span class="sourceLineNo">464</span>      // synchronization may be needed since there can be multiple Handler<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      // threads using saslServer to wrap responses.<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      synchronized (connection.saslServer) {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>        token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);<a name="line.467"></a>
+<span class="sourceLineNo">468</span>      }<a name="line.468"></a>
+<span class="sourceLineNo">469</span>      if (LOG.isTraceEnabled()) {<a name="line.469"></a>
+<span class="sourceLineNo">470</span>        LOG.trace("Adding saslServer wrapped token of size " + token.length<a name="line.470"></a>
+<span class="sourceLineNo">471</span>            + " as call response.");<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      }<a name="line.472"></a>
+<span class="sourceLineNo">473</span><a name="line.473"></a>
+<span class="sourceLineNo">474</span>      ByteBuffer bbTokenLength = ByteBuffer.wrap(Bytes.toBytes(token.length));<a name="line.474"></a>
+<span class="sourceLineNo">475</span>      ByteBuffer bbTokenBytes = ByteBuffer.wrap(token);<a name="line.475"></a>
+<span class="sourceLineNo">476</span>      return new BufferChain(bbTokenLength, bbTokenBytes);<a name="line.476"></a>
+<span class="sourceLineNo">477</span>    }<a name="line.477"></a>
+<span class="sourceLineNo">478</span><a name="line.478"></a>
+<span class="sourceLineNo">479</span>    @Override<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    public boolean isClientCellBlockSupported() {<a name="line.480"></a>
+<span class="sourceLineNo">481</span>      return this.connection != null &amp;&amp; this.connection.codec != null;<a name="line.481"></a>
+<span class="sourceLineNo">482</span>    }<a name="line.482"></a>
 <span class="sourceLineNo">483</span><a name="line.483"></a>
-<span class="sourceLineNo">484</span>      ByteBuffer bbTokenLength = ByteBuffer.wrap(Bytes.toBytes(token.length));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      ByteBuffer bbTokenBytes = ByteBuffer.wrap(token);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>      return new BufferChain(bbTokenLength, bbTokenBytes);<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>    @Override<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    public synchronized void endDelay(Object result) throws IOException {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      assert this.delayResponse;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      assert this.delayReturnValue || result == null;<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      this.delayResponse = false;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      delayedCalls.decrementAndGet();<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      if (this.delayReturnValue) {<a name="line.495"></a>
-<span class="sourceLineNo">496</span>        this.setResponse(result, null, null, null);<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      }<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      this.responder.doRespond(this);<a name="line.498"></a>
+<span class="sourceLineNo">484</span>    @Override<a name="line.484"></a>
+<span class="sourceLineNo">485</span>    public long disconnectSince() {<a name="line.485"></a>
+<span class="sourceLineNo">486</span>      if (!connection.channel.isOpen()) {<a name="line.486"></a>
+<span class="sourceLineNo">487</span>        return System.currentTimeMillis() - timestamp;<a name="line.487"></a>
+<span class="sourceLineNo">488</span>      } else {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>        return -1L;<a name="line.489"></a>
+<span class="sourceLineNo">490</span>      }<a name="line.490"></a>
+<span class="sourceLineNo">491</span>    }<a name="line.491"></a>
+<span class="sourceLineNo">492</span><a name="line.492"></a>
+<span class="sourceLineNo">493</span>    public long getSize() {<a name="line.493"></a>
+<span class="sourceLineNo">494</span>      return this.size;<a name="line.494"></a>
+<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
+<span class="sourceLineNo">496</span><a name="line.496"></a>
+<span class="sourceLineNo">497</span>    public long getResponseCellSize() {<a name="line.497"></a>
+<span class="sourceLineNo">498</span>      return responseCellSize;<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>    @Override<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    public synchronized void endDelay() throws IOException {<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      this.endDelay(null);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    }<a name="line.504"></a>
-<span class="sourceLineNo">505</span><a name="line.505"></a>
-<span class="sourceLineNo">506</span>    @Override<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    public synchronized void startDelay(boolean delayReturnValue) {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      assert !this.delayResponse;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      this.delayResponse = true;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      this.delayReturnValue = delayReturnValue;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      int numDelayed = delayedCalls.incrementAndGet();<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      if (numDelayed &gt; warnDelayedCalls) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        LOG.warn("Too many delayed calls: limit " + warnDelayedCalls + " current " + numDelayed);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    }<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>    @Override<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    public synchronized void endDelayThrowing(Throwable t) throws IOException {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      this.setResponse(null, null, t, StringUtils.stringifyException(t));<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      this.delayResponse = false;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      this.sendResponseIfReady();<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    }<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    @Override<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    public synchronized boolean isDelayed() {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>      return this.delayResponse;<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    }<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    public synchronized boolean isReturnValueDelayed() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      return this.delayReturnValue;<a name="line.531"></a>
+<span class="sourceLineNo">501</span>    public void incrementResponseCellSize(long cellSize) {<a name="line.501"></a>
+<span class="sourceLineNo">502</span>      responseCellSize += cellSize;<a name="line.502"></a>
+<span class="sourceLineNo">503</span>    }<a name="line.503"></a>
+<span class="sourceLineNo">504</span><a name="line.504"></a>
+<span class="sourceLineNo">505</span>    @Override<a name="line.505"></a>
+<span class="sourceLineNo">506</span>    public long getResponseBlockSize() {<a name="line.506"></a>
+<span class="sourceLineNo">507</span>      return responseBlockSize;<a name="line.507"></a>
+<span class="sourceLineNo">508</span>    }<a name="line.508"></a>
+<span class="sourceLineNo">509</span><a name="line.509"></a>
+<span class="sourceLineNo">510</span>    @Override<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    public void incrementResponseBlockSize(long blockSize) {<a name="line.511"></a>
+<span class="sourceLineNo">512</span>      responseBlockSize += blockSize;<a name="line.512"></a>
+<span class="sourceLineNo">513</span>    }<a name="line.513"></a>
+<span class="sourceLineNo">514</span><a name="line.514"></a>
+<span class="sourceLineNo">515</span>    public synchronized void sendResponseIfReady() throws IOException {<a name="line.515"></a>
+<span class="sourceLineNo">516</span>      this.responder.doRespond(this);<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>    public UserGroupInformation getRemoteUser() {<a name="line.519"></a>
+<span class="sourceLineNo">520</span>      return connection.ugi;<a name="line.520"></a>
+<span class="sourceLineNo">521</span>    }<a name="line.521"></a>
+<span class="sourceLineNo">522</span><a name="line.522"></a>
+<span class="sourceLineNo">523</span>    @Override<a name="line.523"></a>
+<span class="sourceLineNo">524</span>    public User getRequestUser() {<a name="line.524"></a>
+<span class="sourceLineNo">525</span>      return user;<a name="line.525"></a>
+<span class="sourceLineNo">526</span>    }<a name="line.526"></a>
+<span class="sourceLineNo">527</span><a name="line.527"></a>
+<span class="sourceLineNo">528</span>    @Override<a name="line.528"></a>
+<span class="sourceLineNo">529</span>    public String getRequestUserName() {<a name="line.529"></a>
+<span class="sourceLineNo">530</span>      User user = getRequestUser();<a name="line.530"></a>
+<span class="sourceLineNo">531</span>      return user == null? null: user.getShortName();<a name="line.531"></a>
 <span class="sourceLineNo">532</span>    }<a name="line.532"></a>
 <span class="sourceLineNo">533</span><a name="line.533"></a>
 <span class="sourceLineNo">534</span>    @Override<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    public boolean isClientCellBlockSupported() {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      return this.connection != null &amp;&amp; this.connection.codec != null;<a name="line.536"></a>
+<span class="sourceLineNo">535</span>    public InetAddress getRemoteAddress() {<a name="line.535"></a>
+<span class="sourceLineNo">536</span>      return remoteAddress;<a name="line.536"></a>
 <span class="sourceLineNo">537</span>    }<a name="line.537"></a>
 <span class="sourceLineNo">538</span><a name="line.538"></a>
 <span class="sourceLineNo">539</span>    @Override<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    public long disconnectSince() {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      if (!connection.channel.isOpen()) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        return System.currentTimeMillis() - timestamp;<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      } else {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>        return -1L;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      }<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>    public long getSize() {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      return this.size;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    }<a name="line.550"></a>
-<span class="sourceLineNo">551</span><a name="line.551"></a>
-<span class="sourceLineNo">552</span>    public long getResponseCellSize() {<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      return responseCellSize;<a name="line.553"></a>
-<span class="sourceLineNo">554</span>    }<a name="line.554"></a>
-<span class="sourceLineNo">555</span><a name="line.555"></a>
-<span class="sourceLineNo">556</span>    public void incrementResponseCellSize(long cellSize) {<a name="line.556"></a>
-<span class="sourceLineNo">557</span>      responseCellSize += cellSize;<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    }<a name="line.558"></a>
-<span class="sourceLineNo">559</span><a name="line.559"></a>
-<span class="sourceLineNo">560</span>    @Override<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    public long getResponseBlockSize() {<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      return responseBlockSize;<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span><a name="line.564"></a>
-<span class="sourceLineNo">565</span>    @Override<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    public void incrementResponseBlockSize(long blockSize) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      responseBlockSize += blockSize;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    /**<a name="line.570"></a>
-<span class="sourceLineNo">571</span>     * If we have a response, and delay is not set, then respond<a name="line.571"></a>
-<span class="sourceLineNo">572</span>     * immediately.  Otherwise, do not respond to client.  This is<a name="line.572"></a>
-<span class="sourceLineNo">573</span>     * called by the RPC code in the context of the Handler thread.<a name="line.573"></a>
-<span class="sourceLineNo">574</span>     */<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    public synchronized void sendResponseIfReady() throws IOException {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      if (!this.delayResponse) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        this.responder.doRespond(this);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    }<a name="line.579"></a>
-<span class="sourceLineNo">580</span><a name="line.580"></a>
-<span class="sourceLineNo">581</span>    public UserGroupInformation getRemoteUser() {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      return connection.ugi;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
+<span class="sourceLineNo">540</span>    public VersionInfo getClientVersionInfo() {<a name="line.540"></a>
+<span class="sourceLineNo">541</span>      return connection.getVersionInfo();<a name="line.541"></a>
+<span class="sourceLineNo">542</span>    }<a name="line.542"></a>
+<span class="sourceLineNo">543</span><a name="line.543"></a>
+<span class="sourceLineNo">544</span>    @Override<a name="line.544"></a>
+<span class="sourceLineNo">545</span>    public synchronized void setCallBack(RpcCallback callback) {<a name="line.545"></a>
+<span class="sourceLineNo">546</span>      this.callback = callback;<a name="line.546"></a>
+<span class="sourceLineNo">547</span>    }<a name="line.547"></a>
+<span class="sourceLineNo">548</span><a name="line.548"></a>
+<span class="sourceLineNo">549</span>    @Override<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    public boolean isRetryImmediatelySupported() {<a name="line.550"></a>
+<span class="sourceLineNo">551</span>      return retryImmediatelySupported;<a name="line.551"></a>
+<span class="sourceLineNo">552</span>    }<a name="line.552"></a>
+<span class="sourceLineNo">553</span>  }<a name="line.553"></a>
+<span class="sourceLineNo">554</span><a name="line.554"></a>
+<span class="sourceLineNo">555</span>  /** Listens on the socket. Creates jobs for the handler threads*/<a name="line.555"></a>
+<span class="sourceLineNo">556</span>  private class Listener extends Thread {<a name="line.556"></a>
+<span class="sourceLineNo">557</span><a name="line.557"></a>
+<span class="sourceLineNo">558</span>    private ServerSocketChannel acceptChannel = null; //the accept channel<a name="line.558"></a>
+<span class="sourceLineNo">559</span>    private Selector selector = null; //the selector that we use for the server<a name="line.559"></a>
+<span class="sourceLineNo">560</span>    private Reader[] readers = null;<a name="line.560"></a>
+<span class="sourceLineNo">561</span>    private int currentReader = 0;<a name="line.561"></a>
+<span class="sourceLineNo">562</span>    private Random rand = new Random();<a name="line.562"></a>
+<span class="sourceLineNo">563</span>    private long lastCleanupRunTime = 0; //the last time when a cleanup connec-<a name="line.563"></a>
+<span class="sourceLineNo">564</span>                                         //-tion (for idle connections) ran<a name="line.564"></a>
+<span class="sourceLineNo">565</span>    private long cleanupInterval = 10000; //the minimum interval between<a name="line.565"></a>
+<span class="sourceLineNo">566</span>                                          //two cleanup runs<a name="line.566"></a>
+<span class="sourceLineNo">567</span>    private int backlogLength;<a name="line.567"></a>
+<span class="sourceLineNo">568</span><a name="line.568"></a>
+<span class="sourceLineNo">569</span>    private ExecutorService readPool;<a name="line.569"></a>
+<span class="sourceLineNo">570</span><a name="line.570"></a>
+<span class="sourceLineNo">571</span>    public Listener(final String name) throws IOException {<a name="line.571"></a>
+<span class="sourceLineNo">572</span>      super(name);<a name="line.572"></a>
+<span class="sourceLineNo">573</span>      backlogLength = conf.getInt("hbase.ipc.server.listen.queue.size", 128);<a name="line.573"></a>
+<span class="sourceLineNo">574</span>      // Create a new server socket and set to non blocking mode<a name="line.574"></a>
+<span class="sourceLineNo">575</span>      acceptChannel = ServerSocketChannel.open();<a name="line.575"></a>
+<span class="sourceLineNo">576</span>      acceptChannel.configureBlocking(false);<a name="line.576"></a>
+<span class="sourceLineNo">577</span><a name="line.577"></a>
+<span class="sourceLineNo">578</span>      // Bind the server socket to the binding addrees (can be different from the default interface)<a name="line.578"></a>
+<span class="sourceLineNo">579</span>      bind(acceptChannel.socket(), bindAddress, backlogLength);<a name="line.579"></a>
+<span class="sourceLineNo">580</span>      port = acceptChannel.socket().getLocalPort(); //Could be an ephemeral port<a name="line.580"></a>
+<span class="sourceLineNo">581</span>      address = (InetSocketAddress)acceptChannel.socket().getLocalSocketAddress();<a name="line.581"></a>
+<span class="sourceLineNo">582</span>      // create a selector;<a name="line.582"></a>
+<span class="sourceLineNo">583</span>      selector= Selector.open();<a name="line.583"></a>
 <span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    @Override<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    public User getRequestUser() {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      return user;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>    @Override<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    public String getRequestUserName() {<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      User user = getRequestUser();<a name="line.592"></a>
-<span class="sourceLineNo">593</span>      return user == null? null: user.getShortName();<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    }<a name="line.594"></a>
-<span class="sourceLineNo">595</span><a name="line.595"></a>
-<span class="sourceLineNo">596</span>    @Override<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    public InetAddress getRemoteAddress() {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      return remoteAddress;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    }<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>    @Override<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    public VersionInfo getClientVersionInfo() {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>      return connection.getVersionInfo();<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    }<a name="line.604"></a>
-<span class="sourceLineNo">605</span><a name="line.605"></a>
-<span class="sourceLineNo">606</span>    @Override<a name="line.606"></a>
-<span class="sourceLineNo">607</span>    public synchronized void setCallBack(RpcCallback callback) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.callback = callback;<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>    @Override<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    public boolean isRetryImmediatelySupported() {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>      return retryImmediatelySupported;<a name="line.613"></a>
-<span class="sourceLineNo">614</span>    }<a name="line.614"></a>
-<span class="sourceLineNo">615</span>  }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>  /** Listens on the socket. Creates jobs for the handler threads*/<a name="line.617"></a>
-<span class="sourceLineNo">618</span>  private class Listener extends Thread {<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span>    private ServerSocketChannel acceptChannel = null; //the accept channel<a name="line.620"></a>
-<span class="sourceLineNo">621</span>    private Selector selector = null; //the selector that we use for the server<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    private Reader[] readers = null;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    private int currentReader = 0;<a name="line.623"></a>
-<span class="sourceLineNo">624</span>    private Random rand = new Random();<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    private long lastCleanupRunTime = 0; //the last time when a cleanup connec-<a name="line.625"></a>
-<span class="sourceLineNo">626</span>                                         //-tion (for idle connections) ran<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    private long cleanupInterval = 10000; //the minimum interval between<a name="line.627"></a>
-<span class="sourceLineNo">628</span>                                          //two cleanup runs<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    private int backlogLength;<a name="line.629"></a>
-<span class="sourceLineNo">630</span><a name="line.630"></a>
-<span class="sourceLineNo">631</span>    private ExecutorService readPool;<a name="line.631"></a>
-<span class="sourceLineNo">632</span><a name="line.632"></a>
-<span class="sourceLineNo">633</span>    public Listener(final String name) throws IOException {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      super(name);<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      backlogLength = conf.getInt("hbase.ipc.server.listen.queue.size", 128);<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      // Create a new server socket and set to non blocking mode<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      acceptChannel = ServerSocketChannel.open();<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      acceptChannel.configureBlocking(false);<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>      // Bind the server socket to the binding addrees (can be different from the default interface)<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      bind(acceptChannel.socket(), bindAddress, backlogLength);<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      port = acceptChannel.socket().getLocalPort(); //Could be an ephemeral port<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      address = (InetSocketAddress)acceptChannel.socket().getLocalSocketAddress();<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      // create a selector;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      selector= Selector.open();<a name="line.645"></a>
-<span class="sourceLineNo">646</span><a name="line.646"></a>
-<span class="sourceLineNo">647</span>      readers = new Reader[readThreads];<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      readPool = Executors.newFixedThreadPool(readThreads,<a name="line.648"></a>
-<span class="sourceLineNo">649</span>        new ThreadFactoryBuilder().setNameFormat(<a name="line.649"></a>
-<span class="sourceLineNo">650</span>          "RpcServer.reader=%d,bindAddress=" + bindAddress.getHostName() +<a name="line.650"></a>
-<span class="sourceLineNo">651</span>          ",port=" + port).setDaemon(true).build());<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      for (int i = 0; i &lt; readThreads; ++i) {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        Reader reader = new Reader();<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        readers[i] = reader;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        readPool.execute(reader);<a name="line.655"></a>
-<span class="sourceLineNo">656</span>      }<a name="line.656"></a>
-<span class="sourceLineNo">657</span>      LOG.info(getName() + ": started " + readThreads + " reader(s) listening on port=" + port);<a name="line.657"></a>
-<span class="sourceLineNo">658</span><a name="line.658"></a>
-<span class="sourceLineNo">659</span>      // Register accepts on the server socket with the selector.<a name="line.659"></a>
-<span class="sourceLineNo">660</span>      acceptChannel.register(selector, SelectionKey.OP_ACCEPT);<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      this.setName("RpcServer.listener,port=" + port);<a name="line.661"></a>
-<span class="sourceLineNo">662</span>      this.setDaemon(true);<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    }<a name="line.663"></a>
-<span class="sourceLineNo">664</span><a name="line.664"></a>
-<span class="sourceLineNo">665</span><a name="line.665"></a>
-<span class="sourceLineNo">666</span>    private class Reader implements Runnable {<a name="line.666"></a>
-<span class="sourceLineNo">667</span>      private volatile boolean adding = false;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>      private final Selector readSelector;<a name="line.668"></a>
-<span class="sourceLineNo">669</span><a name="line.669"></a>
-<span class="sourceLineNo">670</span>      Reader() throws IOException {<a name="line.670"></a>
-<span class="sourceLineNo">671</span>        this.readSelector = Selector.open();<a name="line.671"></a>
-<span class="sourceLineNo">672</span>      }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      @Override<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      public void run() {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        try {<a name="line.675"></a>
-<span class="sourceLineNo">676</span>          doRunLoop();<a name="line.676"></a>
-<span class="sourceLineNo">677</span>        } finally {<a name="line.677"></a>
-<span class="sourceLineNo">678</span>          try {<a name="line.678"></a>
-<span class="sourceLineNo">679</span>            readSelector.close();<a name="line.679"></a>
-<span class="sourceLineNo">680</span>          } catch (IOException ioe) {<a name="line.680"></a>
-<span class="sourceLineNo">681</span>            LOG.error(getName() + ": error closing read selector in " + getName(), ioe);<a name="line.681"></a>
-<span class="sourceLineNo">682</span>          }<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        }<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      }<a name="line.684"></a>
-<span class="sourceLineNo">685</span><a name="line.685"></a>
-<span class="sourceLineNo">686</span>      private synchronized void doRunLoop() {<a name="line.686"></a>
-<span class="sour

<TRUNCATED>

[20/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.CallQueueTooBigException.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.CallQueueTooBigException.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.CallQueueTooBigException.html
index 4975851..bf27873 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.CallQueueTooBigException.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.CallQueueTooBigException.html
@@ -193,2475 +193,2411 @@
 <span class="sourceLineNo">185</span>   */<a name="line.185"></a>
 <span class="sourceLineNo">186</span>  private static final int DEFAULT_MAX_CALLQUEUE_SIZE = 1024 * 1024 * 1024;<a name="line.186"></a>
 <span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  private static final String WARN_DELAYED_CALLS = "hbase.ipc.warn.delayedrpc.number";<a name="line.188"></a>
+<span class="sourceLineNo">188</span>  private final IPCUtil ipcUtil;<a name="line.188"></a>
 <span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>  private static final int DEFAULT_WARN_DELAYED_CALLS = 1000;<a name="line.190"></a>
-<span class="sourceLineNo">191</span><a name="line.191"></a>
-<span class="sourceLineNo">192</span>  private final int warnDelayedCalls;<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>  private AtomicInteger delayedCalls;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  private final IPCUtil ipcUtil;<a name="line.195"></a>
+<span class="sourceLineNo">190</span>  private static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  private static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  private static final Log AUDITLOG = LogFactory.getLog("SecurityLogger." +<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    Server.class.getName());<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  protected ServiceAuthorizationManager authManager;<a name="line.195"></a>
 <span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  private static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private static final Log AUDITLOG = LogFactory.getLog("SecurityLogger." +<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    Server.class.getName());<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  protected ServiceAuthorizationManager authManager;<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   * after the call returns.<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   */<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  protected static final ThreadLocal&lt;Call&gt; CurCall = new ThreadLocal&lt;Call&gt;();<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      = new ThreadLocal&lt;MonitoredRPCHandler&gt;();<a name="line.211"></a>
-<span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  protected final InetSocketAddress bindAddress;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  protected int port;                             // port we listen on<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  protected InetSocketAddress address;            // inet address we listen on<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  private int readThreads;                        // number of read threads<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  protected int maxIdleTime;                      // the maximum idle time after<a name="line.217"></a>
-<span class="sourceLineNo">218</span>                                                  // which a client may be<a name="line.218"></a>
-<span class="sourceLineNo">219</span>                                                  // disconnected<a name="line.219"></a>
-<span class="sourceLineNo">220</span>  protected int thresholdIdleConnections;         // the number of idle<a name="line.220"></a>
-<span class="sourceLineNo">221</span>                                                  // connections after which we<a name="line.221"></a>
-<span class="sourceLineNo">222</span>                                                  // will start cleaning up idle<a name="line.222"></a>
-<span class="sourceLineNo">223</span>                                                  // connections<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  int maxConnectionsToNuke;                       // the max number of<a name="line.224"></a>
-<span class="sourceLineNo">225</span>                                                  // connections to nuke<a name="line.225"></a>
-<span class="sourceLineNo">226</span>                                                  // during a cleanup<a name="line.226"></a>
-<span class="sourceLineNo">227</span><a name="line.227"></a>
-<span class="sourceLineNo">228</span>  protected MetricsHBaseServer metrics;<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>  protected final Configuration conf;<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  private int maxQueueSize;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  protected int socketSendBufferSize;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  protected final boolean tcpNoDelay;   // if T then disable Nagle's Algorithm<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  protected final long purgeTimeout;    // in milliseconds<a name="line.236"></a>
+<span class="sourceLineNo">197</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * after the call returns.<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   */<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  protected static final ThreadLocal&lt;Call&gt; CurCall = new ThreadLocal&lt;Call&gt;();<a name="line.200"></a>
+<span class="sourceLineNo">201</span><a name="line.201"></a>
+<span class="sourceLineNo">202</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      = new ThreadLocal&lt;MonitoredRPCHandler&gt;();<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected final InetSocketAddress bindAddress;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  protected int port;                             // port we listen on<a name="line.207"></a>
+<span class="sourceLineNo">208</span>  protected InetSocketAddress address;            // inet address we listen on<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  private int readThreads;                        // number of read threads<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  protected int maxIdleTime;                      // the maximum idle time after<a name="line.210"></a>
+<span class="sourceLineNo">211</span>                                                  // which a client may be<a name="line.211"></a>
+<span class="sourceLineNo">212</span>                                                  // disconnected<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  protected int thresholdIdleConnections;         // the number of idle<a name="line.213"></a>
+<span class="sourceLineNo">214</span>                                                  // connections after which we<a name="line.214"></a>
+<span class="sourceLineNo">215</span>                                                  // will start cleaning up idle<a name="line.215"></a>
+<span class="sourceLineNo">216</span>                                                  // connections<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  int maxConnectionsToNuke;                       // the max number of<a name="line.217"></a>
+<span class="sourceLineNo">218</span>                                                  // connections to nuke<a name="line.218"></a>
+<span class="sourceLineNo">219</span>                                                  // during a cleanup<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  protected MetricsHBaseServer metrics;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  protected final Configuration conf;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private int maxQueueSize;<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  protected int socketSendBufferSize;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  protected final boolean tcpNoDelay;   // if T then disable Nagle's Algorithm<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.228"></a>
+<span class="sourceLineNo">229</span>  protected final long purgeTimeout;    // in milliseconds<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>  /**<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   */<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  volatile boolean running = true;<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>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  volatile boolean running = true;<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>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * for business by the call to {@link #start()}.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  volatile boolean started = false;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * This is a running count of the size of all outstanding calls by size.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  protected final Counter callQueueSize = new Counter();<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  protected final List&lt;Connection&gt; connectionList =<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    Collections.synchronizedList(new LinkedList&lt;Connection&gt;());<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  //maintain a list<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  //of client connections<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  private Listener listener = null;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  protected Responder responder = null;<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  protected int numConnections = 0;<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.265"></a>
+<span class="sourceLineNo">239</span>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * for business by the call to {@link #start()}.<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   */<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  volatile boolean started = false;<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>   * This is a running count of the size of all outstanding calls by size.<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  protected final Counter callQueueSize = new Counter();<a name="line.247"></a>
+<span class="sourceLineNo">248</span><a name="line.248"></a>
+<span class="sourceLineNo">249</span>  protected final List&lt;Connection&gt; connectionList =<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    Collections.synchronizedList(new LinkedList&lt;Connection&gt;());<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  //maintain a list<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  //of client connections<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  private Listener listener = null;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  protected Responder responder = null;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  protected int numConnections = 0;<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  private static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  private static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.261"></a>
+<span class="sourceLineNo">262</span><a name="line.262"></a>
+<span class="sourceLineNo">263</span>  /** Default value for above params */<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  private static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  private static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.265"></a>
 <span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>  private static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  private static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  /** Default value for above params */<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.272"></a>
+<span class="sourceLineNo">267</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>  private final int warnResponseTime;<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  private final int warnResponseSize;<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  private final Server server;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  private final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.272"></a>
 <span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.274"></a>
+<span class="sourceLineNo">274</span>  private final RpcScheduler scheduler;<a name="line.274"></a>
 <span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>  private final int warnResponseTime;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private final int warnResponseSize;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  private final Server server;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  private final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private final RpcScheduler scheduler;<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  private UserProvider userProvider;<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  private final BoundedByteBufferPool reservoir;<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  private volatile boolean allowFallbackToSimpleAuth;<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  /**<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   * Datastructure that holds all necessary to a method invocation and then afterward, carries<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * the result.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   */<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  class Call implements RpcCallContext {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    protected int id;                             // the client's call id<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    protected BlockingService service;<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    protected MethodDescriptor md;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    protected RequestHeader header;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    protected Message param;                      // the parameter passed<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    // Optional cell data passed outside of protobufs.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected CellScanner cellScanner;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    protected Connection connection;              // connection to client<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    protected long timestamp;      // the time received when response is null<a name="line.302"></a>
-<span class="sourceLineNo">303</span>                                   // the time served when response is not null<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    /**<a name="line.304"></a>
-<span class="sourceLineNo">305</span>     * Chain of buffers to send as response.<a name="line.305"></a>
-<span class="sourceLineNo">306</span>     */<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    protected BufferChain response;<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    protected boolean delayResponse;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    protected Responder responder;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    protected boolean delayReturnValue;           // if the return value should be<a name="line.310"></a>
-<span class="sourceLineNo">311</span>                                                  // set at call completion<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    protected long size;                          // size of current call<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    protected boolean isError;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    protected TraceInfo tinfo;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    private ByteBuffer cellBlock = null;<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    private User user;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    private InetAddress remoteAddress;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    private RpcCallback callback;<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>    private long responseCellSize = 0;<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    private long responseBlockSize = 0;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    private boolean retryImmediatelySupported;<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        justification="Can't figure why this complaint is happening... see below")<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    Call(int id, final BlockingService service, final MethodDescriptor md, RequestHeader header,<a name="line.327"></a>
-<span class="sourceLineNo">328</span>         Message param, CellScanner cellScanner, Connection connection, Responder responder,<a name="line.328"></a>
-<span class="sourceLineNo">329</span>         long size, TraceInfo tinfo, final InetAddress remoteAddress) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      this.id = id;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      this.service = service;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      this.md = md;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      this.header = header;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      this.param = param;<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      this.cellScanner = cellScanner;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      this.connection = connection;<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      this.timestamp = System.currentTimeMillis();<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      this.response = null;<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      this.delayResponse = false;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      this.responder = responder;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      this.isError = false;<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      this.size = size;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      this.tinfo = tinfo;<a name="line.343"></a>
-<span class="sourceLineNo">344</span>      this.user = connection == null? null: connection.user; // FindBugs: NP_NULL_ON_SOME_PATH<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      this.remoteAddress = remoteAddress;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      this.retryImmediatelySupported =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>          connection == null? null: connection.retryImmediatelySupported;<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>     * Call is done. Execution happened and we returned results to client. It is now safe to<a name="line.351"></a>
-<span class="sourceLineNo">352</span>     * cleanup.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>     */<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IS2_INCONSISTENT_SYNC",<a name="line.354"></a>
-<span class="sourceLineNo">355</span>        justification="Presume the lock on processing request held by caller is protection enough")<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    void done() {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      if (this.cellBlock != null &amp;&amp; reservoir != null) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>        // Return buffer to reservoir now we are done with it.<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        reservoir.putBuffer(this.cellBlock);<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        this.cellBlock = null;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      }<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      this.connection.decRpcCount();  // Say that we're done with this call.<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    }<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>    @Override<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    public String toString() {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      return toShortString() + " param: " +<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        (this.param != null? ProtobufUtil.getShortTextFormat(this.param): "") +<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        " connection: " + connection.toString();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    protected RequestHeader getHeader() {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      return this.header;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    }<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>    /*<a name="line.376"></a>
-<span class="sourceLineNo">377</span>     * Short string representation without param info because param itself could be huge depends on<a name="line.377"></a>
-<span class="sourceLineNo">378</span>     * the payload of a command<a name="line.378"></a>
-<span class="sourceLineNo">379</span>     */<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    String toShortString() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      String serviceName = this.connection.service != null ?<a name="line.381"></a>
-<span class="sourceLineNo">382</span>          this.connection.service.getDescriptorForType().getName() : "null";<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      return "callId: " + this.id + " service: " + serviceName +<a name="line.383"></a>
-<span class="sourceLineNo">384</span>          " methodName: " + ((this.md != null) ? this.md.getName() : "n/a") +<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          " size: " + StringUtils.TraditionalBinaryPrefix.long2String(this.size, "", 1) +<a name="line.385"></a>
-<span class="sourceLineNo">386</span>          " connection: " + connection.toString();<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    String toTraceString() {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      String serviceName = this.connection.service != null ?<a name="line.390"></a>
-<span class="sourceLineNo">391</span>                           this.connection.service.getDescriptorForType().getName() : "";<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      String methodName = (this.md != null) ? this.md.getName() : "";<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      return serviceName + "." + methodName;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>    protected synchronized void setSaslTokenResponse(ByteBuffer response) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      this.response = new BufferChain(response);<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>    protected synchronized void setResponse(Object m, final CellScanner cells,<a name="line.400"></a>
-<span class="sourceLineNo">401</span>        Throwable t, String errorMsg) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      if (this.isError) return;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      if (t != null) this.isError = true;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      BufferChain bc = null;<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      try {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>        ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        // Presume it a pb Message.  Could be null.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        Message result = (Message)m;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        // Call id.<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        headerBuilder.setCallId(this.id);<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        if (t != null) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>          ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();<a name="line.412"></a>
-<span class="sourceLineNo">413</span>          exceptionBuilder.setExceptionClassName(t.getClass().getName());<a name="line.413"></a>
-<span class="sourceLineNo">414</span>          exceptionBuilder.setStackTrace(errorMsg);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>          exceptionBuilder.setDoNotRetry(t instanceof DoNotRetryIOException);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          if (t instanceof RegionMovedException) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>            // Special casing for this exception.  This is only one carrying a payload.<a name="line.417"></a>
-<span class="sourceLineNo">418</span>            // Do this instead of build a generic system for allowing exceptions carry<a name="line.418"></a>
-<span class="sourceLineNo">419</span>            // any kind of payload.<a name="line.419"></a>
-<span class="sourceLineNo">420</span>            RegionMovedException rme = (RegionMovedException)t;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>            exceptionBuilder.setHostname(rme.getHostname());<a name="line.421"></a>
-<span class="sourceLineNo">422</span>            exceptionBuilder.setPort(rme.getPort());<a name="line.422"></a>
-<span class="sourceLineNo">423</span>          }<a name="line.423"></a>
-<span class="sourceLineNo">424</span>          // Set the exception as the result of the method invocation.<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          headerBuilder.setException(exceptionBuilder.build());<a name="line.425"></a>
-<span class="sourceLineNo">426</span>        }<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        // Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        // reservoir when finished. This is hacky and the hack is not contained but benefits are<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        // high when we can avoid a big buffer allocation on each rpc.<a name="line.429"></a>
-<span class="sourceLineNo">430</span>        this.cellBlock = ipcUtil.buildCellBlock(this.connection.codec,<a name="line.430"></a>
-<span class="sourceLineNo">431</span>          this.connection.compressionCodec, cells, reservoir);<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        if (this.cellBlock != null) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>          CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          // Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.<a name="line.434"></a>
-<span class="sourceLineNo">435</span>          cellBlockBuilder.setLength(this.cellBlock.limit());<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          headerBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        }<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        Message header = headerBuilder.build();<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>        // Organize the response as a set of bytebuffers rather than collect it all together inside<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        // one big byte array; save on allocations.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>        ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);<a name="line.442"></a>
-<span class="sourceLineNo">443</span>        ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);<a name="line.443"></a>
-<span class="sourceLineNo">444</span>        int totalSize = bbHeader.capacity() + (bbResult == null? 0: bbResult.limit()) +<a name="line.444"></a>
-<span class="sourceLineNo">445</span>          (this.cellBlock == null? 0: this.cellBlock.limit());<a name="line.445"></a>
-<span class="sourceLineNo">446</span>        ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));<a name="line.446"></a>
-<span class="sourceLineNo">447</span>        bc = new BufferChain(bbTotalSize, bbHeader, bbResult, this.cellBlock);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        if (connection.useWrap) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>          bc = wrapWithSasl(bc);<a name="line.449"></a>
-<span class="sourceLineNo">450</span>        }<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      } catch (IOException e) {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        LOG.warn("Exception while creating response " + e);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      }<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      this.response = bc;<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      // Once a response message is created and set to this.response, this Call can be treated as<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      // done. The Responder thread will do the n/w write of this message back to client.<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      if (this.callback != null) {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        try {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          this.callback.run();<a name="line.459"></a>
-<span class="sourceLineNo">460</span>        } catch (Exception e) {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          // Don't allow any exception here to kill this handler thread.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>          LOG.warn("Exception while running the Rpc Callback.", e);<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>    }<a name="line.465"></a>
-<span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span>    private BufferChain wrapWithSasl(BufferChain bc)<a name="line.467"></a>
-<span class="sourceLineNo">468</span>        throws IOException {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      if (!this.connection.useSasl) return bc;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      // Looks like no way around this; saslserver wants a byte array.  I have to make it one.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      // THIS IS A BIG UGLY COPY.<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      byte [] responseBytes = bc.getBytes();<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      byte [] token;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      // synchronization may be needed since there can be multiple Handler<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      // threads using saslServer to wrap responses.<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      synchronized (connection.saslServer) {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (LOG.isTraceEnabled()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        LOG.trace("Adding saslServer wrapped token of size " + token.length<a name="line.480"></a>
-<span class="sourceLineNo">481</span>            + " as call response.");<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      }<a name="line.482"></a>
+<span class="sourceLineNo">276</span>  private UserProvider userProvider;<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  private final BoundedByteBufferPool reservoir;<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>  private volatile boolean allowFallbackToSimpleAuth;<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * Datastructure that holds all necessary to a method invocation and then afterward, carries<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * the result.<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   */<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  class Call implements RpcCallContext {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    protected int id;                             // the client's call id<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    protected BlockingService service;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    protected MethodDescriptor md;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    protected RequestHeader header;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    protected Message param;                      // the parameter passed<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    // Optional cell data passed outside of protobufs.<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    protected CellScanner cellScanner;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    protected Connection connection;              // connection to client<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    protected long timestamp;      // the time received when response is null<a name="line.295"></a>
+<span class="sourceLineNo">296</span>                                   // the time served when response is not null<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    /**<a name="line.297"></a>
+<span class="sourceLineNo">298</span>     * Chain of buffers to send as response.<a name="line.298"></a>
+<span class="sourceLineNo">299</span>     */<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    protected BufferChain response;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    protected Responder responder;<a name="line.301"></a>
+<span class="sourceLineNo">302</span><a name="line.302"></a>
+<span class="sourceLineNo">303</span>    protected long size;                          // size of current call<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    protected boolean isError;<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    protected TraceInfo tinfo;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    private ByteBuffer cellBlock = null;<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>    private User user;<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    private InetAddress remoteAddress;<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    private RpcCallback callback;<a name="line.310"></a>
+<span class="sourceLineNo">311</span><a name="line.311"></a>
+<span class="sourceLineNo">312</span>    private long responseCellSize = 0;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    private long responseBlockSize = 0;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    private boolean retryImmediatelySupported;<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.316"></a>
+<span class="sourceLineNo">317</span>        justification="Can't figure why this complaint is happening... see below")<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    Call(int id, final BlockingService service, final MethodDescriptor md, RequestHeader header,<a name="line.318"></a>
+<span class="sourceLineNo">319</span>         Message param, CellScanner cellScanner, Connection connection, Responder responder,<a name="line.319"></a>
+<span class="sourceLineNo">320</span>         long size, TraceInfo tinfo, final InetAddress remoteAddress) {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      this.id = id;<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      this.service = service;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      this.md = md;<a name="line.323"></a>
+<span class="sourceLineNo">324</span>      this.header = header;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      this.param = param;<a name="line.325"></a>
+<span class="sourceLineNo">326</span>      this.cellScanner = cellScanner;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      this.connection = connection;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>      this.timestamp = System.currentTimeMillis();<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      this.response = null;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      this.responder = responder;<a name="line.330"></a>
+<span class="sourceLineNo">331</span>      this.isError = false;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      this.size = size;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      this.tinfo = tinfo;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      this.user = connection == null? null: connection.user; // FindBugs: NP_NULL_ON_SOME_PATH<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      this.remoteAddress = remoteAddress;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      this.retryImmediatelySupported =<a name="line.336"></a>
+<span class="sourceLineNo">337</span>          connection == null? null: connection.retryImmediatelySupported;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span>    /**<a name="line.340"></a>
+<span class="sourceLineNo">341</span>     * Call is done. Execution happened and we returned results to client. It is now safe to<a name="line.341"></a>
+<span class="sourceLineNo">342</span>     * cleanup.<a name="line.342"></a>
+<span class="sourceLineNo">343</span>     */<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IS2_INCONSISTENT_SYNC",<a name="line.344"></a>
+<span class="sourceLineNo">345</span>        justification="Presume the lock on processing request held by caller is protection enough")<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    void done() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      if (this.cellBlock != null &amp;&amp; reservoir != null) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>        // Return buffer to reservoir now we are done with it.<a name="line.348"></a>
+<span class="sourceLineNo">349</span>        reservoir.putBuffer(this.cellBlock);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>        this.cellBlock = null;<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      }<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      this.connection.decRpcCount();  // Say that we're done with this call.<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    }<a name="line.353"></a>
+<span class="sourceLineNo">354</span><a name="line.354"></a>
+<span class="sourceLineNo">355</span>    @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    public String toString() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>      return toShortString() + " param: " +<a name="line.357"></a>
+<span class="sourceLineNo">358</span>        (this.param != null? ProtobufUtil.getShortTextFormat(this.param): "") +<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        " connection: " + connection.toString();<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    }<a name="line.360"></a>
+<span class="sourceLineNo">361</span><a name="line.361"></a>
+<span class="sourceLineNo">362</span>    protected RequestHeader getHeader() {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>      return this.header;<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>     * Short string representation without param info because param itself could be huge depends on<a name="line.367"></a>
+<span class="sourceLineNo">368</span>     * the payload of a command<a name="line.368"></a>
+<span class="sourceLineNo">369</span>     */<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    String toShortString() {<a name="line.370"></a>
+<span class="sourceLineNo">371</span>      String serviceName = this.connection.service != null ?<a name="line.371"></a>
+<span class="sourceLineNo">372</span>          this.connection.service.getDescriptorForType().getName() : "null";<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      return "callId: " + this.id + " service: " + serviceName +<a name="line.373"></a>
+<span class="sourceLineNo">374</span>          " methodName: " + ((this.md != null) ? this.md.getName() : "n/a") +<a name="line.374"></a>
+<span class="sourceLineNo">375</span>          " size: " + StringUtils.TraditionalBinaryPrefix.long2String(this.size, "", 1) +<a name="line.375"></a>
+<span class="sourceLineNo">376</span>          " connection: " + connection.toString();<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    String toTraceString() {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      String serviceName = this.connection.service != null ?<a name="line.380"></a>
+<span class="sourceLineNo">381</span>                           this.connection.service.getDescriptorForType().getName() : "";<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      String methodName = (this.md != null) ? this.md.getName() : "";<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      return serviceName + "." + methodName;<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>    protected synchronized void setSaslTokenResponse(ByteBuffer response) {<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      this.response = new BufferChain(response);<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    }<a name="line.388"></a>
+<span class="sourceLineNo">389</span><a name="line.389"></a>
+<span class="sourceLineNo">390</span>    protected synchronized void setResponse(Object m, final CellScanner cells,<a name="line.390"></a>
+<span class="sourceLineNo">391</span>        Throwable t, String errorMsg) {<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      if (this.isError) return;<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      if (t != null) this.isError = true;<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      BufferChain bc = null;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>      try {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>        ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();<a name="line.396"></a>
+<span class="sourceLineNo">397</span>        // Presume it a pb Message.  Could be null.<a name="line.397"></a>
+<span class="sourceLineNo">398</span>        Message result = (Message)m;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>        // Call id.<a name="line.399"></a>
+<span class="sourceLineNo">400</span>        headerBuilder.setCallId(this.id);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>        if (t != null) {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>          ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();<a name="line.402"></a>
+<span class="sourceLineNo">403</span>          exceptionBuilder.setExceptionClassName(t.getClass().getName());<a name="line.403"></a>
+<span class="sourceLineNo">404</span>          exceptionBuilder.setStackTrace(errorMsg);<a name="line.404"></a>
+<span class="sourceLineNo">405</span>          exceptionBuilder.setDoNotRetry(t instanceof DoNotRetryIOException);<a name="line.405"></a>
+<span class="sourceLineNo">406</span>          if (t instanceof RegionMovedException) {<a name="line.406"></a>
+<span class="sourceLineNo">407</span>            // Special casing for this exception.  This is only one carrying a payload.<a name="line.407"></a>
+<span class="sourceLineNo">408</span>            // Do this instead of build a generic system for allowing exceptions carry<a name="line.408"></a>
+<span class="sourceLineNo">409</span>            // any kind of payload.<a name="line.409"></a>
+<span class="sourceLineNo">410</span>            RegionMovedException rme = (RegionMovedException)t;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>            exceptionBuilder.setHostname(rme.getHostname());<a name="line.411"></a>
+<span class="sourceLineNo">412</span>            exceptionBuilder.setPort(rme.getPort());<a name="line.412"></a>
+<span class="sourceLineNo">413</span>          }<a name="line.413"></a>
+<span class="sourceLineNo">414</span>          // Set the exception as the result of the method invocation.<a name="line.414"></a>
+<span class="sourceLineNo">415</span>          headerBuilder.setException(exceptionBuilder.build());<a name="line.415"></a>
+<span class="sourceLineNo">416</span>        }<a name="line.416"></a>
+<span class="sourceLineNo">417</span>        // Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the<a name="line.417"></a>
+<span class="sourceLineNo">418</span>        // reservoir when finished. This is hacky and the hack is not contained but benefits are<a name="line.418"></a>
+<span class="sourceLineNo">419</span>        // high when we can avoid a big buffer allocation on each rpc.<a name="line.419"></a>
+<span class="sourceLineNo">420</span>        this.cellBlock = ipcUtil.buildCellBlock(this.connection.codec,<a name="line.420"></a>
+<span class="sourceLineNo">421</span>          this.connection.compressionCodec, cells, reservoir);<a name="line.421"></a>
+<span class="sourceLineNo">422</span>        if (this.cellBlock != null) {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>          CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();<a name="line.423"></a>
+<span class="sourceLineNo">424</span>          // Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.<a name="line.424"></a>
+<span class="sourceLineNo">425</span>          cellBlockBuilder.setLength(this.cellBlock.limit());<a name="line.425"></a>
+<span class="sourceLineNo">426</span>          headerBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.426"></a>
+<span class="sourceLineNo">427</span>        }<a name="line.427"></a>
+<span class="sourceLineNo">428</span>        Message header = headerBuilder.build();<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>        // Organize the response as a set of bytebuffers rather than collect it all together inside<a name="line.430"></a>
+<span class="sourceLineNo">431</span>        // one big byte array; save on allocations.<a name="line.431"></a>
+<span class="sourceLineNo">432</span>        ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);<a name="line.432"></a>
+<span class="sourceLineNo">433</span>        ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        int totalSize = bbHeader.capacity() + (bbResult == null? 0: bbResult.limit()) +<a name="line.434"></a>
+<span class="sourceLineNo">435</span>          (this.cellBlock == null? 0: this.cellBlock.limit());<a name="line.435"></a>
+<span class="sourceLineNo">436</span>        ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));<a name="line.436"></a>
+<span class="sourceLineNo">437</span>        bc = new BufferChain(bbTotalSize, bbHeader, bbResult, this.cellBlock);<a name="line.437"></a>
+<span class="sourceLineNo">438</span>        if (connection.useWrap) {<a name="line.438"></a>
+<span class="sourceLineNo">439</span>          bc = wrapWithSasl(bc);<a name="line.439"></a>
+<span class="sourceLineNo">440</span>        }<a name="line.440"></a>
+<span class="sourceLineNo">441</span>      } catch (IOException e) {<a name="line.441"></a>
+<span class="sourceLineNo">442</span>        LOG.warn("Exception while creating response " + e);<a name="line.442"></a>
+<span class="sourceLineNo">443</span>      }<a name="line.443"></a>
+<span class="sourceLineNo">444</span>      this.response = bc;<a name="line.444"></a>
+<span class="sourceLineNo">445</span>      // Once a response message is created and set to this.response, this Call can be treated as<a name="line.445"></a>
+<span class="sourceLineNo">446</span>      // done. The Responder thread will do the n/w write of this message back to client.<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      if (this.callback != null) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>        try {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>          this.callback.run();<a name="line.449"></a>
+<span class="sourceLineNo">450</span>        } catch (Exception e) {<a name="line.450"></a>
+<span class="sourceLineNo">451</span>          // Don't allow any exception here to kill this handler thread.<a name="line.451"></a>
+<span class="sourceLineNo">452</span>          LOG.warn("Exception while running the Rpc Callback.", 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>    }<a name="line.455"></a>
+<span class="sourceLineNo">456</span><a name="line.456"></a>
+<span class="sourceLineNo">457</span>    private BufferChain wrapWithSasl(BufferChain bc)<a name="line.457"></a>
+<span class="sourceLineNo">458</span>        throws IOException {<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      if (!this.connection.useSasl) return bc;<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      // Looks like no way around this; saslserver wants a byte array.  I have to make it one.<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      // THIS IS A BIG UGLY COPY.<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      byte [] responseBytes = bc.getBytes();<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      byte [] token;<a name="line.463"></a>
+<span class="sourceLineNo">464</span>      // synchronization may be needed since there can be multiple Handler<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      // threads using saslServer to wrap responses.<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      synchronized (connection.saslServer) {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>        token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);<a name="line.467"></a>
+<span class="sourceLineNo">468</span>      }<a name="line.468"></a>
+<span class="sourceLineNo">469</span>      if (LOG.isTraceEnabled()) {<a name="line.469"></a>
+<span class="sourceLineNo">470</span>        LOG.trace("Adding saslServer wrapped token of size " + token.length<a name="line.470"></a>
+<span class="sourceLineNo">471</span>            + " as call response.");<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      }<a name="line.472"></a>
+<span class="sourceLineNo">473</span><a name="line.473"></a>
+<span class="sourceLineNo">474</span>      ByteBuffer bbTokenLength = ByteBuffer.wrap(Bytes.toBytes(token.length));<a name="line.474"></a>
+<span class="sourceLineNo">475</span>      ByteBuffer bbTokenBytes = ByteBuffer.wrap(token);<a name="line.475"></a>
+<span class="sourceLineNo">476</span>      return new BufferChain(bbTokenLength, bbTokenBytes);<a name="line.476"></a>
+<span class="sourceLineNo">477</span>    }<a name="line.477"></a>
+<span class="sourceLineNo">478</span><a name="line.478"></a>
+<span class="sourceLineNo">479</span>    @Override<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    public boolean isClientCellBlockSupported() {<a name="line.480"></a>
+<span class="sourceLineNo">481</span>      return this.connection != null &amp;&amp; this.connection.codec != null;<a name="line.481"></a>
+<span class="sourceLineNo">482</span>    }<a name="line.482"></a>
 <span class="sourceLineNo">483</span><a name="line.483"></a>
-<span class="sourceLineNo">484</span>      ByteBuffer bbTokenLength = ByteBuffer.wrap(Bytes.toBytes(token.length));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      ByteBuffer bbTokenBytes = ByteBuffer.wrap(token);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>      return new BufferChain(bbTokenLength, bbTokenBytes);<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>    @Override<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    public synchronized void endDelay(Object result) throws IOException {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      assert this.delayResponse;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      assert this.delayReturnValue || result == null;<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      this.delayResponse = false;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      delayedCalls.decrementAndGet();<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      if (this.delayReturnValue) {<a name="line.495"></a>
-<span class="sourceLineNo">496</span>        this.setResponse(result, null, null, null);<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      }<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      this.responder.doRespond(this);<a name="line.498"></a>
+<span class="sourceLineNo">484</span>    @Override<a name="line.484"></a>
+<span class="sourceLineNo">485</span>    public long disconnectSince() {<a name="line.485"></a>
+<span class="sourceLineNo">486</span>      if (!connection.channel.isOpen()) {<a name="line.486"></a>
+<span class="sourceLineNo">487</span>        return System.currentTimeMillis() - timestamp;<a name="line.487"></a>
+<span class="sourceLineNo">488</span>      } else {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>        return -1L;<a name="line.489"></a>
+<span class="sourceLineNo">490</span>      }<a name="line.490"></a>
+<span class="sourceLineNo">491</span>    }<a name="line.491"></a>
+<span class="sourceLineNo">492</span><a name="line.492"></a>
+<span class="sourceLineNo">493</span>    public long getSize() {<a name="line.493"></a>
+<span class="sourceLineNo">494</span>      return this.size;<a name="line.494"></a>
+<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
+<span class="sourceLineNo">496</span><a name="line.496"></a>
+<span class="sourceLineNo">497</span>    public long getResponseCellSize() {<a name="line.497"></a>
+<span class="sourceLineNo">498</span>      return responseCellSize;<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>    @Override<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    public synchronized void endDelay() throws IOException {<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      this.endDelay(null);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    }<a name="line.504"></a>
-<span class="sourceLineNo">505</span><a name="line.505"></a>
-<span class="sourceLineNo">506</span>    @Override<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    public synchronized void startDelay(boolean delayReturnValue) {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      assert !this.delayResponse;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      this.delayResponse = true;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      this.delayReturnValue = delayReturnValue;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      int numDelayed = delayedCalls.incrementAndGet();<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      if (numDelayed &gt; warnDelayedCalls) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        LOG.warn("Too many delayed calls: limit " + warnDelayedCalls + " current " + numDelayed);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    }<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>    @Override<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    public synchronized void endDelayThrowing(Throwable t) throws IOException {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      this.setResponse(null, null, t, StringUtils.stringifyException(t));<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      this.delayResponse = false;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      this.sendResponseIfReady();<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    }<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    @Override<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    public synchronized boolean isDelayed() {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>      return this.delayResponse;<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    }<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    public synchronized boolean isReturnValueDelayed() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      return this.delayReturnValue;<a name="line.531"></a>
+<span class="sourceLineNo">501</span>    public void incrementResponseCellSize(long cellSize) {<a name="line.501"></a>
+<span class="sourceLineNo">502</span>      responseCellSize += cellSize;<a name="line.502"></a>
+<span class="sourceLineNo">503</span>    }<a name="line.503"></a>
+<span class="sourceLineNo">504</span><a name="line.504"></a>
+<span class="sourceLineNo">505</span>    @Override<a name="line.505"></a>
+<span class="sourceLineNo">506</span>    public long getResponseBlockSize() {<a name="line.506"></a>
+<span class="sourceLineNo">507</span>      return responseBlockSize;<a name="line.507"></a>
+<span class="sourceLineNo">508</span>    }<a name="line.508"></a>
+<span class="sourceLineNo">509</span><a name="line.509"></a>
+<span class="sourceLineNo">510</span>    @Override<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    public void incrementResponseBlockSize(long blockSize) {<a name="line.511"></a>
+<span class="sourceLineNo">512</span>      responseBlockSize += blockSize;<a name="line.512"></a>
+<span class="sourceLineNo">513</span>    }<a name="line.513"></a>
+<span class="sourceLineNo">514</span><a name="line.514"></a>
+<span class="sourceLineNo">515</span>    public synchronized void sendResponseIfReady() throws IOException {<a name="line.515"></a>
+<span class="sourceLineNo">516</span>      this.responder.doRespond(this);<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>    public UserGroupInformation getRemoteUser() {<a name="line.519"></a>
+<span class="sourceLineNo">520</span>      return connection.ugi;<a name="line.520"></a>
+<span class="sourceLineNo">521</span>    }<a name="line.521"></a>
+<span class="sourceLineNo">522</span><a name="line.522"></a>
+<span class="sourceLineNo">523</span>    @Override<a name="line.523"></a>
+<span class="sourceLineNo">524</span>    public User getRequestUser() {<a name="line.524"></a>
+<span class="sourceLineNo">525</span>      return user;<a name="line.525"></a>
+<span class="sourceLineNo">526</span>    }<a name="line.526"></a>
+<span class="sourceLineNo">527</span><a name="line.527"></a>
+<span class="sourceLineNo">528</span>    @Override<a name="line.528"></a>
+<span class="sourceLineNo">529</span>    public String getRequestUserName() {<a name="line.529"></a>
+<span class="sourceLineNo">530</span>      User user = getRequestUser();<a name="line.530"></a>
+<span class="sourceLineNo">531</span>      return user == null? null: user.getShortName();<a name="line.531"></a>
 <span class="sourceLineNo">532</span>    }<a name="line.532"></a>
 <span class="sourceLineNo">533</span><a name="line.533"></a>
 <span class="sourceLineNo">534</span>    @Override<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    public boolean isClientCellBlockSupported() {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      return this.connection != null &amp;&amp; this.connection.codec != null;<a name="line.536"></a>
+<span class="sourceLineNo">535</span>    public InetAddress getRemoteAddress() {<a name="line.535"></a>
+<span class="sourceLineNo">536</span>      return remoteAddress;<a name="line.536"></a>
 <span class="sourceLineNo">537</span>    }<a name="line.537"></a>
 <span class="sourceLineNo">538</span><a name="line.538"></a>
 <span class="sourceLineNo">539</span>    @Override<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    public long disconnectSince() {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      if (!connection.channel.isOpen()) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        return System.currentTimeMillis() - timestamp;<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      } else {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>        return -1L;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      }<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>    public long getSize() {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      return this.size;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    }<a name="line.550"></a>
-<span class="sourceLineNo">551</span><a name="line.551"></a>
-<span class="sourceLineNo">552</span>    public long getResponseCellSize() {<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      return responseCellSize;<a name="line.553"></a>
-<span class="sourceLineNo">554</span>    }<a name="line.554"></a>
-<span class="sourceLineNo">555</span><a name="line.555"></a>
-<span class="sourceLineNo">556</span>    public void incrementResponseCellSize(long cellSize) {<a name="line.556"></a>
-<span class="sourceLineNo">557</span>      responseCellSize += cellSize;<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    }<a name="line.558"></a>
-<span class="sourceLineNo">559</span><a name="line.559"></a>
-<span class="sourceLineNo">560</span>    @Override<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    public long getResponseBlockSize() {<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      return responseBlockSize;<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span><a name="line.564"></a>
-<span class="sourceLineNo">565</span>    @Override<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    public void incrementResponseBlockSize(long blockSize) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      responseBlockSize += blockSize;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    /**<a name="line.570"></a>
-<span class="sourceLineNo">571</span>     * If we have a response, and delay is not set, then respond<a name="line.571"></a>
-<span class="sourceLineNo">572</span>     * immediately.  Otherwise, do not respond to client.  This is<a name="line.572"></a>
-<span class="sourceLineNo">573</span>     * called by the RPC code in the context of the Handler thread.<a name="line.573"></a>
-<span class="sourceLineNo">574</span>     */<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    public synchronized void sendResponseIfReady() throws IOException {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      if (!this.delayResponse) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        this.responder.doRespond(this);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    }<a name="line.579"></a>
-<span class="sourceLineNo">580</span><a name="line.580"></a>
-<span class="sourceLineNo">581</span>    public UserGroupInformation getRemoteUser() {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      return connection.ugi;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
+<span class="sourceLineNo">540</span>    public VersionInfo getClientVersionInfo() {<a name="line.540"></a>
+<span class="sourceLineNo">541</span>      return connection.getVersionInfo();<a name="line.541"></a>
+<span class="sourceLineNo">542</span>    }<a name="line.542"></a>
+<span class="sourceLineNo">543</span><a name="line.543"></a>
+<span class="sourceLineNo">544</span>    @Override<a name="line.544"></a>
+<span class="sourceLineNo">545</span>    public synchronized void setCallBack(RpcCallback callback) {<a name="line.545"></a>
+<span class="sourceLineNo">546</span>      this.callback = callback;<a name="line.546"></a>
+<span class="sourceLineNo">547</span>    }<a name="line.547"></a>
+<span class="sourceLineNo">548</span><a name="line.548"></a>
+<span class="sourceLineNo">549</span>    @Override<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    public boolean isRetryImmediatelySupported() {<a name="line.550"></a>
+<span class="sourceLineNo">551</span>      return retryImmediatelySupported;<a name="line.551"></a>
+<span class="sourceLineNo">552</span>    }<a name="line.552"></a>
+<span class="sourceLineNo">553</span>  }<a name="line.553"></a>
+<span class="sourceLineNo">554</span><a name="line.554"></a>
+<span class="sourceLineNo">555</span>  /** Listens on the socket. Creates jobs for the handler threads*/<a name="line.555"></a>
+<span class="sourceLineNo">556</span>  private class Listener extends Thread {<a name="line.556"></a>
+<span class="sourceLineNo">557</span><a name="line.557"></a>
+<span class="sourceLineNo">558</span>    private ServerSocketChannel acceptChannel = null; //the accept channel<a name="line.558"></a>
+<span class="sourceLineNo">559</span>    private Selector selector = null; //the selector that we use for the server<a name="line.559"></a>
+<span class="sourceLineNo">560</span>    private Reader[] readers = null;<a name="line.560"></a>
+<span class="sourceLineNo">561</span>    private int currentReader = 0;<a name="line.561"></a>
+<span class="sourceLineNo">562</span>    private Random rand = new Random();<a name="line.562"></a>
+<span class="sourceLineNo">563</span>    private long lastCleanupRunTime = 0; //the last time when a cleanup connec-<a name="line.563"></a>
+<span class="sourceLineNo">564</span>                                         //-tion (for idle connections) ran<a name="line.564"></a>
+<span class="sourceLineNo">565</span>    private long cleanupInterval = 10000; //the minimum interval between<a name="line.565"></a>
+<span class="sourceLineNo">566</span>                                          //two cleanup runs<a name="line.566"></a>
+<span class="sourceLineNo">567</span>    private int backlogLength;<a name="line.567"></a>
+<span class="sourceLineNo">568</span><a name="line.568"></a>
+<span class="sourceLineNo">569</span>    private ExecutorService readPool;<a name="line.569"></a>
+<span class="sourceLineNo">570</span><a name="line.570"></a>
+<span class="sourceLineNo">571</span>    public Listener(final String name) throws IOException {<a name="line.571"></a>
+<span class="sourceLineNo">572</span>      super(name);<a name="line.572"></a>
+<span class="sourceLineNo">573</span>      backlogLength = conf.getInt("hbase.ipc.server.listen.queue.size", 128);<a name="line.573"></a>
+<span class="sourceLineNo">574</span>      // Create a new server socket and set to non blocking mode<a name="line.574"></a>
+<span class="sourceLineNo">575</span>      acceptChannel = ServerSocketChannel.open();<a name="line.575"></a>
+<span class="sourceLineNo">576</span>      acceptChannel.configureBlocking(false);<a name="line.576"></a>
+<span class="sourceLineNo">577</span><a name="line.577"></a>
+<span class="sourceLineNo">578</span>      // Bind the server socket to the binding addrees (can be different from the default interface)<a name="line.578"></a>
+<span class="sourceLineNo">579</span>      bind(acceptChannel.socket(), bindAddress, backlogLength);<a name="line.579"></a>
+<span class="sourceLineNo">580</span>      port = acceptChannel.socket().getLocalPort(); //Could be an ephemeral port<a name="line.580"></a>
+<span class="sourceLineNo">581</span>      address = (InetSocketAddress)acceptChannel.socket().getLocalSocketAddress();<a name="line.581"></a>
+<span class="sourceLineNo">582</span>      // create a selector;<a name="line.582"></a>
+<span class="sourceLineNo">583</span>      selector= Selector.open();<a name="line.583"></a>
 <span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    @Override<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    public User getRequestUser() {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      return user;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>    @Override<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    public String getRequestUserName() {<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      User user = getRequestUser();<a name="line.592"></a>
-<span class="sourceLineNo">593</span>      return user == null? null: user.getShortName();<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    }<a name="line.594"></a>
-<span class="sourceLineNo">595</span><a name="line.595"></a>
-<span class="sourceLineNo">596</span>    @Override<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    public InetAddress getRemoteAddress() {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      return remoteAddress;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    }<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>    @Override<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    public VersionInfo getClientVersionInfo() {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>      return connection.getVersionInfo();<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    }<a name="line.604"></a>
-<span class="sourceLineNo">605</span><a name="line.605"></a>
-<span class="sourceLineNo">606</span>    @Override<a name="line.606"></a>
-<span class="sourceLineNo">607</span>    public synchronized void setCallBack(RpcCallback callback) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.callback = callback;<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>    @Override<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    public boolean isRetryImmediatelySupported() {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>      return retryImmediatelySupported;<a name="line.613"></a>
-<span class="sourceLineNo">614</span>    }<a name="line.614"></a>
-<span class="sourceLineNo">615</span>  }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>  /** Listens on the socket. Creates jobs for the handler threads*/<a name="line.617"></a>
-<span class="sourceLineNo">618</span>  private class Listener extends Thread {<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span>    private ServerSocketChannel acceptChannel = null; //the accept channel<a name="line.620"></a>
-<span class="sourceLineNo">621</span>    private Selector selector = null; //the selector that we use for the server<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    private Reader[] readers = null;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    private int currentReader = 0;<a name="line.623"></a>
-<span class="sourceLineNo">624</span>    private Random rand = new Random();<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    private long lastCleanupRunTime = 0; //the last time when a cleanup connec-<a name="line.625"></a>
-<span class="sourceLineNo">626</span>                                         //-tion (for idle connections) ran<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    private long cleanupInterval = 10000; //the minimum interval between<a name="line.627"></a>
-<span class="sourceLineNo">628</span>                                          //two cleanup runs<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    private int backlogLength;<a name="line.629"></a>
-<span class="sourceLineNo">630</span><a name="line.630"></a>
-<span class="sourceLineNo">631</span>    private ExecutorService readPool;<a name="line.631"></a>
-<span class="sourceLineNo">632</span><a name="line.632"></a>
-<span class="sourceLineNo">633</span>    public Listener(final String name) throws IOException {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      super(name);<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      backlogLength = conf.getInt("hbase.ipc.server.listen.queue.size", 128);<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      // Create a new server socket and set to non blocking mode<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      acceptChannel = ServerSocketChannel.open();<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      acceptChannel.configureBlocking(false);<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>      // Bind the server socket to the binding addrees (can be different from the default interface)<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      bind(acceptChannel.socket(), bindAddress, backlogLength);<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      port = acceptChannel.socket().getLocalPort(); //Could be an ephemeral port<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      address = (InetSocketAddress)acceptChannel.socket().getLocalSocketAddress();<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      // create a selector;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      selector= Selector.open();<a name="line.645"></a>
-<span class="sourceLineNo">646</span><a name="line.646"></a>
-<span class="sourceLineNo">647</span>      readers = new Reader[readThreads];<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      readPool = Executors.newFixedThreadPool(readThreads,<a name="line.648"></a>
-<span class="sourceLineNo">649</span>        new ThreadFactoryBuilder().setNameFormat(<a name="line.649"></a>
-<span class="sourceLineNo">650</span>          "RpcServer.reader=%d,bindAddress=" + bindAddress.getHostName() +<a name="line.650"></a>
-<span class="sourceLineNo">651</span>          ",port=" + port).setDaemon(true).build());<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      for (int i = 0; i &lt; readThreads; ++i) {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        Reader reader = new Reader();<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        readers[i] = reader;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        readPool.execute(reader);<a name="line.655"></a>
-<span class="sourceLineNo">656</span>      }<a name="line.656"></a>
-<span class="sourceLineNo">657</span>      LOG.info(getName() + ": started " + readThreads + " reader(s) listening on port=" + port);<a name="line.657"></a>
-<span class="sourceLineNo">658</span><a name="line.658"></a>
-<span class="sourceLineNo">659</span>      // Register accepts on the server socket with the selector.<a name="line.659"></a>
-<span class="sourceLineNo">660</span>      acceptChannel.register(selector, SelectionKey.OP_ACCEPT);<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      this.setName("RpcServer.listener,port=" + port);<a name="line.661"></a>
-<span class="sourceLineNo">662</span>      this.setDaemon(true);<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    }<a name="line.663"></a>
-<span class="sourceLineNo">664</span><a name="line.664"></a>
-<span class="sourceLineNo">665</span><a name="line.665"></a>
-<span class="sourceLineNo">666</span>    private class Reader implements Runnable {<a name="line.666"></a>
-<span class="sourceLineNo">667</span>      private volatile boolean adding = false;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>      private final Selector readSelector;<a name="line.668"></a>
-<span class="sourceLineNo">669</span><a name="line.669"></a>
-<span class="sourceLineNo">670</span>      Reader() throws IOException {<a name="line.670"></a>
-<span class="sourceLineNo">671</span>        this.readSelector = Selector.open();<a name="line.671"></a>
-<span class="sourceLineNo">672</span>      }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      @Override<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      public void run() {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        try {<a name="line.675"></a>
-<span class="sourceLineNo">676</span>          doRunLoop();<a name="line.676"></a>
-<span class="sourceLineNo">677</span>        } finally {<a name="line.677"></a>
-<span class="sourceLineNo">678</span>          try {<a name="line.678"></a>
-<span class="sourceLineNo">679</span>            readSelector.close();<a name="line.679"></a>
-<span class="sourceLineNo">680</span>          } catch (IOException ioe) {<a name="line.680"></a>
-<span class="sourceLineNo">681</span>            LOG.error(getName() + ": error closing read selector in " + getName(), ioe);<a name="line.681"></a>
-<span class="sourceLineNo">682</span>          }<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        }<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      }<a name="line.684"></a>
-<span class="sourceLineNo">685</span><a name="line.685"></a>
-<span class="sourceLineNo">686</span>      privat

<TRUNCATED>

[22/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 4975851..bf27873 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
@@ -193,2475 +193,2411 @@
 <span class="sourceLineNo">185</span>   */<a name="line.185"></a>
 <span class="sourceLineNo">186</span>  private static final int DEFAULT_MAX_CALLQUEUE_SIZE = 1024 * 1024 * 1024;<a name="line.186"></a>
 <span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  private static final String WARN_DELAYED_CALLS = "hbase.ipc.warn.delayedrpc.number";<a name="line.188"></a>
+<span class="sourceLineNo">188</span>  private final IPCUtil ipcUtil;<a name="line.188"></a>
 <span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>  private static final int DEFAULT_WARN_DELAYED_CALLS = 1000;<a name="line.190"></a>
-<span class="sourceLineNo">191</span><a name="line.191"></a>
-<span class="sourceLineNo">192</span>  private final int warnDelayedCalls;<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>  private AtomicInteger delayedCalls;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  private final IPCUtil ipcUtil;<a name="line.195"></a>
+<span class="sourceLineNo">190</span>  private static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  private static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  private static final Log AUDITLOG = LogFactory.getLog("SecurityLogger." +<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    Server.class.getName());<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  protected ServiceAuthorizationManager authManager;<a name="line.195"></a>
 <span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  private static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private static final Log AUDITLOG = LogFactory.getLog("SecurityLogger." +<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    Server.class.getName());<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  protected ServiceAuthorizationManager authManager;<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   * after the call returns.<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   */<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  protected static final ThreadLocal&lt;Call&gt; CurCall = new ThreadLocal&lt;Call&gt;();<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      = new ThreadLocal&lt;MonitoredRPCHandler&gt;();<a name="line.211"></a>
-<span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  protected final InetSocketAddress bindAddress;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  protected int port;                             // port we listen on<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  protected InetSocketAddress address;            // inet address we listen on<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  private int readThreads;                        // number of read threads<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  protected int maxIdleTime;                      // the maximum idle time after<a name="line.217"></a>
-<span class="sourceLineNo">218</span>                                                  // which a client may be<a name="line.218"></a>
-<span class="sourceLineNo">219</span>                                                  // disconnected<a name="line.219"></a>
-<span class="sourceLineNo">220</span>  protected int thresholdIdleConnections;         // the number of idle<a name="line.220"></a>
-<span class="sourceLineNo">221</span>                                                  // connections after which we<a name="line.221"></a>
-<span class="sourceLineNo">222</span>                                                  // will start cleaning up idle<a name="line.222"></a>
-<span class="sourceLineNo">223</span>                                                  // connections<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  int maxConnectionsToNuke;                       // the max number of<a name="line.224"></a>
-<span class="sourceLineNo">225</span>                                                  // connections to nuke<a name="line.225"></a>
-<span class="sourceLineNo">226</span>                                                  // during a cleanup<a name="line.226"></a>
-<span class="sourceLineNo">227</span><a name="line.227"></a>
-<span class="sourceLineNo">228</span>  protected MetricsHBaseServer metrics;<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>  protected final Configuration conf;<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  private int maxQueueSize;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  protected int socketSendBufferSize;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  protected final boolean tcpNoDelay;   // if T then disable Nagle's Algorithm<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  protected final long purgeTimeout;    // in milliseconds<a name="line.236"></a>
+<span class="sourceLineNo">197</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * after the call returns.<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   */<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  protected static final ThreadLocal&lt;Call&gt; CurCall = new ThreadLocal&lt;Call&gt;();<a name="line.200"></a>
+<span class="sourceLineNo">201</span><a name="line.201"></a>
+<span class="sourceLineNo">202</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      = new ThreadLocal&lt;MonitoredRPCHandler&gt;();<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected final InetSocketAddress bindAddress;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  protected int port;                             // port we listen on<a name="line.207"></a>
+<span class="sourceLineNo">208</span>  protected InetSocketAddress address;            // inet address we listen on<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  private int readThreads;                        // number of read threads<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  protected int maxIdleTime;                      // the maximum idle time after<a name="line.210"></a>
+<span class="sourceLineNo">211</span>                                                  // which a client may be<a name="line.211"></a>
+<span class="sourceLineNo">212</span>                                                  // disconnected<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  protected int thresholdIdleConnections;         // the number of idle<a name="line.213"></a>
+<span class="sourceLineNo">214</span>                                                  // connections after which we<a name="line.214"></a>
+<span class="sourceLineNo">215</span>                                                  // will start cleaning up idle<a name="line.215"></a>
+<span class="sourceLineNo">216</span>                                                  // connections<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  int maxConnectionsToNuke;                       // the max number of<a name="line.217"></a>
+<span class="sourceLineNo">218</span>                                                  // connections to nuke<a name="line.218"></a>
+<span class="sourceLineNo">219</span>                                                  // during a cleanup<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  protected MetricsHBaseServer metrics;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  protected final Configuration conf;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private int maxQueueSize;<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  protected int socketSendBufferSize;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  protected final boolean tcpNoDelay;   // if T then disable Nagle's Algorithm<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.228"></a>
+<span class="sourceLineNo">229</span>  protected final long purgeTimeout;    // in milliseconds<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>  /**<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   */<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  volatile boolean running = true;<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>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  volatile boolean running = true;<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>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * for business by the call to {@link #start()}.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  volatile boolean started = false;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * This is a running count of the size of all outstanding calls by size.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  protected final Counter callQueueSize = new Counter();<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  protected final List&lt;Connection&gt; connectionList =<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    Collections.synchronizedList(new LinkedList&lt;Connection&gt;());<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  //maintain a list<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  //of client connections<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  private Listener listener = null;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  protected Responder responder = null;<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  protected int numConnections = 0;<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.265"></a>
+<span class="sourceLineNo">239</span>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * for business by the call to {@link #start()}.<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   */<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  volatile boolean started = false;<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>   * This is a running count of the size of all outstanding calls by size.<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  protected final Counter callQueueSize = new Counter();<a name="line.247"></a>
+<span class="sourceLineNo">248</span><a name="line.248"></a>
+<span class="sourceLineNo">249</span>  protected final List&lt;Connection&gt; connectionList =<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    Collections.synchronizedList(new LinkedList&lt;Connection&gt;());<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  //maintain a list<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  //of client connections<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  private Listener listener = null;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  protected Responder responder = null;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  protected int numConnections = 0;<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  private static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  private static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.261"></a>
+<span class="sourceLineNo">262</span><a name="line.262"></a>
+<span class="sourceLineNo">263</span>  /** Default value for above params */<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  private static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  private static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.265"></a>
 <span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>  private static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  private static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  /** Default value for above params */<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.272"></a>
+<span class="sourceLineNo">267</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>  private final int warnResponseTime;<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  private final int warnResponseSize;<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  private final Server server;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  private final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.272"></a>
 <span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.274"></a>
+<span class="sourceLineNo">274</span>  private final RpcScheduler scheduler;<a name="line.274"></a>
 <span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>  private final int warnResponseTime;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private final int warnResponseSize;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  private final Server server;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  private final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private final RpcScheduler scheduler;<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  private UserProvider userProvider;<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  private final BoundedByteBufferPool reservoir;<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  private volatile boolean allowFallbackToSimpleAuth;<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  /**<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   * Datastructure that holds all necessary to a method invocation and then afterward, carries<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * the result.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   */<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  class Call implements RpcCallContext {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    protected int id;                             // the client's call id<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    protected BlockingService service;<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    protected MethodDescriptor md;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    protected RequestHeader header;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    protected Message param;                      // the parameter passed<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    // Optional cell data passed outside of protobufs.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected CellScanner cellScanner;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    protected Connection connection;              // connection to client<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    protected long timestamp;      // the time received when response is null<a name="line.302"></a>
-<span class="sourceLineNo">303</span>                                   // the time served when response is not null<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    /**<a name="line.304"></a>
-<span class="sourceLineNo">305</span>     * Chain of buffers to send as response.<a name="line.305"></a>
-<span class="sourceLineNo">306</span>     */<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    protected BufferChain response;<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    protected boolean delayResponse;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    protected Responder responder;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    protected boolean delayReturnValue;           // if the return value should be<a name="line.310"></a>
-<span class="sourceLineNo">311</span>                                                  // set at call completion<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    protected long size;                          // size of current call<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    protected boolean isError;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    protected TraceInfo tinfo;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    private ByteBuffer cellBlock = null;<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    private User user;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    private InetAddress remoteAddress;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    private RpcCallback callback;<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>    private long responseCellSize = 0;<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    private long responseBlockSize = 0;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    private boolean retryImmediatelySupported;<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        justification="Can't figure why this complaint is happening... see below")<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    Call(int id, final BlockingService service, final MethodDescriptor md, RequestHeader header,<a name="line.327"></a>
-<span class="sourceLineNo">328</span>         Message param, CellScanner cellScanner, Connection connection, Responder responder,<a name="line.328"></a>
-<span class="sourceLineNo">329</span>         long size, TraceInfo tinfo, final InetAddress remoteAddress) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      this.id = id;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      this.service = service;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      this.md = md;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      this.header = header;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      this.param = param;<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      this.cellScanner = cellScanner;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      this.connection = connection;<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      this.timestamp = System.currentTimeMillis();<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      this.response = null;<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      this.delayResponse = false;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      this.responder = responder;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      this.isError = false;<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      this.size = size;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      this.tinfo = tinfo;<a name="line.343"></a>
-<span class="sourceLineNo">344</span>      this.user = connection == null? null: connection.user; // FindBugs: NP_NULL_ON_SOME_PATH<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      this.remoteAddress = remoteAddress;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      this.retryImmediatelySupported =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>          connection == null? null: connection.retryImmediatelySupported;<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>     * Call is done. Execution happened and we returned results to client. It is now safe to<a name="line.351"></a>
-<span class="sourceLineNo">352</span>     * cleanup.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>     */<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IS2_INCONSISTENT_SYNC",<a name="line.354"></a>
-<span class="sourceLineNo">355</span>        justification="Presume the lock on processing request held by caller is protection enough")<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    void done() {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      if (this.cellBlock != null &amp;&amp; reservoir != null) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>        // Return buffer to reservoir now we are done with it.<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        reservoir.putBuffer(this.cellBlock);<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        this.cellBlock = null;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      }<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      this.connection.decRpcCount();  // Say that we're done with this call.<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    }<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>    @Override<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    public String toString() {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      return toShortString() + " param: " +<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        (this.param != null? ProtobufUtil.getShortTextFormat(this.param): "") +<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        " connection: " + connection.toString();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    protected RequestHeader getHeader() {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      return this.header;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    }<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>    /*<a name="line.376"></a>
-<span class="sourceLineNo">377</span>     * Short string representation without param info because param itself could be huge depends on<a name="line.377"></a>
-<span class="sourceLineNo">378</span>     * the payload of a command<a name="line.378"></a>
-<span class="sourceLineNo">379</span>     */<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    String toShortString() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      String serviceName = this.connection.service != null ?<a name="line.381"></a>
-<span class="sourceLineNo">382</span>          this.connection.service.getDescriptorForType().getName() : "null";<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      return "callId: " + this.id + " service: " + serviceName +<a name="line.383"></a>
-<span class="sourceLineNo">384</span>          " methodName: " + ((this.md != null) ? this.md.getName() : "n/a") +<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          " size: " + StringUtils.TraditionalBinaryPrefix.long2String(this.size, "", 1) +<a name="line.385"></a>
-<span class="sourceLineNo">386</span>          " connection: " + connection.toString();<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    String toTraceString() {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      String serviceName = this.connection.service != null ?<a name="line.390"></a>
-<span class="sourceLineNo">391</span>                           this.connection.service.getDescriptorForType().getName() : "";<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      String methodName = (this.md != null) ? this.md.getName() : "";<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      return serviceName + "." + methodName;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>    protected synchronized void setSaslTokenResponse(ByteBuffer response) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      this.response = new BufferChain(response);<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>    protected synchronized void setResponse(Object m, final CellScanner cells,<a name="line.400"></a>
-<span class="sourceLineNo">401</span>        Throwable t, String errorMsg) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      if (this.isError) return;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      if (t != null) this.isError = true;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      BufferChain bc = null;<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      try {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>        ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        // Presume it a pb Message.  Could be null.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        Message result = (Message)m;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        // Call id.<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        headerBuilder.setCallId(this.id);<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        if (t != null) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>          ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();<a name="line.412"></a>
-<span class="sourceLineNo">413</span>          exceptionBuilder.setExceptionClassName(t.getClass().getName());<a name="line.413"></a>
-<span class="sourceLineNo">414</span>          exceptionBuilder.setStackTrace(errorMsg);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>          exceptionBuilder.setDoNotRetry(t instanceof DoNotRetryIOException);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          if (t instanceof RegionMovedException) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>            // Special casing for this exception.  This is only one carrying a payload.<a name="line.417"></a>
-<span class="sourceLineNo">418</span>            // Do this instead of build a generic system for allowing exceptions carry<a name="line.418"></a>
-<span class="sourceLineNo">419</span>            // any kind of payload.<a name="line.419"></a>
-<span class="sourceLineNo">420</span>            RegionMovedException rme = (RegionMovedException)t;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>            exceptionBuilder.setHostname(rme.getHostname());<a name="line.421"></a>
-<span class="sourceLineNo">422</span>            exceptionBuilder.setPort(rme.getPort());<a name="line.422"></a>
-<span class="sourceLineNo">423</span>          }<a name="line.423"></a>
-<span class="sourceLineNo">424</span>          // Set the exception as the result of the method invocation.<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          headerBuilder.setException(exceptionBuilder.build());<a name="line.425"></a>
-<span class="sourceLineNo">426</span>        }<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        // Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        // reservoir when finished. This is hacky and the hack is not contained but benefits are<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        // high when we can avoid a big buffer allocation on each rpc.<a name="line.429"></a>
-<span class="sourceLineNo">430</span>        this.cellBlock = ipcUtil.buildCellBlock(this.connection.codec,<a name="line.430"></a>
-<span class="sourceLineNo">431</span>          this.connection.compressionCodec, cells, reservoir);<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        if (this.cellBlock != null) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>          CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          // Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.<a name="line.434"></a>
-<span class="sourceLineNo">435</span>          cellBlockBuilder.setLength(this.cellBlock.limit());<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          headerBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        }<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        Message header = headerBuilder.build();<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>        // Organize the response as a set of bytebuffers rather than collect it all together inside<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        // one big byte array; save on allocations.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>        ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);<a name="line.442"></a>
-<span class="sourceLineNo">443</span>        ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);<a name="line.443"></a>
-<span class="sourceLineNo">444</span>        int totalSize = bbHeader.capacity() + (bbResult == null? 0: bbResult.limit()) +<a name="line.444"></a>
-<span class="sourceLineNo">445</span>          (this.cellBlock == null? 0: this.cellBlock.limit());<a name="line.445"></a>
-<span class="sourceLineNo">446</span>        ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));<a name="line.446"></a>
-<span class="sourceLineNo">447</span>        bc = new BufferChain(bbTotalSize, bbHeader, bbResult, this.cellBlock);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        if (connection.useWrap) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>          bc = wrapWithSasl(bc);<a name="line.449"></a>
-<span class="sourceLineNo">450</span>        }<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      } catch (IOException e) {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        LOG.warn("Exception while creating response " + e);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      }<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      this.response = bc;<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      // Once a response message is created and set to this.response, this Call can be treated as<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      // done. The Responder thread will do the n/w write of this message back to client.<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      if (this.callback != null) {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        try {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          this.callback.run();<a name="line.459"></a>
-<span class="sourceLineNo">460</span>        } catch (Exception e) {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          // Don't allow any exception here to kill this handler thread.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>          LOG.warn("Exception while running the Rpc Callback.", e);<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>    }<a name="line.465"></a>
-<span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span>    private BufferChain wrapWithSasl(BufferChain bc)<a name="line.467"></a>
-<span class="sourceLineNo">468</span>        throws IOException {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      if (!this.connection.useSasl) return bc;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      // Looks like no way around this; saslserver wants a byte array.  I have to make it one.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      // THIS IS A BIG UGLY COPY.<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      byte [] responseBytes = bc.getBytes();<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      byte [] token;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      // synchronization may be needed since there can be multiple Handler<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      // threads using saslServer to wrap responses.<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      synchronized (connection.saslServer) {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (LOG.isTraceEnabled()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        LOG.trace("Adding saslServer wrapped token of size " + token.length<a name="line.480"></a>
-<span class="sourceLineNo">481</span>            + " as call response.");<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      }<a name="line.482"></a>
+<span class="sourceLineNo">276</span>  private UserProvider userProvider;<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  private final BoundedByteBufferPool reservoir;<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>  private volatile boolean allowFallbackToSimpleAuth;<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * Datastructure that holds all necessary to a method invocation and then afterward, carries<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * the result.<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   */<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  class Call implements RpcCallContext {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    protected int id;                             // the client's call id<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    protected BlockingService service;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    protected MethodDescriptor md;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    protected RequestHeader header;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    protected Message param;                      // the parameter passed<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    // Optional cell data passed outside of protobufs.<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    protected CellScanner cellScanner;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    protected Connection connection;              // connection to client<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    protected long timestamp;      // the time received when response is null<a name="line.295"></a>
+<span class="sourceLineNo">296</span>                                   // the time served when response is not null<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    /**<a name="line.297"></a>
+<span class="sourceLineNo">298</span>     * Chain of buffers to send as response.<a name="line.298"></a>
+<span class="sourceLineNo">299</span>     */<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    protected BufferChain response;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    protected Responder responder;<a name="line.301"></a>
+<span class="sourceLineNo">302</span><a name="line.302"></a>
+<span class="sourceLineNo">303</span>    protected long size;                          // size of current call<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    protected boolean isError;<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    protected TraceInfo tinfo;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    private ByteBuffer cellBlock = null;<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>    private User user;<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    private InetAddress remoteAddress;<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    private RpcCallback callback;<a name="line.310"></a>
+<span class="sourceLineNo">311</span><a name="line.311"></a>
+<span class="sourceLineNo">312</span>    private long responseCellSize = 0;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    private long responseBlockSize = 0;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    private boolean retryImmediatelySupported;<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.316"></a>
+<span class="sourceLineNo">317</span>        justification="Can't figure why this complaint is happening... see below")<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    Call(int id, final BlockingService service, final MethodDescriptor md, RequestHeader header,<a name="line.318"></a>
+<span class="sourceLineNo">319</span>         Message param, CellScanner cellScanner, Connection connection, Responder responder,<a name="line.319"></a>
+<span class="sourceLineNo">320</span>         long size, TraceInfo tinfo, final InetAddress remoteAddress) {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      this.id = id;<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      this.service = service;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      this.md = md;<a name="line.323"></a>
+<span class="sourceLineNo">324</span>      this.header = header;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      this.param = param;<a name="line.325"></a>
+<span class="sourceLineNo">326</span>      this.cellScanner = cellScanner;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      this.connection = connection;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>      this.timestamp = System.currentTimeMillis();<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      this.response = null;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      this.responder = responder;<a name="line.330"></a>
+<span class="sourceLineNo">331</span>      this.isError = false;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      this.size = size;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      this.tinfo = tinfo;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      this.user = connection == null? null: connection.user; // FindBugs: NP_NULL_ON_SOME_PATH<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      this.remoteAddress = remoteAddress;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      this.retryImmediatelySupported =<a name="line.336"></a>
+<span class="sourceLineNo">337</span>          connection == null? null: connection.retryImmediatelySupported;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span>    /**<a name="line.340"></a>
+<span class="sourceLineNo">341</span>     * Call is done. Execution happened and we returned results to client. It is now safe to<a name="line.341"></a>
+<span class="sourceLineNo">342</span>     * cleanup.<a name="line.342"></a>
+<span class="sourceLineNo">343</span>     */<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IS2_INCONSISTENT_SYNC",<a name="line.344"></a>
+<span class="sourceLineNo">345</span>        justification="Presume the lock on processing request held by caller is protection enough")<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    void done() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      if (this.cellBlock != null &amp;&amp; reservoir != null) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>        // Return buffer to reservoir now we are done with it.<a name="line.348"></a>
+<span class="sourceLineNo">349</span>        reservoir.putBuffer(this.cellBlock);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>        this.cellBlock = null;<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      }<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      this.connection.decRpcCount();  // Say that we're done with this call.<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    }<a name="line.353"></a>
+<span class="sourceLineNo">354</span><a name="line.354"></a>
+<span class="sourceLineNo">355</span>    @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    public String toString() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>      return toShortString() + " param: " +<a name="line.357"></a>
+<span class="sourceLineNo">358</span>        (this.param != null? ProtobufUtil.getShortTextFormat(this.param): "") +<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        " connection: " + connection.toString();<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    }<a name="line.360"></a>
+<span class="sourceLineNo">361</span><a name="line.361"></a>
+<span class="sourceLineNo">362</span>    protected RequestHeader getHeader() {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>      return this.header;<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>     * Short string representation without param info because param itself could be huge depends on<a name="line.367"></a>
+<span class="sourceLineNo">368</span>     * the payload of a command<a name="line.368"></a>
+<span class="sourceLineNo">369</span>     */<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    String toShortString() {<a name="line.370"></a>
+<span class="sourceLineNo">371</span>      String serviceName = this.connection.service != null ?<a name="line.371"></a>
+<span class="sourceLineNo">372</span>          this.connection.service.getDescriptorForType().getName() : "null";<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      return "callId: " + this.id + " service: " + serviceName +<a name="line.373"></a>
+<span class="sourceLineNo">374</span>          " methodName: " + ((this.md != null) ? this.md.getName() : "n/a") +<a name="line.374"></a>
+<span class="sourceLineNo">375</span>          " size: " + StringUtils.TraditionalBinaryPrefix.long2String(this.size, "", 1) +<a name="line.375"></a>
+<span class="sourceLineNo">376</span>          " connection: " + connection.toString();<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    String toTraceString() {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      String serviceName = this.connection.service != null ?<a name="line.380"></a>
+<span class="sourceLineNo">381</span>                           this.connection.service.getDescriptorForType().getName() : "";<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      String methodName = (this.md != null) ? this.md.getName() : "";<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      return serviceName + "." + methodName;<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>    protected synchronized void setSaslTokenResponse(ByteBuffer response) {<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      this.response = new BufferChain(response);<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    }<a name="line.388"></a>
+<span class="sourceLineNo">389</span><a name="line.389"></a>
+<span class="sourceLineNo">390</span>    protected synchronized void setResponse(Object m, final CellScanner cells,<a name="line.390"></a>
+<span class="sourceLineNo">391</span>        Throwable t, String errorMsg) {<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      if (this.isError) return;<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      if (t != null) this.isError = true;<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      BufferChain bc = null;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>      try {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>        ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();<a name="line.396"></a>
+<span class="sourceLineNo">397</span>        // Presume it a pb Message.  Could be null.<a name="line.397"></a>
+<span class="sourceLineNo">398</span>        Message result = (Message)m;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>        // Call id.<a name="line.399"></a>
+<span class="sourceLineNo">400</span>        headerBuilder.setCallId(this.id);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>        if (t != null) {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>          ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();<a name="line.402"></a>
+<span class="sourceLineNo">403</span>          exceptionBuilder.setExceptionClassName(t.getClass().getName());<a name="line.403"></a>
+<span class="sourceLineNo">404</span>          exceptionBuilder.setStackTrace(errorMsg);<a name="line.404"></a>
+<span class="sourceLineNo">405</span>          exceptionBuilder.setDoNotRetry(t instanceof DoNotRetryIOException);<a name="line.405"></a>
+<span class="sourceLineNo">406</span>          if (t instanceof RegionMovedException) {<a name="line.406"></a>
+<span class="sourceLineNo">407</span>            // Special casing for this exception.  This is only one carrying a payload.<a name="line.407"></a>
+<span class="sourceLineNo">408</span>            // Do this instead of build a generic system for allowing exceptions carry<a name="line.408"></a>
+<span class="sourceLineNo">409</span>            // any kind of payload.<a name="line.409"></a>
+<span class="sourceLineNo">410</span>            RegionMovedException rme = (RegionMovedException)t;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>            exceptionBuilder.setHostname(rme.getHostname());<a name="line.411"></a>
+<span class="sourceLineNo">412</span>            exceptionBuilder.setPort(rme.getPort());<a name="line.412"></a>
+<span class="sourceLineNo">413</span>          }<a name="line.413"></a>
+<span class="sourceLineNo">414</span>          // Set the exception as the result of the method invocation.<a name="line.414"></a>
+<span class="sourceLineNo">415</span>          headerBuilder.setException(exceptionBuilder.build());<a name="line.415"></a>
+<span class="sourceLineNo">416</span>        }<a name="line.416"></a>
+<span class="sourceLineNo">417</span>        // Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the<a name="line.417"></a>
+<span class="sourceLineNo">418</span>        // reservoir when finished. This is hacky and the hack is not contained but benefits are<a name="line.418"></a>
+<span class="sourceLineNo">419</span>        // high when we can avoid a big buffer allocation on each rpc.<a name="line.419"></a>
+<span class="sourceLineNo">420</span>        this.cellBlock = ipcUtil.buildCellBlock(this.connection.codec,<a name="line.420"></a>
+<span class="sourceLineNo">421</span>          this.connection.compressionCodec, cells, reservoir);<a name="line.421"></a>
+<span class="sourceLineNo">422</span>        if (this.cellBlock != null) {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>          CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();<a name="line.423"></a>
+<span class="sourceLineNo">424</span>          // Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.<a name="line.424"></a>
+<span class="sourceLineNo">425</span>          cellBlockBuilder.setLength(this.cellBlock.limit());<a name="line.425"></a>
+<span class="sourceLineNo">426</span>          headerBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.426"></a>
+<span class="sourceLineNo">427</span>        }<a name="line.427"></a>
+<span class="sourceLineNo">428</span>        Message header = headerBuilder.build();<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>        // Organize the response as a set of bytebuffers rather than collect it all together inside<a name="line.430"></a>
+<span class="sourceLineNo">431</span>        // one big byte array; save on allocations.<a name="line.431"></a>
+<span class="sourceLineNo">432</span>        ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);<a name="line.432"></a>
+<span class="sourceLineNo">433</span>        ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        int totalSize = bbHeader.capacity() + (bbResult == null? 0: bbResult.limit()) +<a name="line.434"></a>
+<span class="sourceLineNo">435</span>          (this.cellBlock == null? 0: this.cellBlock.limit());<a name="line.435"></a>
+<span class="sourceLineNo">436</span>        ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));<a name="line.436"></a>
+<span class="sourceLineNo">437</span>        bc = new BufferChain(bbTotalSize, bbHeader, bbResult, this.cellBlock);<a name="line.437"></a>
+<span class="sourceLineNo">438</span>        if (connection.useWrap) {<a name="line.438"></a>
+<span class="sourceLineNo">439</span>          bc = wrapWithSasl(bc);<a name="line.439"></a>
+<span class="sourceLineNo">440</span>        }<a name="line.440"></a>
+<span class="sourceLineNo">441</span>      } catch (IOException e) {<a name="line.441"></a>
+<span class="sourceLineNo">442</span>        LOG.warn("Exception while creating response " + e);<a name="line.442"></a>
+<span class="sourceLineNo">443</span>      }<a name="line.443"></a>
+<span class="sourceLineNo">444</span>      this.response = bc;<a name="line.444"></a>
+<span class="sourceLineNo">445</span>      // Once a response message is created and set to this.response, this Call can be treated as<a name="line.445"></a>
+<span class="sourceLineNo">446</span>      // done. The Responder thread will do the n/w write of this message back to client.<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      if (this.callback != null) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>        try {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>          this.callback.run();<a name="line.449"></a>
+<span class="sourceLineNo">450</span>        } catch (Exception e) {<a name="line.450"></a>
+<span class="sourceLineNo">451</span>          // Don't allow any exception here to kill this handler thread.<a name="line.451"></a>
+<span class="sourceLineNo">452</span>          LOG.warn("Exception while running the Rpc Callback.", 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>    }<a name="line.455"></a>
+<span class="sourceLineNo">456</span><a name="line.456"></a>
+<span class="sourceLineNo">457</span>    private BufferChain wrapWithSasl(BufferChain bc)<a name="line.457"></a>
+<span class="sourceLineNo">458</span>        throws IOException {<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      if (!this.connection.useSasl) return bc;<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      // Looks like no way around this; saslserver wants a byte array.  I have to make it one.<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      // THIS IS A BIG UGLY COPY.<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      byte [] responseBytes = bc.getBytes();<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      byte [] token;<a name="line.463"></a>
+<span class="sourceLineNo">464</span>      // synchronization may be needed since there can be multiple Handler<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      // threads using saslServer to wrap responses.<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      synchronized (connection.saslServer) {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>        token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);<a name="line.467"></a>
+<span class="sourceLineNo">468</span>      }<a name="line.468"></a>
+<span class="sourceLineNo">469</span>      if (LOG.isTraceEnabled()) {<a name="line.469"></a>
+<span class="sourceLineNo">470</span>        LOG.trace("Adding saslServer wrapped token of size " + token.length<a name="line.470"></a>
+<span class="sourceLineNo">471</span>            + " as call response.");<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      }<a name="line.472"></a>
+<span class="sourceLineNo">473</span><a name="line.473"></a>
+<span class="sourceLineNo">474</span>      ByteBuffer bbTokenLength = ByteBuffer.wrap(Bytes.toBytes(token.length));<a name="line.474"></a>
+<span class="sourceLineNo">475</span>      ByteBuffer bbTokenBytes = ByteBuffer.wrap(token);<a name="line.475"></a>
+<span class="sourceLineNo">476</span>      return new BufferChain(bbTokenLength, bbTokenBytes);<a name="line.476"></a>
+<span class="sourceLineNo">477</span>    }<a name="line.477"></a>
+<span class="sourceLineNo">478</span><a name="line.478"></a>
+<span class="sourceLineNo">479</span>    @Override<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    public boolean isClientCellBlockSupported() {<a name="line.480"></a>
+<span class="sourceLineNo">481</span>      return this.connection != null &amp;&amp; this.connection.codec != null;<a name="line.481"></a>
+<span class="sourceLineNo">482</span>    }<a name="line.482"></a>
 <span class="sourceLineNo">483</span><a name="line.483"></a>
-<span class="sourceLineNo">484</span>      ByteBuffer bbTokenLength = ByteBuffer.wrap(Bytes.toBytes(token.length));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      ByteBuffer bbTokenBytes = ByteBuffer.wrap(token);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>      return new BufferChain(bbTokenLength, bbTokenBytes);<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>    @Override<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    public synchronized void endDelay(Object result) throws IOException {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      assert this.delayResponse;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      assert this.delayReturnValue || result == null;<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      this.delayResponse = false;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      delayedCalls.decrementAndGet();<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      if (this.delayReturnValue) {<a name="line.495"></a>
-<span class="sourceLineNo">496</span>        this.setResponse(result, null, null, null);<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      }<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      this.responder.doRespond(this);<a name="line.498"></a>
+<span class="sourceLineNo">484</span>    @Override<a name="line.484"></a>
+<span class="sourceLineNo">485</span>    public long disconnectSince() {<a name="line.485"></a>
+<span class="sourceLineNo">486</span>      if (!connection.channel.isOpen()) {<a name="line.486"></a>
+<span class="sourceLineNo">487</span>        return System.currentTimeMillis() - timestamp;<a name="line.487"></a>
+<span class="sourceLineNo">488</span>      } else {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>        return -1L;<a name="line.489"></a>
+<span class="sourceLineNo">490</span>      }<a name="line.490"></a>
+<span class="sourceLineNo">491</span>    }<a name="line.491"></a>
+<span class="sourceLineNo">492</span><a name="line.492"></a>
+<span class="sourceLineNo">493</span>    public long getSize() {<a name="line.493"></a>
+<span class="sourceLineNo">494</span>      return this.size;<a name="line.494"></a>
+<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
+<span class="sourceLineNo">496</span><a name="line.496"></a>
+<span class="sourceLineNo">497</span>    public long getResponseCellSize() {<a name="line.497"></a>
+<span class="sourceLineNo">498</span>      return responseCellSize;<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>    @Override<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    public synchronized void endDelay() throws IOException {<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      this.endDelay(null);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    }<a name="line.504"></a>
-<span class="sourceLineNo">505</span><a name="line.505"></a>
-<span class="sourceLineNo">506</span>    @Override<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    public synchronized void startDelay(boolean delayReturnValue) {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      assert !this.delayResponse;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      this.delayResponse = true;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      this.delayReturnValue = delayReturnValue;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      int numDelayed = delayedCalls.incrementAndGet();<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      if (numDelayed &gt; warnDelayedCalls) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        LOG.warn("Too many delayed calls: limit " + warnDelayedCalls + " current " + numDelayed);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    }<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>    @Override<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    public synchronized void endDelayThrowing(Throwable t) throws IOException {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      this.setResponse(null, null, t, StringUtils.stringifyException(t));<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      this.delayResponse = false;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      this.sendResponseIfReady();<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    }<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    @Override<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    public synchronized boolean isDelayed() {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>      return this.delayResponse;<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    }<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    public synchronized boolean isReturnValueDelayed() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      return this.delayReturnValue;<a name="line.531"></a>
+<span class="sourceLineNo">501</span>    public void incrementResponseCellSize(long cellSize) {<a name="line.501"></a>
+<span class="sourceLineNo">502</span>      responseCellSize += cellSize;<a name="line.502"></a>
+<span class="sourceLineNo">503</span>    }<a name="line.503"></a>
+<span class="sourceLineNo">504</span><a name="line.504"></a>
+<span class="sourceLineNo">505</span>    @Override<a name="line.505"></a>
+<span class="sourceLineNo">506</span>    public long getResponseBlockSize() {<a name="line.506"></a>
+<span class="sourceLineNo">507</span>      return responseBlockSize;<a name="line.507"></a>
+<span class="sourceLineNo">508</span>    }<a name="line.508"></a>
+<span class="sourceLineNo">509</span><a name="line.509"></a>
+<span class="sourceLineNo">510</span>    @Override<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    public void incrementResponseBlockSize(long blockSize) {<a name="line.511"></a>
+<span class="sourceLineNo">512</span>      responseBlockSize += blockSize;<a name="line.512"></a>
+<span class="sourceLineNo">513</span>    }<a name="line.513"></a>
+<span class="sourceLineNo">514</span><a name="line.514"></a>
+<span class="sourceLineNo">515</span>    public synchronized void sendResponseIfReady() throws IOException {<a name="line.515"></a>
+<span class="sourceLineNo">516</span>      this.responder.doRespond(this);<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>    public UserGroupInformation getRemoteUser() {<a name="line.519"></a>
+<span class="sourceLineNo">520</span>      return connection.ugi;<a name="line.520"></a>
+<span class="sourceLineNo">521</span>    }<a name="line.521"></a>
+<span class="sourceLineNo">522</span><a name="line.522"></a>
+<span class="sourceLineNo">523</span>    @Override<a name="line.523"></a>
+<span class="sourceLineNo">524</span>    public User getRequestUser() {<a name="line.524"></a>
+<span class="sourceLineNo">525</span>      return user;<a name="line.525"></a>
+<span class="sourceLineNo">526</span>    }<a name="line.526"></a>
+<span class="sourceLineNo">527</span><a name="line.527"></a>
+<span class="sourceLineNo">528</span>    @Override<a name="line.528"></a>
+<span class="sourceLineNo">529</span>    public String getRequestUserName() {<a name="line.529"></a>
+<span class="sourceLineNo">530</span>      User user = getRequestUser();<a name="line.530"></a>
+<span class="sourceLineNo">531</span>      return user == null? null: user.getShortName();<a name="line.531"></a>
 <span class="sourceLineNo">532</span>    }<a name="line.532"></a>
 <span class="sourceLineNo">533</span><a name="line.533"></a>
 <span class="sourceLineNo">534</span>    @Override<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    public boolean isClientCellBlockSupported() {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      return this.connection != null &amp;&amp; this.connection.codec != null;<a name="line.536"></a>
+<span class="sourceLineNo">535</span>    public InetAddress getRemoteAddress() {<a name="line.535"></a>
+<span class="sourceLineNo">536</span>      return remoteAddress;<a name="line.536"></a>
 <span class="sourceLineNo">537</span>    }<a name="line.537"></a>
 <span class="sourceLineNo">538</span><a name="line.538"></a>
 <span class="sourceLineNo">539</span>    @Override<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    public long disconnectSince() {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      if (!connection.channel.isOpen()) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        return System.currentTimeMillis() - timestamp;<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      } else {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>        return -1L;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      }<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>    public long getSize() {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      return this.size;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    }<a name="line.550"></a>
-<span class="sourceLineNo">551</span><a name="line.551"></a>
-<span class="sourceLineNo">552</span>    public long getResponseCellSize() {<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      return responseCellSize;<a name="line.553"></a>
-<span class="sourceLineNo">554</span>    }<a name="line.554"></a>
-<span class="sourceLineNo">555</span><a name="line.555"></a>
-<span class="sourceLineNo">556</span>    public void incrementResponseCellSize(long cellSize) {<a name="line.556"></a>
-<span class="sourceLineNo">557</span>      responseCellSize += cellSize;<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    }<a name="line.558"></a>
-<span class="sourceLineNo">559</span><a name="line.559"></a>
-<span class="sourceLineNo">560</span>    @Override<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    public long getResponseBlockSize() {<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      return responseBlockSize;<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span><a name="line.564"></a>
-<span class="sourceLineNo">565</span>    @Override<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    public void incrementResponseBlockSize(long blockSize) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      responseBlockSize += blockSize;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    /**<a name="line.570"></a>
-<span class="sourceLineNo">571</span>     * If we have a response, and delay is not set, then respond<a name="line.571"></a>
-<span class="sourceLineNo">572</span>     * immediately.  Otherwise, do not respond to client.  This is<a name="line.572"></a>
-<span class="sourceLineNo">573</span>     * called by the RPC code in the context of the Handler thread.<a name="line.573"></a>
-<span class="sourceLineNo">574</span>     */<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    public synchronized void sendResponseIfReady() throws IOException {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      if (!this.delayResponse) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        this.responder.doRespond(this);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    }<a name="line.579"></a>
-<span class="sourceLineNo">580</span><a name="line.580"></a>
-<span class="sourceLineNo">581</span>    public UserGroupInformation getRemoteUser() {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      return connection.ugi;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
+<span class="sourceLineNo">540</span>    public VersionInfo getClientVersionInfo() {<a name="line.540"></a>
+<span class="sourceLineNo">541</span>      return connection.getVersionInfo();<a name="line.541"></a>
+<span class="sourceLineNo">542</span>    }<a name="line.542"></a>
+<span class="sourceLineNo">543</span><a name="line.543"></a>
+<span class="sourceLineNo">544</span>    @Override<a name="line.544"></a>
+<span class="sourceLineNo">545</span>    public synchronized void setCallBack(RpcCallback callback) {<a name="line.545"></a>
+<span class="sourceLineNo">546</span>      this.callback = callback;<a name="line.546"></a>
+<span class="sourceLineNo">547</span>    }<a name="line.547"></a>
+<span class="sourceLineNo">548</span><a name="line.548"></a>
+<span class="sourceLineNo">549</span>    @Override<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    public boolean isRetryImmediatelySupported() {<a name="line.550"></a>
+<span class="sourceLineNo">551</span>      return retryImmediatelySupported;<a name="line.551"></a>
+<span class="sourceLineNo">552</span>    }<a name="line.552"></a>
+<span class="sourceLineNo">553</span>  }<a name="line.553"></a>
+<span class="sourceLineNo">554</span><a name="line.554"></a>
+<span class="sourceLineNo">555</span>  /** Listens on the socket. Creates jobs for the handler threads*/<a name="line.555"></a>
+<span class="sourceLineNo">556</span>  private class Listener extends Thread {<a name="line.556"></a>
+<span class="sourceLineNo">557</span><a name="line.557"></a>
+<span class="sourceLineNo">558</span>    private ServerSocketChannel acceptChannel = null; //the accept channel<a name="line.558"></a>
+<span class="sourceLineNo">559</span>    private Selector selector = null; //the selector that we use for the server<a name="line.559"></a>
+<span class="sourceLineNo">560</span>    private Reader[] readers = null;<a name="line.560"></a>
+<span class="sourceLineNo">561</span>    private int currentReader = 0;<a name="line.561"></a>
+<span class="sourceLineNo">562</span>    private Random rand = new Random();<a name="line.562"></a>
+<span class="sourceLineNo">563</span>    private long lastCleanupRunTime = 0; //the last time when a cleanup connec-<a name="line.563"></a>
+<span class="sourceLineNo">564</span>                                         //-tion (for idle connections) ran<a name="line.564"></a>
+<span class="sourceLineNo">565</span>    private long cleanupInterval = 10000; //the minimum interval between<a name="line.565"></a>
+<span class="sourceLineNo">566</span>                                          //two cleanup runs<a name="line.566"></a>
+<span class="sourceLineNo">567</span>    private int backlogLength;<a name="line.567"></a>
+<span class="sourceLineNo">568</span><a name="line.568"></a>
+<span class="sourceLineNo">569</span>    private ExecutorService readPool;<a name="line.569"></a>
+<span class="sourceLineNo">570</span><a name="line.570"></a>
+<span class="sourceLineNo">571</span>    public Listener(final String name) throws IOException {<a name="line.571"></a>
+<span class="sourceLineNo">572</span>      super(name);<a name="line.572"></a>
+<span class="sourceLineNo">573</span>      backlogLength = conf.getInt("hbase.ipc.server.listen.queue.size", 128);<a name="line.573"></a>
+<span class="sourceLineNo">574</span>      // Create a new server socket and set to non blocking mode<a name="line.574"></a>
+<span class="sourceLineNo">575</span>      acceptChannel = ServerSocketChannel.open();<a name="line.575"></a>
+<span class="sourceLineNo">576</span>      acceptChannel.configureBlocking(false);<a name="line.576"></a>
+<span class="sourceLineNo">577</span><a name="line.577"></a>
+<span class="sourceLineNo">578</span>      // Bind the server socket to the binding addrees (can be different from the default interface)<a name="line.578"></a>
+<span class="sourceLineNo">579</span>      bind(acceptChannel.socket(), bindAddress, backlogLength);<a name="line.579"></a>
+<span class="sourceLineNo">580</span>      port = acceptChannel.socket().getLocalPort(); //Could be an ephemeral port<a name="line.580"></a>
+<span class="sourceLineNo">581</span>      address = (InetSocketAddress)acceptChannel.socket().getLocalSocketAddress();<a name="line.581"></a>
+<span class="sourceLineNo">582</span>      // create a selector;<a name="line.582"></a>
+<span class="sourceLineNo">583</span>      selector= Selector.open();<a name="line.583"></a>
 <span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    @Override<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    public User getRequestUser() {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      return user;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>    @Override<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    public String getRequestUserName() {<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      User user = getRequestUser();<a name="line.592"></a>
-<span class="sourceLineNo">593</span>      return user == null? null: user.getShortName();<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    }<a name="line.594"></a>
-<span class="sourceLineNo">595</span><a name="line.595"></a>
-<span class="sourceLineNo">596</span>    @Override<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    public InetAddress getRemoteAddress() {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      return remoteAddress;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    }<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>    @Override<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    public VersionInfo getClientVersionInfo() {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>      return connection.getVersionInfo();<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    }<a name="line.604"></a>
-<span class="sourceLineNo">605</span><a name="line.605"></a>
-<span class="sourceLineNo">606</span>    @Override<a name="line.606"></a>
-<span class="sourceLineNo">607</span>    public synchronized void setCallBack(RpcCallback callback) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.callback = callback;<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>    @Override<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    public boolean isRetryImmediatelySupported() {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>      return retryImmediatelySupported;<a name="line.613"></a>
-<span class="sourceLineNo">614</span>    }<a name="line.614"></a>
-<span class="sourceLineNo">615</span>  }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>  /** Listens on the socket. Creates jobs for the handler threads*/<a name="line.617"></a>
-<span class="sourceLineNo">618</span>  private class Listener extends Thread {<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span>    private ServerSocketChannel acceptChannel = null; //the accept channel<a name="line.620"></a>
-<span class="sourceLineNo">621</span>    private Selector selector = null; //the selector that we use for the server<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    private Reader[] readers = null;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    private int currentReader = 0;<a name="line.623"></a>
-<span class="sourceLineNo">624</span>    private Random rand = new Random();<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    private long lastCleanupRunTime = 0; //the last time when a cleanup connec-<a name="line.625"></a>
-<span class="sourceLineNo">626</span>                                         //-tion (for idle connections) ran<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    private long cleanupInterval = 10000; //the minimum interval between<a name="line.627"></a>
-<span class="sourceLineNo">628</span>                                          //two cleanup runs<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    private int backlogLength;<a name="line.629"></a>
-<span class="sourceLineNo">630</span><a name="line.630"></a>
-<span class="sourceLineNo">631</span>    private ExecutorService readPool;<a name="line.631"></a>
-<span class="sourceLineNo">632</span><a name="line.632"></a>
-<span class="sourceLineNo">633</span>    public Listener(final String name) throws IOException {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      super(name);<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      backlogLength = conf.getInt("hbase.ipc.server.listen.queue.size", 128);<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      // Create a new server socket and set to non blocking mode<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      acceptChannel = ServerSocketChannel.open();<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      acceptChannel.configureBlocking(false);<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>      // Bind the server socket to the binding addrees (can be different from the default interface)<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      bind(acceptChannel.socket(), bindAddress, backlogLength);<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      port = acceptChannel.socket().getLocalPort(); //Could be an ephemeral port<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      address = (InetSocketAddress)acceptChannel.socket().getLocalSocketAddress();<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      // create a selector;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      selector= Selector.open();<a name="line.645"></a>
-<span class="sourceLineNo">646</span><a name="line.646"></a>
-<span class="sourceLineNo">647</span>      readers = new Reader[readThreads];<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      readPool = Executors.newFixedThreadPool(readThreads,<a name="line.648"></a>
-<span class="sourceLineNo">649</span>        new ThreadFactoryBuilder().setNameFormat(<a name="line.649"></a>
-<span class="sourceLineNo">650</span>          "RpcServer.reader=%d,bindAddress=" + bindAddress.getHostName() +<a name="line.650"></a>
-<span class="sourceLineNo">651</span>          ",port=" + port).setDaemon(true).build());<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      for (int i = 0; i &lt; readThreads; ++i) {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        Reader reader = new Reader();<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        readers[i] = reader;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        readPool.execute(reader);<a name="line.655"></a>
-<span class="sourceLineNo">656</span>      }<a name="line.656"></a>
-<span class="sourceLineNo">657</span>      LOG.info(getName() + ": started " + readThreads + " reader(s) listening on port=" + port);<a name="line.657"></a>
-<span class="sourceLineNo">658</span><a name="line.658"></a>
-<span class="sourceLineNo">659</span>      // Register accepts on the server socket with the selector.<a name="line.659"></a>
-<span class="sourceLineNo">660</span>      acceptChannel.register(selector, SelectionKey.OP_ACCEPT);<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      this.setName("RpcServer.listener,port=" + port);<a name="line.661"></a>
-<span class="sourceLineNo">662</span>      this.setDaemon(true);<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    }<a name="line.663"></a>
-<span class="sourceLineNo">664</span><a name="line.664"></a>
-<span class="sourceLineNo">665</span><a name="line.665"></a>
-<span class="sourceLineNo">666</span>    private class Reader implements Runnable {<a name="line.666"></a>
-<span class="sourceLineNo">667</span>      private volatile boolean adding = false;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>      private final Selector readSelector;<a name="line.668"></a>
-<span class="sourceLineNo">669</span><a name="line.669"></a>
-<span class="sourceLineNo">670</span>      Reader() throws IOException {<a name="line.670"></a>
-<span class="sourceLineNo">671</span>        this.readSelector = Selector.open();<a name="line.671"></a>
-<span class="sourceLineNo">672</span>      }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      @Override<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      public void run() {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        try {<a name="line.675"></a>
-<span class="sourceLineNo">676</span>          doRunLoop();<a name="line.676"></a>
-<span class="sourceLineNo">677</span>        } finally {<a name="line.677"></a>
-<span class="sourceLineNo">678</span>          try {<a name="line.678"></a>
-<span class="sourceLineNo">679</span>            readSelector.close();<a name="line.679"></a>
-<span class="sourceLineNo">680</span>          } catch (IOException ioe) {<a name="line.680"></a>
-<span class="sourceLineNo">681</span>            LOG.error(getName() + ": error closing read selector in " + getName(), ioe);<a name="line.681"></a>
-<span class="sourceLineNo">682</span>          }<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        }<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      }<a name="line.684"></a>
-<span class="sourceLineNo">685</span><a name="line.685"></a>
-<span class="sourceLineNo">686</sp

<TRUNCATED>

[29/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/checkstyle-aggregate.html
----------------------------------------------------------------------
diff --git a/checkstyle-aggregate.html b/checkstyle-aggregate.html
index cd88767..cf2f43a 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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" />
@@ -280,10 +280,10 @@
 <th><img src="images/icon_warning_sml.gif" alt="" />&#160;Warnings</th>
 <th><img src="images/icon_error_sml.gif" alt="" />&#160;Errors</th></tr>
 <tr class="b">
-<td>1666</td>
+<td>1665</td>
 <td>0</td>
 <td>0</td>
-<td>12900</td></tr></table></div>
+<td>12894</td></tr></table></div>
 <div class="section">
 <h2><a name="Files"></a>Files</h2>
 <table border="0" class="table table-striped">
@@ -2113,3911 +2113,3906 @@
 <td>0</td>
 <td>1</td></tr>
 <tr class="b">
-<td><a href="#org.apache.hadoop.hbase.ipc.Delayable.java">org/apache/hadoop/hbase/ipc/Delayable.java</a></td>
-<td>0</td>
-<td>0</td>
-<td>7</td></tr>
-<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.FailedServers.java">org/apache/hadoop/hbase/ipc/FailedServers.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.ipc.FifoRpcScheduler.java">org/apache/hadoop/hbase/ipc/FifoRpcScheduler.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.ipc.IPCUtil.java">org/apache/hadoop/hbase/ipc/IPCUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>50</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.ipc.MasterCoprocessorRpcChannel.java">org/apache/hadoop/hbase/ipc/MasterCoprocessorRpcChannel.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.ipc.MetricsHBaseServer.java">org/apache/hadoop/hbase/ipc/MetricsHBaseServer.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.ipc.MetricsHBaseServerSourceImpl.java">org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceImpl.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.ipc.PriorityFunction.java">org/apache/hadoop/hbase/ipc/PriorityFunction.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.ipc.RWQueueRpcExecutor.java">org/apache/hadoop/hbase/ipc/RWQueueRpcExecutor.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.ipc.RegionCoprocessorRpcChannel.java">org/apache/hadoop/hbase/ipc/RegionCoprocessorRpcChannel.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.ipc.RegionServerCoprocessorRpcChannel.java">org/apache/hadoop/hbase/ipc/RegionServerCoprocessorRpcChannel.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.ipc.RpcCallContext.java">org/apache/hadoop/hbase/ipc/RpcCallContext.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.ipc.RpcClient.java">org/apache/hadoop/hbase/ipc/RpcClient.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.ipc.RpcClientFactory.java">org/apache/hadoop/hbase/ipc/RpcClientFactory.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.ipc.RpcClientImpl.java">org/apache/hadoop/hbase/ipc/RpcClientImpl.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.ipc.RpcExecutor.java">org/apache/hadoop/hbase/ipc/RpcExecutor.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.ipc.RpcScheduler.java">org/apache/hadoop/hbase/ipc/RpcScheduler.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.ipc.RpcSchedulerContext.java">org/apache/hadoop/hbase/ipc/RpcSchedulerContext.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.ipc.RpcServer.java">org/apache/hadoop/hbase/ipc/RpcServer.java</a></td>
 <td>0</td>
 <td>0</td>
-<td>89</td></tr>
-<tr class="a">
+<td>90</td></tr>
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.ipc.RpcServerInterface.java">org/apache/hadoop/hbase/ipc/RpcServerInterface.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.ipc.ServerRpcController.java">org/apache/hadoop/hbase/ipc/ServerRpcController.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.ipc.SimpleRpcScheduler.java">org/apache/hadoop/hbase/ipc/SimpleRpcScheduler.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.ipc.TimeLimitedRpcController.java">org/apache/hadoop/hbase/ipc/TimeLimitedRpcController.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.mapred.Driver.java">org/apache/hadoop/hbase/mapred/Driver.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.mapred.GroupingTableMap.java">org/apache/hadoop/hbase/mapred/GroupingTableMap.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.mapred.HRegionPartitioner.java">org/apache/hadoop/hbase/mapred/HRegionPartitioner.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.mapred.IdentityTableMap.java">org/apache/hadoop/hbase/mapred/IdentityTableMap.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.mapred.IdentityTableReduce.java">org/apache/hadoop/hbase/mapred/IdentityTableReduce.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.mapred.MultiTableSnapshotInputFormat.java">org/apache/hadoop/hbase/mapred/MultiTableSnapshotInputFormat.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.mapred.RowCounter.java">org/apache/hadoop/hbase/mapred/RowCounter.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.mapred.TableInputFormat.java">org/apache/hadoop/hbase/mapred/TableInputFormat.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.mapred.TableInputFormatBase.java">org/apache/hadoop/hbase/mapred/TableInputFormatBase.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.mapred.TableMap.java">org/apache/hadoop/hbase/mapred/TableMap.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.mapred.TableMapReduceUtil.java">org/apache/hadoop/hbase/mapred/TableMapReduceUtil.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.mapred.TableOutputFormat.java">org/apache/hadoop/hbase/mapred/TableOutputFormat.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.mapred.TableRecordReader.java">org/apache/hadoop/hbase/mapred/TableRecordReader.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.mapred.TableRecordReaderImpl.java">org/apache/hadoop/hbase/mapred/TableRecordReaderImpl.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.mapred.TableReduce.java">org/apache/hadoop/hbase/mapred/TableReduce.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.mapred.TableSnapshotInputFormat.java">org/apache/hadoop/hbase/mapred/TableSnapshotInputFormat.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.mapred.TableSplit.java">org/apache/hadoop/hbase/mapred/TableSplit.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.mapreduce.CellCounter.java">org/apache/hadoop/hbase/mapreduce/CellCounter.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.mapreduce.CellCreator.java">org/apache/hadoop/hbase/mapreduce/CellCreator.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.mapreduce.CopyTable.java">org/apache/hadoop/hbase/mapreduce/CopyTable.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.mapreduce.DefaultVisibilityExpressionResolver.java">org/apache/hadoop/hbase/mapreduce/DefaultVisibilityExpressionResolver.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.mapreduce.Driver.java">org/apache/hadoop/hbase/mapreduce/Driver.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.mapreduce.Export.java">org/apache/hadoop/hbase/mapreduce/Export.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.mapreduce.GroupingTableMapper.java">org/apache/hadoop/hbase/mapreduce/GroupingTableMapper.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.mapreduce.HFileOutputFormat2.java">org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.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.mapreduce.HRegionPartitioner.java">org/apache/hadoop/hbase/mapreduce/HRegionPartitioner.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.mapreduce.HashTable.java">org/apache/hadoop/hbase/mapreduce/HashTable.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.mapreduce.IdentityTableMapper.java">org/apache/hadoop/hbase/mapreduce/IdentityTableMapper.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.mapreduce.IdentityTableReducer.java">org/apache/hadoop/hbase/mapreduce/IdentityTableReducer.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.mapreduce.Import.java">org/apache/hadoop/hbase/mapreduce/Import.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.mapreduce.ImportTsv.java">org/apache/hadoop/hbase/mapreduce/ImportTsv.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>20</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.IndexBuilder.java">org/apache/hadoop/hbase/mapreduce/IndexBuilder.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.mapreduce.JarFinder.java">org/apache/hadoop/hbase/mapreduce/JarFinder.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.mapreduce.JobUtil.java">org/apache/hadoop/hbase/mapreduce/JobUtil.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.mapreduce.KeyValueSortReducer.java">org/apache/hadoop/hbase/mapreduce/KeyValueSortReducer.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.mapreduce.LoadIncrementalHFiles.java">org/apache/hadoop/hbase/mapreduce/LoadIncrementalHFiles.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.mapreduce.MultiTableInputFormat.java">org/apache/hadoop/hbase/mapreduce/MultiTableInputFormat.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.mapreduce.MultiTableInputFormatBase.java">org/apache/hadoop/hbase/mapreduce/MultiTableInputFormatBase.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.mapreduce.MultiTableOutputFormat.java">org/apache/hadoop/hbase/mapreduce/MultiTableOutputFormat.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.mapreduce.MultiTableSnapshotInputFormat.java">org/apache/hadoop/hbase/mapreduce/MultiTableSnapshotInputFormat.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.mapreduce.MultiTableSnapshotInputFormatImpl.java">org/apache/hadoop/hbase/mapreduce/MultiTableSnapshotInputFormatImpl.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.mapreduce.MultithreadedTableMapper.java">org/apache/hadoop/hbase/mapreduce/MultithreadedTableMapper.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.mapreduce.PutCombiner.java">org/apache/hadoop/hbase/mapreduce/PutCombiner.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.mapreduce.PutSortReducer.java">org/apache/hadoop/hbase/mapreduce/PutSortReducer.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.mapreduce.ResultSerialization.java">org/apache/hadoop/hbase/mapreduce/ResultSerialization.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.mapreduce.RowCounter.java">org/apache/hadoop/hbase/mapreduce/RowCounter.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.mapreduce.SampleUploader.java">org/apache/hadoop/hbase/mapreduce/SampleUploader.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.mapreduce.SimpleTotalOrderPartitioner.java">org/apache/hadoop/hbase/mapreduce/SimpleTotalOrderPartitioner.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.mapreduce.SyncTable.java">org/apache/hadoop/hbase/mapreduce/SyncTable.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.mapreduce.TableInputFormat.java">org/apache/hadoop/hbase/mapreduce/TableInputFormat.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.mapreduce.TableInputFormatBase.java">org/apache/hadoop/hbase/mapreduce/TableInputFormatBase.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.mapreduce.TableMapReduceUtil.java">org/apache/hadoop/hbase/mapreduce/TableMapReduceUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>54</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.mapreduce.TableMapper.java">org/apache/hadoop/hbase/mapreduce/TableMapper.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.mapreduce.TableOutputCommitter.java">org/apache/hadoop/hbase/mapreduce/TableOutputCommitter.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.mapreduce.TableOutputFormat.java">org/apache/hadoop/hbase/mapreduce/TableOutputFormat.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.mapreduce.TableRecordReader.java">org/apache/hadoop/hbase/mapreduce/TableRecordReader.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.mapreduce.TableRecordReaderImpl.java">org/apache/hadoop/hbase/mapreduce/TableRecordReaderImpl.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.mapreduce.TableReducer.java">org/apache/hadoop/hbase/mapreduce/TableReducer.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.mapreduce.TableSnapshotInputFormat.java">org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormat.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.mapreduce.TableSnapshotInputFormatImpl.java">org/apache/hadoop/hbase/mapreduce/TableSnapshotInputFormatImpl.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.mapreduce.TableSplit.java">org/apache/hadoop/hbase/mapreduce/TableSplit.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.mapreduce.TextSortReducer.java">org/apache/hadoop/hbase/mapreduce/TextSortReducer.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.mapreduce.TsvImporterMapper.java">org/apache/hadoop/hbase/mapreduce/TsvImporterMapper.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.mapreduce.TsvImporterTextMapper.java">org/apache/hadoop/hbase/mapreduce/TsvImporterTextMapper.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.mapreduce.VisibilityExpressionResolver.java">org/apache/hadoop/hbase/mapreduce/VisibilityExpressionResolver.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.mapreduce.WALInputFormat.java">org/apache/hadoop/hbase/mapreduce/WALInputFormat.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.mapreduce.WALPlayer.java">org/apache/hadoop/hbase/mapreduce/WALPlayer.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.mapreduce.replication.VerifyReplication.java">org/apache/hadoop/hbase/mapreduce/replication/VerifyReplication.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.master.ActiveMasterManager.java">org/apache/hadoop/hbase/master/ActiveMasterManager.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.master.AssignCallable.java">org/apache/hadoop/hbase/master/AssignCallable.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.master.AssignmentListener.java">org/apache/hadoop/hbase/master/AssignmentListener.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.master.AssignmentManager.java">org/apache/hadoop/hbase/master/AssignmentManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>181</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.AssignmentVerificationReport.java">org/apache/hadoop/hbase/master/AssignmentVerificationReport.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.master.BulkAssigner.java">org/apache/hadoop/hbase/master/BulkAssigner.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.master.BulkReOpen.java">org/apache/hadoop/hbase/master/BulkReOpen.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.master.CatalogJanitor.java">org/apache/hadoop/hbase/master/CatalogJanitor.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.master.ClusterSchemaServiceImpl.java">org/apache/hadoop/hbase/master/ClusterSchemaServiceImpl.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.master.ClusterStatusPublisher.java">org/apache/hadoop/hbase/master/ClusterStatusPublisher.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.master.DeadServer.java">org/apache/hadoop/hbase/master/DeadServer.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.master.ExpiredMobFileCleanerChore.java">org/apache/hadoop/hbase/master/ExpiredMobFileCleanerChore.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.master.GeneralBulkAssigner.java">org/apache/hadoop/hbase/master/GeneralBulkAssigner.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.master.HMaster.java">org/apache/hadoop/hbase/master/HMaster.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>56</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.HMasterCommandLine.java">org/apache/hadoop/hbase/master/HMasterCommandLine.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.master.LoadBalancer.java">org/apache/hadoop/hbase/master/LoadBalancer.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.master.MasterCoprocessorHost.java">org/apache/hadoop/hbase/master/MasterCoprocessorHost.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.master.MasterDumpServlet.java">org/apache/hadoop/hbase/master/MasterDumpServlet.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.master.MasterFileSystem.java">org/apache/hadoop/hbase/master/MasterFileSystem.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.master.MasterRpcServices.java">org/apache/hadoop/hbase/master/MasterRpcServices.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.master.MasterServices.java">org/apache/hadoop/hbase/master/MasterServices.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.master.MasterStatusServlet.java">org/apache/hadoop/hbase/master/MasterStatusServlet.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.master.MetricsAssignmentManager.java">org/apache/hadoop/hbase/master/MetricsAssignmentManager.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.master.MetricsAssignmentManagerSourceImpl.java">org/apache/hadoop/hbase/master/MetricsAssignmentManagerSourceImpl.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.master.MetricsMaster.java">org/apache/hadoop/hbase/master/MetricsMaster.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.master.MetricsMasterFilesystemSourceImpl.java">org/apache/hadoop/hbase/master/MetricsMasterFilesystemSourceImpl.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.master.MetricsMasterProcSource.java">org/apache/hadoop/hbase/master/MetricsMasterProcSource.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.master.MetricsMasterSourceImpl.java">org/apache/hadoop/hbase/master/MetricsMasterSourceImpl.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.master.MetricsMasterWrapperImpl.java">org/apache/hadoop/hbase/master/MetricsMasterWrapperImpl.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.master.RackManager.java">org/apache/hadoop/hbase/master/RackManager.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.master.RegionPlacementMaintainer.java">org/apache/hadoop/hbase/master/RegionPlacementMaintainer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>235</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.RegionPlan.java">org/apache/hadoop/hbase/master/RegionPlan.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.master.RegionState.java">org/apache/hadoop/hbase/master/RegionState.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.master.RegionStateStore.java">org/apache/hadoop/hbase/master/RegionStateStore.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.master.RegionStates.java">org/apache/hadoop/hbase/master/RegionStates.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>20</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.ServerListener.java">org/apache/hadoop/hbase/master/ServerListener.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.master.ServerManager.java">org/apache/hadoop/hbase/master/ServerManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>34</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.SnapshotOfRegionAssignmentFromMeta.java">org/apache/hadoop/hbase/master/SnapshotOfRegionAssignmentFromMeta.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.master.SnapshotSentinel.java">org/apache/hadoop/hbase/master/SnapshotSentinel.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.master.SplitLogManager.java">org/apache/hadoop/hbase/master/SplitLogManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>24</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.TableLockManager.java">org/apache/hadoop/hbase/master/TableLockManager.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.master.TableNamespaceManager.java">org/apache/hadoop/hbase/master/TableNamespaceManager.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.master.TableStateManager.java">org/apache/hadoop/hbase/master/TableStateManager.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.master.UnAssignCallable.java">org/apache/hadoop/hbase/master/UnAssignCallable.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.master.balancer.BaseLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.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.master.balancer.ClusterLoadState.java">org/apache/hadoop/hbase/master/balancer/ClusterLoadState.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.master.balancer.FavoredNodeAssignmentHelper.java">org/apache/hadoop/hbase/master/balancer/FavoredNodeAssignmentHelper.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>35</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.balancer.FavoredNodeLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/FavoredNodeLoadBalancer.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.master.balancer.FavoredNodesPlan.java">org/apache/hadoop/hbase/master/balancer/FavoredNodesPlan.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.master.balancer.LoadBalancerFactory.java">org/apache/hadoop/hbase/master/balancer/LoadBalancerFactory.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.master.balancer.MetricsBalancerSourceImpl.java">org/apache/hadoop/hbase/master/balancer/MetricsBalancerSourceImpl.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.master.balancer.MetricsStochasticBalancerSourceImpl.java">org/apache/hadoop/hbase/master/balancer/MetricsStochasticBalancerSourceImpl.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.master.balancer.RegionInfoComparator.java">org/apache/hadoop/hbase/master/balancer/RegionInfoComparator.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.master.balancer.RegionLocationFinder.java">org/apache/hadoop/hbase/master/balancer/RegionLocationFinder.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.master.balancer.ServerAndLoad.java">org/apache/hadoop/hbase/master/balancer/ServerAndLoad.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.master.balancer.SimpleLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/SimpleLoadBalancer.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.master.balancer.StochasticLoadBalancer.java">org/apache/hadoop/hbase/master/balancer/StochasticLoadBalancer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>35</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.cleaner.BaseFileCleanerDelegate.java">org/apache/hadoop/hbase/master/cleaner/BaseFileCleanerDelegate.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.master.cleaner.BaseLogCleanerDelegate.java">org/apache/hadoop/hbase/master/cleaner/BaseLogCleanerDelegate.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.master.cleaner.CleanerChore.java">org/apache/hadoop/hbase/master/cleaner/CleanerChore.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.master.cleaner.FileCleanerDelegate.java">org/apache/hadoop/hbase/master/cleaner/FileCleanerDelegate.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.master.cleaner.HFileCleaner.java">org/apache/hadoop/hbase/master/cleaner/HFileCleaner.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.master.cleaner.HFileLinkCleaner.java">org/apache/hadoop/hbase/master/cleaner/HFileLinkCleaner.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.master.cleaner.LogCleaner.java">org/apache/hadoop/hbase/master/cleaner/LogCleaner.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.master.cleaner.TimeToLiveHFileCleaner.java">org/apache/hadoop/hbase/master/cleaner/TimeToLiveHFileCleaner.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.master.cleaner.TimeToLiveLogCleaner.java">org/apache/hadoop/hbase/master/cleaner/TimeToLiveLogCleaner.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.master.handler.CreateTableHandler.java">org/apache/hadoop/hbase/master/handler/CreateTableHandler.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.master.handler.DisableTableHandler.java">org/apache/hadoop/hbase/master/handler/DisableTableHandler.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.master.handler.DispatchMergingRegionHandler.java">org/apache/hadoop/hbase/master/handler/DispatchMergingRegionHandler.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.master.handler.EnableTableHandler.java">org/apache/hadoop/hbase/master/handler/EnableTableHandler.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.master.handler.TableEventHandler.java">org/apache/hadoop/hbase/master/handler/TableEventHandler.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.master.handler.TotesHRegionInfo.java">org/apache/hadoop/hbase/master/handler/TotesHRegionInfo.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.master.normalizer.MergeNormalizationPlan.java">org/apache/hadoop/hbase/master/normalizer/MergeNormalizationPlan.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.master.normalizer.RegionNormalizerChore.java">org/apache/hadoop/hbase/master/normalizer/RegionNormalizerChore.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.master.normalizer.SimpleRegionNormalizer.java">org/apache/hadoop/hbase/master/normalizer/SimpleRegionNormalizer.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.master.normalizer.SplitNormalizationPlan.java">org/apache/hadoop/hbase/master/normalizer/SplitNormalizationPlan.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.master.procedure.AddColumnFamilyProcedure.java">org/apache/hadoop/hbase/master/procedure/AddColumnFamilyProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>63</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.CreateNamespaceProcedure.java">org/apache/hadoop/hbase/master/procedure/CreateNamespaceProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>57</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.CreateTableProcedure.java">org/apache/hadoop/hbase/master/procedure/CreateTableProcedure.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.master.procedure.DeleteColumnFamilyProcedure.java">org/apache/hadoop/hbase/master/procedure/DeleteColumnFamilyProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>74</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.DeleteNamespaceProcedure.java">org/apache/hadoop/hbase/master/procedure/DeleteNamespaceProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>58</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.DeleteTableProcedure.java">org/apache/hadoop/hbase/master/procedure/DeleteTableProcedure.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.master.procedure.DisableTableProcedure.java">org/apache/hadoop/hbase/master/procedure/DisableTableProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>66</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.EnableTableProcedure.java">org/apache/hadoop/hbase/master/procedure/EnableTableProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>86</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.MasterDDLOperationHelper.java">org/apache/hadoop/hbase/master/procedure/MasterDDLOperationHelper.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.master.procedure.MasterProcedureScheduler.java">org/apache/hadoop/hbase/master/procedure/MasterProcedureScheduler.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.master.procedure.ModifyColumnFamilyProcedure.java">org/apache/hadoop/hbase/master/procedure/ModifyColumnFamilyProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>63</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.ModifyNamespaceProcedure.java">org/apache/hadoop/hbase/master/procedure/ModifyNamespaceProcedure.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.master.procedure.ModifyTableProcedure.java">org/apache/hadoop/hbase/master/procedure/ModifyTableProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>94</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.ProcedureSyncWait.java">org/apache/hadoop/hbase/master/procedure/ProcedureSyncWait.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>26</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.ServerCrashProcedure.java">org/apache/hadoop/hbase/master/procedure/ServerCrashProcedure.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>108</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.master.procedure.TruncateTableProcedure.java">org/apache/hadoop/hbase/master/procedure/TruncateTableProcedure.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.master.snapshot.CloneSnapshotHandler.java">org/apache/hadoop/hbase/master/snapshot/CloneSnapshotHandler.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.master.snapshot.DisabledTableSnapshotHandler.java">org/apache/hadoop/hbase/master/snapshot/DisabledTableSnapshotHandler.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.master.snapshot.EnabledTableSnapshotHandler.java">org/apache/hadoop/hbase/master/snapshot/EnabledTableSnapshotHandler.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.master.snapshot.MasterSnapshotVerifier.java">org/apache/hadoop/hbase/master/snapshot/MasterSnapshotVerifier.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.master.snapshot.RestoreSnapshotHandler.java">org/apache/hadoop/hbase/master/snapshot/RestoreSnapshotHandler.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.master.snapshot.SnapshotFileCache.java">org/apache/hadoop/hbase/master/snapshot/SnapshotFileCache.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.master.snapshot.SnapshotHFileCleaner.java">org/apache/hadoop/hbase/master/snapshot/SnapshotHFileCleaner.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.master.snapshot.SnapshotManager.java">org/apache/hadoop/hbase/master/snapshot/SnapshotManager.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.master.snapshot.TakeSnapshotHandler.java">org/apache/hadoop/hbase/master/snapshot/TakeSnapshotHandler.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.metrics.BaseSourceImpl.java">org/apache/hadoop/hbase/metrics/BaseSourceImpl.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.mob.CachedMobFile.java">org/apache/hadoop/hbase/mob/CachedMobFile.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.mob.DefaultMobStoreCompactor.java">org/apache/hadoop/hbase/mob/DefaultMobStoreCompactor.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.mob.DefaultMobStoreFlusher.java">org/apache/hadoop/hbase/mob/DefaultMobStoreFlusher.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.mob.ExpiredMobFileCleaner.java">org/apache/hadoop/hbase/mob/ExpiredMobFileCleaner.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.mob.MobFile.java">org/apache/hadoop/hbase/mob/MobFile.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.mob.MobFileCache.java">org/apache/hadoop/hbase/mob/MobFileCache.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.mob.MobUtils.java">org/apache/hadoop/hbase/mob/MobUtils.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.mob.compactions.MobCompactor.java">org/apache/hadoop/hbase/mob/compactions/MobCompactor.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.mob.compactions.PartitionedMobCompactor.java">org/apache/hadoop/hbase/mob/compactions/PartitionedMobCompactor.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.mob.mapreduce.MemStoreWrapper.java">org/apache/hadoop/hbase/mob/mapreduce/MemStoreWrapper.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.mob.mapreduce.SweepJob.java">org/apache/hadoop/hbase/mob/mapreduce/SweepJob.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.mob.mapreduce.SweepReducer.java">org/apache/hadoop/hbase/mob/mapreduce/SweepReducer.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.mob.mapreduce.Sweeper.java">org/apache/hadoop/hbase/mob/mapreduce/Sweeper.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.monitoring.LogMonitoring.java">org/apache/hadoop/hbase/monitoring/LogMonitoring.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.monitoring.MemoryBoundedLogMessageBuffer.java">org/apache/hadoop/hbase/monitoring/MemoryBoundedLogMessageBuffer.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.monitoring.MonitoredRPCHandler.java">org/apache/hadoop/hbase/monitoring/MonitoredRPCHandler.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.monitoring.MonitoredRPCHandlerImpl.java">org/apache/hadoop/hbase/monitoring/MonitoredRPCHandlerImpl.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.monitoring.MonitoredTaskImpl.java">org/apache/hadoop/hbase/monitoring/MonitoredTaskImpl.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.monitoring.StateDumpServlet.java">org/apache/hadoop/hbase/monitoring/StateDumpServlet.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.monitoring.TaskMonitor.java">org/apache/hadoop/hbase/monitoring/TaskMonitor.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.monitoring.ThreadMonitoring.java">org/apache/hadoop/hbase/monitoring/ThreadMonitoring.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.namespace.NamespaceStateManager.java">org/apache/hadoop/hbase/namespace/NamespaceStateManager.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.namespace.NamespaceTableAndRegionInfo.java">org/apache/hadoop/hbase/namespace/NamespaceTableAndRegionInfo.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.nio.ByteBuff.java">org/apache/hadoop/hbase/nio/ByteBuff.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.nio.MultiByteBuff.java">org/apache/hadoop/hbase/nio/MultiByteBuff.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.nio.SingleByteBuff.java">org/apache/hadoop/hbase/nio/SingleByteBuff.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.procedure.MasterProcedureManager.java">org/apache/hadoop/hbase/procedure/MasterProcedureManager.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.procedure.Procedure.java">org/apache/hadoop/hbase/procedure/Procedure.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.procedure.ProcedureCoordinator.java">org/apache/hadoop/hbase/procedure/ProcedureCoordinator.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.procedure.ProcedureCoordinatorRpcs.java">org/apache/hadoop/hbase/procedure/ProcedureCoordinatorRpcs.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.procedure.ProcedureManagerHost.java">org/apache/hadoop/hbase/procedure/ProcedureManagerHost.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.procedure.ProcedureMember.java">org/apache/hadoop/hbase/procedure/ProcedureMember.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.procedure.ProcedureMemberRpcs.java">org/apache/hadoop/hbase/procedure/ProcedureMemberRpcs.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.procedure.RegionServerProcedureManager.java">org/apache/hadoop/hbase/procedure/RegionServerProcedureManager.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.procedure.Subprocedure.java">org/apache/hadoop/hbase/procedure/Subprocedure.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.procedure.ZKProcedureCoordinatorRpcs.java">org/apache/hadoop/hbase/procedure/ZKProcedureCoordinatorRpcs.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.procedure.ZKProcedureMemberRpcs.java">org/apache/hadoop/hbase/procedure/ZKProcedureMemberRpcs.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.procedure.ZKProcedureUtil.java">org/apache/hadoop/hbase/procedure/ZKProcedureUtil.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.procedure.flush.MasterFlushTableProcedureManager.java">org/apache/hadoop/hbase/procedure/flush/MasterFlushTableProcedureManager.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.procedure.flush.RegionServerFlushTableProcedureManager.java">org/apache/hadoop/hbase/procedure/flush/RegionServerFlushTableProcedureManager.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.procedure2.Procedure.java">org/apache/hadoop/hbase/procedure2/Procedure.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.procedure2.ProcedureExecutor.java">org/apache/hadoop/hbase/procedure2/ProcedureExecutor.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.procedure2.RemoteProcedureException.java">org/apache/hadoop/hbase/procedure2/RemoteProcedureException.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.procedure2.RootProcedureState.java">org/apache/hadoop/hbase/procedure2/RootProcedureState.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.procedure2.store.ProcedureStore.java">org/apache/hadoop/hbase/procedure2/store/ProcedureStore.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.procedure2.store.wal.ProcedureWALFile.java">org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFile.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.procedure2.store.wal.ProcedureWALFormat.java">org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormat.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.procedure2.store.wal.ProcedureWALFormatReader.java">org/apache/hadoop/hbase/procedure2/store/wal/ProcedureWALFormatReader.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.procedure2.store.wal.WALProcedureStore.java">org/apache/hadoop/hbase/procedure2/store/wal/WALProcedureStore.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.procedure2.util.StringUtils.java">org/apache/hadoop/hbase/procedure2/util/StringUtils.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.procedure2.util.TimeoutBlockingQueue.java">org/apache/hadoop/hbase/procedure2/util/TimeoutBlockingQueue.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.protobuf.ProtobufMagic.java">org/apache/hadoop/hbase/protobuf/ProtobufMagic.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.protobuf.ProtobufUtil.java">org/apache/hadoop/hbase/protobuf/ProtobufUtil.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>188</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.protobuf.ReplicationProtbufUtil.java">org/apache/hadoop/hbase/protobuf/ReplicationProtbufUtil.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.protobuf.RequestConverter.java">org/apache/hadoop/hbase/protobuf/RequestConverter.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>239</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.protobuf.ResponseConverter.java">org/apache/hadoop/hbase/protobuf/ResponseConverter.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.quotas.AverageIntervalRateLimiter.java">org/apache/hadoop/hbase/quotas/AverageIntervalRateLimiter.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.quotas.DefaultOperationQuota.java">org/apache/hadoop/hbase/quotas/DefaultOperationQuota.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.quotas.FixedIntervalRateLimiter.java">org/apache/hadoop/hbase/quotas/FixedIntervalRateLimiter.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.quotas.MasterQuotaManager.java">org/apache/hadoop/hbase/quotas/MasterQuotaManager.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.quotas.NoopOperationQuota.java">org/apache/hadoop/hbase/quotas/NoopOperationQuota.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.quotas.NoopQuotaLimiter.java">org/apache/hadoop/hbase/quotas/NoopQuotaLimiter.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.quotas.QuotaCache.java">org/apache/hadoop/hbase/quotas/QuotaCache.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.quotas.QuotaLimiterFactory.java">org/apache/hadoop/hbase/quotas/QuotaLimiterFactory.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.quotas.QuotaRetriever.java">org/apache/hadoop/hbase/quotas/QuotaRetriever.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.quotas.QuotaSettings.java">org/apache/hadoop/hbase/quotas/QuotaSettings.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.quotas.QuotaSettingsFactory.java">org/apache/hadoop/hbase/quotas/QuotaSettingsFactory.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.quotas.QuotaTableUtil.java">org/apache/hadoop/hbase/quotas/QuotaTableUtil.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.quotas.QuotaUtil.java">org/apache/hadoop/hbase/quotas/QuotaUtil.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.quotas.RateLimiter.java">org/apache/hadoop/hbase/quotas/RateLimiter.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.quotas.RegionServerQuotaManager.java">org/apache/hadoop/hbase/quotas/RegionServerQuotaManager.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.quotas.ThrottleSettings.java">org/apache/hadoop/hbase/quotas/ThrottleSettings.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.quotas.ThrottlingException.java">org/apache/hadoop/hbase/quotas/ThrottlingException.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.quotas.TimeBasedLimiter.java">org/apache/hadoop/hbase/quotas/TimeBasedLimiter.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.quotas.UserQuotaState.java">org/apache/hadoop/hbase/quotas/UserQuotaState.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.regionserver.AnnotationReadingPriorityFunction.java">org/apache/hadoop/hbase/regionserver/AnnotationReadingPriorityFunction.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.regionserver.BaseRowProcessor.java">org/apache/hadoop/hbase/regionserver/BaseRowProcessor.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.regionserver.ColumnTracker.java">org/apache/hadoop/hbase/regionserver/ColumnTracker.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.regionserver.CompactSplitThread.java">org/apache/hadoop/hbase/regionserver/CompactSplitThread.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.regionserver.CompactedHFilesDischargeHandler.java">org/apache/hadoop/hbase/regionserver/CompactedHFilesDischargeHandler.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.regionserver.CompactedHFilesDischarger.java">org/apache/hadoop/hbase/regionserver/CompactedHFilesDischarger.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.regionserver.CompactionRequestor.java">org/apache/hadoop/hbase/regionserver/CompactionRequestor.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.regionserver.CompactionTool.java">org/apache/hadoop/hbase/regionserver/CompactionTool.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.regionserver.ConstantSizeRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/ConstantSizeRegionSplitPolicy.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.regionserver.DefaultHeapMemoryTuner.java">org/apache/hadoop/hbase/regionserver/DefaultHeapMemoryTuner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>38</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.DefaultMemStore.java">org/apache/hadoop/hbase/regionserver/DefaultMemStore.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.regionserver.DefaultStoreEngine.java">org/apache/hadoop/hbase/regionserver/DefaultStoreEngine.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.regionserver.DefaultStoreFileManager.java">org/apache/hadoop/hbase/regionserver/DefaultStoreFileManager.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.regionserver.DefaultStoreFlusher.java">org/apache/hadoop/hbase/regionserver/DefaultStoreFlusher.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.regionserver.DeleteTracker.java">org/apache/hadoop/hbase/regionserver/DeleteTracker.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.regionserver.DisabledRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/DisabledRegionSplitPolicy.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.regionserver.ExplicitColumnTracker.java">org/apache/hadoop/hbase/regionserver/ExplicitColumnTracker.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.regionserver.FavoredNodesForRegion.java">org/apache/hadoop/hbase/regionserver/FavoredNodesForRegion.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.regionserver.FlushPolicyFactory.java">org/apache/hadoop/hbase/regionserver/FlushPolicyFactory.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.regionserver.FlushRequestListener.java">org/apache/hadoop/hbase/regionserver/FlushRequestListener.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.regionserver.FlushRequester.java">org/apache/hadoop/hbase/regionserver/FlushRequester.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.regionserver.HMobStore.java">org/apache/hadoop/hbase/regionserver/HMobStore.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.regionserver.HRegion.java">org/apache/hadoop/hbase/regionserver/HRegion.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>294</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HRegionFileSystem.java">org/apache/hadoop/hbase/regionserver/HRegionFileSystem.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>44</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HRegionServer.java">org/apache/hadoop/hbase/regionserver/HRegionServer.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>93</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.HRegionServerCommandLine.java">org/apache/hadoop/hbase/regionserver/HRegionServerCommandLine.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.regionserver.HStore.java">org/apache/hadoop/hbase/regionserver/HStore.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.regionserver.HeapMemStoreLAB.java">org/apache/hadoop/hbase/regionserver/HeapMemStoreLAB.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.regionserver.HeapMemoryManager.java">org/apache/hadoop/hbase/regionserver/HeapMemoryManager.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.regionserver.HeapMemoryTuner.java">org/apache/hadoop/hbase/regionserver/HeapMemoryTuner.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.regionserver.IncreasingToUpperBoundRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/IncreasingToUpperBoundRegionSplitPolicy.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.regionserver.InternalScan.java">org/apache/hadoop/hbase/regionserver/InternalScan.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.regionserver.InternalScanner.java">org/apache/hadoop/hbase/regionserver/InternalScanner.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.regionserver.KeyPrefixRegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/KeyPrefixRegionSplitPolicy.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.regionserver.KeyValueHeap.java">org/apache/hadoop/hbase/regionserver/KeyValueHeap.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.regionserver.KeyValueScanner.java">org/apache/hadoop/hbase/regionserver/KeyValueScanner.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.regionserver.LeaseException.java">org/apache/hadoop/hbase/regionserver/LeaseException.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.regionserver.Leases.java">org/apache/hadoop/hbase/regionserver/Leases.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.regionserver.LogRoller.java">org/apache/hadoop/hbase/regionserver/LogRoller.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.regionserver.LruHashMap.java">org/apache/hadoop/hbase/regionserver/LruHashMap.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>69</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MemStore.java">org/apache/hadoop/hbase/regionserver/MemStore.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.regionserver.MemStoreChunkPool.java">org/apache/hadoop/hbase/regionserver/MemStoreChunkPool.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.regionserver.MemStoreFlusher.java">org/apache/hadoop/hbase/regionserver/MemStoreFlusher.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>24</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.MemStoreLAB.java">org/apache/hadoop/hbase/regionserver/MemStoreLAB.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.regionserver.MetricsRegion.java">org/apache/hadoop/hbase/regionserver/MetricsRegion.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.regionserver.MetricsRegionServer.java">org/apache/hadoop/hbase/regionserver/MetricsRegionServer.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.regionserver.MetricsRegionServerSourceFactory.java">org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactory.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.regionserver.MetricsRegionServerSourceFactoryImpl.java">org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceFactoryImpl.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.regionserver.MetricsRegionServerSourceImpl.java">org/apache/hadoop/hbase/regionserver/MetricsRegionServerSourceImpl.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.regionserver.MetricsRegionServerWrapperImpl.java">org/apache/hadoop/hbase/regionserver/MetricsRegionServerWrapperImpl.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.regionserver.MetricsRegionWrapperImpl.java">org/apache/hadoop/hbase/regionserver/MetricsRegionWrapperImpl.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.regionserver.MiniBatchOperationInProgress.java">org/apache/hadoop/hbase/regionserver/MiniBatchOperationInProgress.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.regionserver.MultiRowMutationProcessor.java">org/apache/hadoop/hbase/regionserver/MultiRowMutationProcessor.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.regionserver.MultiVersionConcurrencyControl.java">org/apache/hadoop/hbase/regionserver/MultiVersionConcurrencyControl.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.regionserver.NoOpHeapMemoryTuner.java">org/apache/hadoop/hbase/regionserver/NoOpHeapMemoryTuner.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.regionserver.NonLazyKeyValueScanner.java">org/apache/hadoop/hbase/regionserver/NonLazyKeyValueScanner.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.regionserver.NonReversedNonLazyKeyValueScanner.java">org/apache/hadoop/hbase/regionserver/NonReversedNonLazyKeyValueScanner.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.regionserver.OnlineRegions.java">org/apache/hadoop/hbase/regionserver/OnlineRegions.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.regionserver.OperationStatus.java">org/apache/hadoop/hbase/regionserver/OperationStatus.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.regionserver.RSDumpServlet.java">org/apache/hadoop/hbase/regionserver/RSDumpServlet.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.regionserver.RSRpcServices.java">org/apache/hadoop/hbase/regionserver/RSRpcServices.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>138</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RSStatusServlet.java">org/apache/hadoop/hbase/regionserver/RSStatusServlet.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.regionserver.Region.java">org/apache/hadoop/hbase/regionserver/Region.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>60</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RegionCoprocessorHost.java">org/apache/hadoop/hbase/regionserver/RegionCoprocessorHost.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>207</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.RegionMergeRequest.java">org/apache/hadoop/hbase/regionserver/RegionMergeRequest.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.regionserver.RegionMergeTransaction.java">org/apache/hadoop/hbase/regionserver/RegionMergeTransaction.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.regionserver.RegionMergeTransactionImpl.java">org/apache/hadoop/hbase/regionserver/RegionMergeTransactionImpl.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.regionserver.RegionScanner.java">org/apache/hadoop/hbase/regionserver/RegionScanner.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.regionserver.RegionServerCoprocessorHost.java">org/apache/hadoop/hbase/regionserver/RegionServerCoprocessorHost.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.regionserver.RegionServerServices.java">org/apache/hadoop/hbase/regionserver/RegionServerServices.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.regionserver.RegionSplitPolicy.java">org/apache/hadoop/hbase/regionserver/RegionSplitPolicy.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.regionserver.ReplicationService.java">org/apache/hadoop/hbase/regionserver/ReplicationService.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.regionserver.ReplicationSinkService.java">org/apache/hadoop/hbase/regionserver/ReplicationSinkService.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.regionserver.ReversedKeyValueHeap.java">org/apache/hadoop/hbase/regionserver/ReversedKeyValueHeap.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.regionserver.ReversedRegionScannerImpl.java">org/apache/hadoop/hbase/regionserver/ReversedRegionScannerImpl.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.regionserver.ReversedStoreScanner.java">org/apache/hadoop/hbase/regionserver/ReversedStoreScanner.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.regionserver.RowProcessor.java">org/apache/hadoop/hbase/regionserver/RowProcessor.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.regionserver.RpcSchedulerFactory.java">org/apache/hadoop/hbase/regionserver/RpcSchedulerFactory.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.regionserver.ScanDeleteTracker.java">org/apache/hadoop/hbase/regionserver/ScanDeleteTracker.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.regionserver.ScanInfo.java">org/apache/hadoop/hbase/regionserver/ScanInfo.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.regionserver.ScanQueryMatcher.java">org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.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.regionserver.ScanWildcardColumnTracker.java">org/apache/hadoop/hbase/regionserver/ScanWildcardColumnTracker.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.regionserver.ScannerContext.java">org/apache/hadoop/hbase/regionserver/ScannerContext.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.regionserver.ServerNonceManager.java">org/apache/hadoop/hbase/regionserver/ServerNonceManager.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.regionserver.ShutdownHook.java">org/apache/hadoop/hbase/regionserver/ShutdownHook.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.regionserver.SimpleRpcSchedulerFactory.java">org/apache/hadoop/hbase/regionserver/SimpleRpcSchedulerFactory.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.regionserver.SplitLogWorker.java">org/apache/hadoop/hbase/regionserver/SplitLogWorker.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.regionserver.SplitRequest.java">org/apache/hadoop/hbase/regionserver/SplitRequest.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.regionserver.SplitTransaction.java">org/apache/hadoop/hbase/regionserver/SplitTransaction.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.regionserver.SplitTransactionImpl.java">org/apache/hadoop/hbase/regionserver/SplitTransactionImpl.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>61</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.Store.java">org/apache/hadoop/hbase/regionserver/Store.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>23</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreEngine.java">org/apache/hadoop/hbase/regionserver/StoreEngine.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.regionserver.StoreFile.java">org/apache/hadoop/hbase/regionserver/StoreFile.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.regionserver.StoreFileInfo.java">org/apache/hadoop/hbase/regionserver/StoreFileInfo.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.regionserver.StoreFileManager.java">org/apache/hadoop/hbase/regionserver/StoreFileManager.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.regionserver.StoreFileScanner.java">org/apache/hadoop/hbase/regionserver/StoreFileScanner.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.regionserver.StoreFlushContext.java">org/apache/hadoop/hbase/regionserver/StoreFlushContext.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.regionserver.StoreFlusher.java">org/apache/hadoop/hbase/regionserver/StoreFlusher.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.regionserver.StoreScanner.java">org/apache/hadoop/hbase/regionserver/StoreScanner.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>152</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.StoreUtils.java">org/apache/hadoop/hbase/regionserver/StoreUtils.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.regionserver.StorefileRefresherChore.java">org/apache/hadoop/hbase/regionserver/StorefileRefresherChore.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.regionserver.StripeMultiFileWriter.java">org/apache/hadoop/hbase/regionserver/StripeMultiFileWriter.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.regionserver.StripeStoreConfig.java">org/apache/hadoop/hbase/regionserver/StripeStoreConfig.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.regionserver.StripeStoreEngine.java">org/apache/hadoop/hbase/regionserver/StripeStoreEngine.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.regionserver.StripeStoreFileManager.java">org/apache/hadoop/hbase/regionserver/StripeStoreFileManager.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.regionserver.StripeStoreFlusher.java">org/apache/hadoop/hbase/regionserver/StripeStoreFlusher.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.regionserver.TimeRangeTracker.java">org/apache/hadoop/hbase/regionserver/TimeRangeTracker.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.regionserver.UnexpectedStateException.java">org/apache/hadoop/hbase/regionserver/UnexpectedStateException.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.regionserver.compactions.CompactionConfiguration.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionConfiguration.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.regionserver.compactions.CompactionContext.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionContext.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.regionserver.compactions.CompactionPolicy.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionPolicy.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.regionserver.compactions.CompactionProgress.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionProgress.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.regionserver.compactions.CompactionRequest.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionRequest.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.regionserver.compactions.CompactionThroughputControllerFactory.java">org/apache/hadoop/hbase/regionserver/compactions/CompactionThroughputControllerFactory.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.regionserver.compactions.Compactor.java">org/apache/hadoop/hbase/regionserver/compactions/Compactor.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.regionserver.compactions.CurrentHourProvider.java">org/apache/hadoop/hbase/regionserver/compactions/CurrentHourProvider.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.regionserver.compactions.DefaultCompactor.java">org/apache/hadoop/hbase/regionserver/compactions/DefaultCompactor.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.regionserver.compactions.ExploringCompactionPolicy.java">org/apache/hadoop/hbase/regionserver/compactions/ExploringCompactionPolicy.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.regionserver.compactions.OffPeakHours.java">org/apache/hadoop/hbase/regionserver/compactions/OffPeakHours.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.regionserver.compactions.RatioBasedCompactionPolicy.java">org/apache/hadoop/hbase/regionserver/compactions/RatioBasedCompactionPolicy.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>25</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.compactions.StripeCompactionPolicy.java">org/apache/hadoop/hbase/regionserver/compactions/StripeCompactionPolicy.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.regionserver.compactions.StripeCompactor.java">org/apache/hadoop/hbase/regionserver/compactions/StripeCompactor.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.regionserver.handler.CloseMetaHandler.java">org/apache/hadoop/hbase/regionserver/handler/CloseMetaHandler.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.regionserver.handler.CloseRegionHandler.java">org/apache/hadoop/hbase/regionserver/handler/CloseRegionHandler.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.regionserver.handler.OpenMetaHandler.java">org/apache/hadoop/hbase/regionserver/handler/OpenMetaHandler.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.regionserver.handler.OpenRegionHandler.java">org/apache/hadoop/hbase/regionserver/handler/OpenRegionHandler.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.regionserver.handler.ParallelSeekHandler.java">org/apache/hadoop/hbase/regionserver/handler/ParallelSeekHandler.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.regionserver.handler.RegionReplicaFlushHandler.java">org/apache/hadoop/hbase/regionserver/handler/RegionReplicaFlushHandler.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.regionserver.handler.WALSplitterHandler.java">org/apache/hadoop/hbase/regionserver/handler/WALSplitterHandler.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>29</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.snapshot.RegionServerSnapshotManager.java">org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>20</td></tr>
-<tr class="b">
+<tr class="a">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.CompressionContext.java">org/apache/hadoop/hbase/regionserver/wal/CompressionContext.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.regionserver.wal.Compressor.java">org/apache/hadoop/hbase/regionserver/wal/Compressor.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.regionserver.wal.FSHLog.java">org/apache/hadoop/hbase/regionserver/wal/FSHLog.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>60</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a href="#org.apache.hadoop.hbase.regionserver.wal.FSWALEntry.java">org/apache/hadoop/hbase/regionserver/wal/FSWALEntry.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.regionserver.wal.FailedLogCloseException.java">org/apache/hadoop/hbase/regionserver/wal/FailedLogCloseException.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.regionserver.wal.FailedSyncBeforeLogCloseException.java">org/apache/hadoop/hbase/regionserver/wal/FailedSyncBeforeLogCloseException.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.regionserver.wal.HLogKey.java">org/apache/hadoop/hbase/regionserver/wal/HLogKey.java</a></td>
 <td>0</td>
 <td>0</td>
 <td>12</td></tr>
-<tr class="a">
+<tr class="b">
 <td><a 

<TRUNCATED>

[07/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html
deleted file mode 100644
index c6a4fc3..0000000
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html
+++ /dev/null
@@ -1,439 +0,0 @@
-<!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> *<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * or more contributor license agreements.  See the NOTICE file<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * distributed with this work for additional information<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * to you under the Apache License, Version 2.0 (the<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * "License"); you may not use this file except in compliance<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * with the License.  You may obtain a copy of the License at<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * Unless required by applicable law or agreed to in writing, software<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * See the License for the specific language governing permissions and<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * limitations under the License.<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.ipc;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><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.assertTrue;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import static org.junit.Assert.fail;<a name="line.24"></a>
-<span class="sourceLineNo">025</span><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.net.InetSocketAddress;<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.List;<a name="line.29"></a>
-<span class="sourceLineNo">030</span><a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.commons.logging.Log;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.commons.logging.LogFactory;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.conf.Configuration;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.HBaseConfiguration;<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.testclassification.MediumTests;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.testclassification.RPCTests;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.ServerName;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestArg;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestResponse;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.security.User;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.log4j.AppenderSkeleton;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.log4j.Level;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.log4j.Logger;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.log4j.spi.LoggingEvent;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.junit.Test;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.junit.experimental.categories.Category;<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>import com.google.common.collect.Lists;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import com.google.protobuf.BlockingRpcChannel;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import com.google.protobuf.BlockingService;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import com.google.protobuf.RpcController;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import com.google.protobuf.ServiceException;<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> * Test that delayed RPCs work. Fire up three calls, the first of which should<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * be delayed. Check that the last two, which are undelayed, return before the<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * first one.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> */<a name="line.60"></a>
-<span class="sourceLineNo">061</span>@Category({RPCTests.class, MediumTests.class}) // Fails sometimes with small tests<a name="line.61"></a>
-<span class="sourceLineNo">062</span>public class TestDelayedRpc {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  private static final Log LOG = LogFactory.getLog(TestDelayedRpc.class);<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  public static RpcServerInterface rpcServer;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public static final int UNDELAYED = 0;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  public static final int DELAYED = 1;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  private static final int RPC_CLIENT_TIMEOUT = 30000;<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  @Test (timeout=60000)<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  public void testDelayedRpcImmediateReturnValue() throws Exception {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    testDelayedRpc(false);<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  }<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>  @Test (timeout=60000)<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  public void testDelayedRpcDelayedReturnValue() throws Exception {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    testDelayedRpc(true);<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>  private void testDelayedRpc(boolean delayReturnValue) throws Exception {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    LOG.info("Running testDelayedRpc delayReturnValue=" + delayReturnValue);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    Configuration conf = HBaseConfiguration.create();<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    InetSocketAddress isa = new InetSocketAddress("localhost", 0);<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    TestDelayedImplementation instance = new TestDelayedImplementation(delayReturnValue);<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    BlockingService service =<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      TestDelayedRpcProtos.TestDelayedService.newReflectiveBlockingService(instance);<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    rpcServer = new RpcServer(null, "testDelayedRpc",<a name="line.86"></a>
-<span class="sourceLineNo">087</span>        Lists.newArrayList(new RpcServer.BlockingServiceAndInterface(service, null)),<a name="line.87"></a>
-<span class="sourceLineNo">088</span>        isa,<a name="line.88"></a>
-<span class="sourceLineNo">089</span>        conf,<a name="line.89"></a>
-<span class="sourceLineNo">090</span>        new FifoRpcScheduler(conf, 1));<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    rpcServer.start();<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    RpcClient rpcClient = RpcClientFactory.createClient(<a name="line.92"></a>
-<span class="sourceLineNo">093</span>        conf, HConstants.DEFAULT_CLUSTER_ID.toString());<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    try {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      InetSocketAddress address = rpcServer.getListenerAddress();<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      if (address == null) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        throw new IOException("Listener channel is closed");<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      }<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      BlockingRpcChannel channel = rpcClient.createBlockingRpcChannel(<a name="line.99"></a>
-<span class="sourceLineNo">100</span>          ServerName.valueOf(address.getHostName(),address.getPort(), System.currentTimeMillis()),<a name="line.100"></a>
-<span class="sourceLineNo">101</span>          User.getCurrent(), RPC_CLIENT_TIMEOUT);<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub =<a name="line.102"></a>
-<span class="sourceLineNo">103</span>        TestDelayedRpcProtos.TestDelayedService.newBlockingStub(channel);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      List&lt;Integer&gt; results = new ArrayList&lt;Integer&gt;();<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      // Setting true sets 'delayed' on the client.<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      TestThread th1 = new TestThread(stub, true, results);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      // Setting 'false' means we will return UNDELAYED as response immediately.<a name="line.107"></a>
-<span class="sourceLineNo">108</span>      TestThread th2 = new TestThread(stub, false, results);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      TestThread th3 = new TestThread(stub, false, results);<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      th1.start();<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      Thread.sleep(100);<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      th2.start();<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      Thread.sleep(200);<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      th3.start();<a name="line.114"></a>
-<span class="sourceLineNo">115</span><a name="line.115"></a>
-<span class="sourceLineNo">116</span>      th1.join();<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      th2.join();<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      th3.join();<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>      // We should get the two undelayed responses first.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      assertEquals(UNDELAYED, results.get(0).intValue());<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      assertEquals(UNDELAYED, results.get(1).intValue());<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      assertEquals(results.get(2).intValue(), delayReturnValue ? DELAYED :  0xDEADBEEF);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    } finally {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      rpcClient.close();<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><a name="line.128"></a>
-<span class="sourceLineNo">129</span>  private static class ListAppender extends AppenderSkeleton {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    private final List&lt;String&gt; messages = new ArrayList&lt;String&gt;();<a name="line.130"></a>
-<span class="sourceLineNo">131</span><a name="line.131"></a>
-<span class="sourceLineNo">132</span>    @Override<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    protected void append(LoggingEvent event) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      messages.add(event.getMessage().toString());<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 void close() {<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>    @Override<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    public boolean requiresLayout() {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      return false;<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 List&lt;String&gt; getMessages() {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      return messages;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  }<a name="line.149"></a>
-<span class="sourceLineNo">150</span><a name="line.150"></a>
-<span class="sourceLineNo">151</span>  /**<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * Tests that we see a WARN message in the logs.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @throws Exception<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   */<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  @Test (timeout=60000)<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  public void testTooManyDelayedRpcs() throws Exception {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    Configuration conf = HBaseConfiguration.create();<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    final int MAX_DELAYED_RPC = 10;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    conf.setInt("hbase.ipc.warn.delayedrpc.number", MAX_DELAYED_RPC);<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    // Set up an appender to catch the "Too many delayed calls" that we expect.<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    ListAppender listAppender = new ListAppender();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    Logger log = Logger.getLogger(RpcServer.class);<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    log.addAppender(listAppender);<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    log.setLevel(Level.WARN);<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>    InetSocketAddress isa = new InetSocketAddress("localhost", 0);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    TestDelayedImplementation instance = new TestDelayedImplementation(true);<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    BlockingService service =<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      TestDelayedRpcProtos.TestDelayedService.newReflectiveBlockingService(instance);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    rpcServer = new RpcServer(null, "testTooManyDelayedRpcs",<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      Lists.newArrayList(new RpcServer.BlockingServiceAndInterface(service, null)),<a name="line.172"></a>
-<span class="sourceLineNo">173</span>        isa,<a name="line.173"></a>
-<span class="sourceLineNo">174</span>        conf,<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        new FifoRpcScheduler(conf, 1));<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    rpcServer.start();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    RpcClient rpcClient = RpcClientFactory.createClient(<a name="line.177"></a>
-<span class="sourceLineNo">178</span>        conf, HConstants.DEFAULT_CLUSTER_ID.toString());<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    try {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      InetSocketAddress address = rpcServer.getListenerAddress();<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      if (address == null) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        throw new IOException("Listener channel is closed");<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      }<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      BlockingRpcChannel channel = rpcClient.createBlockingRpcChannel(<a name="line.184"></a>
-<span class="sourceLineNo">185</span>          ServerName.valueOf(address.getHostName(),address.getPort(), System.currentTimeMillis()),<a name="line.185"></a>
-<span class="sourceLineNo">186</span>          User.getCurrent(), RPC_CLIENT_TIMEOUT);<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub =<a name="line.187"></a>
-<span class="sourceLineNo">188</span>        TestDelayedRpcProtos.TestDelayedService.newBlockingStub(channel);<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      Thread threads[] = new Thread[MAX_DELAYED_RPC + 1];<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      for (int i = 0; i &lt; MAX_DELAYED_RPC; i++) {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>        threads[i] = new TestThread(stub, true, null);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        threads[i].start();<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>      /* No warnings till here. */<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      assertTrue(listAppender.getMessages().isEmpty());<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>      /* This should give a warning. */<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      threads[MAX_DELAYED_RPC] = new TestThread(stub, true, null);<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      threads[MAX_DELAYED_RPC].start();<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>      for (int i = 0; i &lt; MAX_DELAYED_RPC; i++) {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        threads[i].join();<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      }<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>      assertFalse(listAppender.getMessages().isEmpty());<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      assertTrue(listAppender.getMessages().get(0).startsWith("Too many delayed calls"));<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>      log.removeAppender(listAppender);<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    } finally {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      rpcClient.close();<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>  public static class TestDelayedImplementation<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  implements TestDelayedRpcProtos.TestDelayedService.BlockingInterface {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    /**<a name="line.217"></a>
-<span class="sourceLineNo">218</span>     * Should the return value of delayed call be set at the end of the delay<a name="line.218"></a>
-<span class="sourceLineNo">219</span>     * or at call return.<a name="line.219"></a>
-<span class="sourceLineNo">220</span>     */<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    private final boolean delayReturnValue;<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>     * @param delayReturnValue Should the response to the delayed call be set<a name="line.224"></a>
-<span class="sourceLineNo">225</span>     * at the start or the end of the delay.<a name="line.225"></a>
-<span class="sourceLineNo">226</span>     */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    public TestDelayedImplementation(boolean delayReturnValue) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      this.delayReturnValue = delayReturnValue;<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
-<span class="sourceLineNo">230</span><a name="line.230"></a>
-<span class="sourceLineNo">231</span>    @Override<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    public TestResponse test(final RpcController rpcController, final TestArg testArg)<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    throws ServiceException {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      boolean delay = testArg.getDelay();<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      TestResponse.Builder responseBuilder = TestResponse.newBuilder();<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      if (!delay) {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        responseBuilder.setResponse(UNDELAYED);<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        return responseBuilder.build();<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      }<a name="line.239"></a>
-<span class="sourceLineNo">240</span>      final Delayable call = RpcServer.getCurrentCall();<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      call.startDelay(delayReturnValue);<a name="line.241"></a>
-<span class="sourceLineNo">242</span>      new Thread() {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        @Override<a name="line.243"></a>
-<span class="sourceLineNo">244</span>        public void run() {<a name="line.244"></a>
-<span class="sourceLineNo">245</span>          try {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>            Thread.sleep(500);<a name="line.246"></a>
-<span class="sourceLineNo">247</span>            TestResponse.Builder responseBuilder = TestResponse.newBuilder();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>            call.endDelay(delayReturnValue ?<a name="line.248"></a>
-<span class="sourceLineNo">249</span>                responseBuilder.setResponse(DELAYED).build() : null);<a name="line.249"></a>
-<span class="sourceLineNo">250</span>          } catch (Exception e) {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>            e.printStackTrace();<a name="line.251"></a>
-<span class="sourceLineNo">252</span>          }<a name="line.252"></a>
-<span class="sourceLineNo">253</span>        }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      }.start();<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      // This value should go back to client only if the response is set<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      // immediately at delay time.<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      responseBuilder.setResponse(0xDEADBEEF);<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      return responseBuilder.build();<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    }<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  }<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>  public static class TestThread extends Thread {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    private final TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    private final boolean delay;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    private final List&lt;Integer&gt; results;<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>    public TestThread(TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub,<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        boolean delay, List&lt;Integer&gt; results) {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      this.stub = stub;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      this.delay = delay;<a name="line.270"></a>
-<span class="sourceLineNo">271</span>      this.results = results;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    }<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    @Override<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    public void run() {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      Integer result;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      try {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>        result = new Integer(stub.test(null, TestArg.newBuilder().setDelay(delay).build()).<a name="line.278"></a>
-<span class="sourceLineNo">279</span>          getResponse());<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      } catch (ServiceException e) {<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        throw new RuntimeException(e);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      }<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      if (results != null) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span>        synchronized (results) {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>          results.add(result);<a name="line.285"></a>
-<span class="sourceLineNo">286</span>        }<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>  }<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>  @Test<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  public void testEndDelayThrowing() throws IOException {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    Configuration conf = HBaseConfiguration.create();<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    InetSocketAddress isa = new InetSocketAddress("localhost", 0);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    FaultyTestDelayedImplementation instance = new FaultyTestDelayedImplementation();<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    BlockingService service =<a name="line.296"></a>
-<span class="sourceLineNo">297</span>      TestDelayedRpcProtos.TestDelayedService.newReflectiveBlockingService(instance);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    rpcServer = new RpcServer(null, "testEndDelayThrowing",<a name="line.298"></a>
-<span class="sourceLineNo">299</span>        Lists.newArrayList(new RpcServer.BlockingServiceAndInterface(service, null)),<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        isa,<a name="line.300"></a>
-<span class="sourceLineNo">301</span>        conf,<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        new FifoRpcScheduler(conf, 1));<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    rpcServer.start();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    RpcClient rpcClient = RpcClientFactory.createClient(<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        conf, HConstants.DEFAULT_CLUSTER_ID.toString());<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    try {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      InetSocketAddress address = rpcServer.getListenerAddress();<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      if (address == null) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        throw new IOException("Listener channel is closed");<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      }<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      BlockingRpcChannel channel = rpcClient.createBlockingRpcChannel(<a name="line.311"></a>
-<span class="sourceLineNo">312</span>          ServerName.valueOf(address.getHostName(),address.getPort(), System.currentTimeMillis()),<a name="line.312"></a>
-<span class="sourceLineNo">313</span>        User.getCurrent(), 1000);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub =<a name="line.314"></a>
-<span class="sourceLineNo">315</span>        TestDelayedRpcProtos.TestDelayedService.newBlockingStub(channel);<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>      int result = 0xDEADBEEF;<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>      try {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        result = stub.test(null, TestArg.newBuilder().setDelay(false).build()).getResponse();<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      } catch (Exception e) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        fail("No exception should have been thrown.");<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      }<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      assertEquals(result, UNDELAYED);<a name="line.324"></a>
-<span class="sourceLineNo">325</span><a name="line.325"></a>
-<span class="sourceLineNo">326</span>      boolean caughtException = false;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      try {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>        result = stub.test(null, TestArg.newBuilder().setDelay(true).build()).getResponse();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      } catch(Exception e) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        // Exception thrown by server is enclosed in a RemoteException.<a name="line.330"></a>
-<span class="sourceLineNo">331</span>        if (e.getCause().getMessage().contains("java.lang.Exception: Something went wrong")) {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>          caughtException = true;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>        }<a name="line.333"></a>
-<span class="sourceLineNo">334</span>        LOG.warn("Caught exception, expected=" + caughtException);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      }<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      assertTrue(caughtException);<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    } finally {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      rpcClient.close();<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>   * Delayed calls to this class throw an exception.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  private static class FaultyTestDelayedImplementation extends TestDelayedImplementation {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    public FaultyTestDelayedImplementation() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      super(false);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    public TestResponse test(RpcController rpcController, TestArg arg)<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    throws ServiceException {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      LOG.info("In faulty test, delay=" + arg.getDelay());<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      if (!arg.getDelay()) return TestResponse.newBuilder().setResponse(UNDELAYED).build();<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      Delayable call = RpcServer.getCurrentCall();<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      call.startDelay(true);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      LOG.info("In faulty test, delaying");<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      try {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        call.endDelayThrowing(new Exception("Something went wrong"));<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      } catch (IOException e) {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        e.printStackTrace();<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      }<a name="line.362"></a>
-<span class="sourceLineNo">363</span>      // Client will receive the Exception, not this value.<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      return TestResponse.newBuilder().setResponse(DELAYED).build();<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>}<a name="line.367"></a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</pre>
-</div>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html
deleted file mode 100644
index c6a4fc3..0000000
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html
+++ /dev/null
@@ -1,439 +0,0 @@
-<!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> *<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * or more contributor license agreements.  See the NOTICE file<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * distributed with this work for additional information<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * to you under the Apache License, Version 2.0 (the<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * "License"); you may not use this file except in compliance<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * with the License.  You may obtain a copy of the License at<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * Unless required by applicable law or agreed to in writing, software<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * See the License for the specific language governing permissions and<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * limitations under the License.<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.ipc;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><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.assertTrue;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import static org.junit.Assert.fail;<a name="line.24"></a>
-<span class="sourceLineNo">025</span><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.net.InetSocketAddress;<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.List;<a name="line.29"></a>
-<span class="sourceLineNo">030</span><a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.commons.logging.Log;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.commons.logging.LogFactory;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.conf.Configuration;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.HBaseConfiguration;<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.testclassification.MediumTests;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.testclassification.RPCTests;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.ServerName;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestArg;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestResponse;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.security.User;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.log4j.AppenderSkeleton;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.log4j.Level;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.log4j.Logger;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.log4j.spi.LoggingEvent;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.junit.Test;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.junit.experimental.categories.Category;<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>import com.google.common.collect.Lists;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import com.google.protobuf.BlockingRpcChannel;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import com.google.protobuf.BlockingService;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import com.google.protobuf.RpcController;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import com.google.protobuf.ServiceException;<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> * Test that delayed RPCs work. Fire up three calls, the first of which should<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * be delayed. Check that the last two, which are undelayed, return before the<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * first one.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> */<a name="line.60"></a>
-<span class="sourceLineNo">061</span>@Category({RPCTests.class, MediumTests.class}) // Fails sometimes with small tests<a name="line.61"></a>
-<span class="sourceLineNo">062</span>public class TestDelayedRpc {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  private static final Log LOG = LogFactory.getLog(TestDelayedRpc.class);<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  public static RpcServerInterface rpcServer;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public static final int UNDELAYED = 0;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  public static final int DELAYED = 1;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  private static final int RPC_CLIENT_TIMEOUT = 30000;<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  @Test (timeout=60000)<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  public void testDelayedRpcImmediateReturnValue() throws Exception {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    testDelayedRpc(false);<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  }<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>  @Test (timeout=60000)<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  public void testDelayedRpcDelayedReturnValue() throws Exception {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    testDelayedRpc(true);<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>  private void testDelayedRpc(boolean delayReturnValue) throws Exception {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    LOG.info("Running testDelayedRpc delayReturnValue=" + delayReturnValue);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    Configuration conf = HBaseConfiguration.create();<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    InetSocketAddress isa = new InetSocketAddress("localhost", 0);<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    TestDelayedImplementation instance = new TestDelayedImplementation(delayReturnValue);<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    BlockingService service =<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      TestDelayedRpcProtos.TestDelayedService.newReflectiveBlockingService(instance);<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    rpcServer = new RpcServer(null, "testDelayedRpc",<a name="line.86"></a>
-<span class="sourceLineNo">087</span>        Lists.newArrayList(new RpcServer.BlockingServiceAndInterface(service, null)),<a name="line.87"></a>
-<span class="sourceLineNo">088</span>        isa,<a name="line.88"></a>
-<span class="sourceLineNo">089</span>        conf,<a name="line.89"></a>
-<span class="sourceLineNo">090</span>        new FifoRpcScheduler(conf, 1));<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    rpcServer.start();<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    RpcClient rpcClient = RpcClientFactory.createClient(<a name="line.92"></a>
-<span class="sourceLineNo">093</span>        conf, HConstants.DEFAULT_CLUSTER_ID.toString());<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    try {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      InetSocketAddress address = rpcServer.getListenerAddress();<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      if (address == null) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        throw new IOException("Listener channel is closed");<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      }<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      BlockingRpcChannel channel = rpcClient.createBlockingRpcChannel(<a name="line.99"></a>
-<span class="sourceLineNo">100</span>          ServerName.valueOf(address.getHostName(),address.getPort(), System.currentTimeMillis()),<a name="line.100"></a>
-<span class="sourceLineNo">101</span>          User.getCurrent(), RPC_CLIENT_TIMEOUT);<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub =<a name="line.102"></a>
-<span class="sourceLineNo">103</span>        TestDelayedRpcProtos.TestDelayedService.newBlockingStub(channel);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      List&lt;Integer&gt; results = new ArrayList&lt;Integer&gt;();<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      // Setting true sets 'delayed' on the client.<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      TestThread th1 = new TestThread(stub, true, results);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      // Setting 'false' means we will return UNDELAYED as response immediately.<a name="line.107"></a>
-<span class="sourceLineNo">108</span>      TestThread th2 = new TestThread(stub, false, results);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      TestThread th3 = new TestThread(stub, false, results);<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      th1.start();<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      Thread.sleep(100);<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      th2.start();<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      Thread.sleep(200);<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      th3.start();<a name="line.114"></a>
-<span class="sourceLineNo">115</span><a name="line.115"></a>
-<span class="sourceLineNo">116</span>      th1.join();<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      th2.join();<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      th3.join();<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>      // We should get the two undelayed responses first.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      assertEquals(UNDELAYED, results.get(0).intValue());<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      assertEquals(UNDELAYED, results.get(1).intValue());<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      assertEquals(results.get(2).intValue(), delayReturnValue ? DELAYED :  0xDEADBEEF);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    } finally {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      rpcClient.close();<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><a name="line.128"></a>
-<span class="sourceLineNo">129</span>  private static class ListAppender extends AppenderSkeleton {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    private final List&lt;String&gt; messages = new ArrayList&lt;String&gt;();<a name="line.130"></a>
-<span class="sourceLineNo">131</span><a name="line.131"></a>
-<span class="sourceLineNo">132</span>    @Override<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    protected void append(LoggingEvent event) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      messages.add(event.getMessage().toString());<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 void close() {<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>    @Override<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    public boolean requiresLayout() {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      return false;<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 List&lt;String&gt; getMessages() {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      return messages;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  }<a name="line.149"></a>
-<span class="sourceLineNo">150</span><a name="line.150"></a>
-<span class="sourceLineNo">151</span>  /**<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * Tests that we see a WARN message in the logs.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @throws Exception<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   */<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  @Test (timeout=60000)<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  public void testTooManyDelayedRpcs() throws Exception {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    Configuration conf = HBaseConfiguration.create();<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    final int MAX_DELAYED_RPC = 10;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    conf.setInt("hbase.ipc.warn.delayedrpc.number", MAX_DELAYED_RPC);<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    // Set up an appender to catch the "Too many delayed calls" that we expect.<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    ListAppender listAppender = new ListAppender();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    Logger log = Logger.getLogger(RpcServer.class);<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    log.addAppender(listAppender);<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    log.setLevel(Level.WARN);<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>    InetSocketAddress isa = new InetSocketAddress("localhost", 0);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    TestDelayedImplementation instance = new TestDelayedImplementation(true);<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    BlockingService service =<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      TestDelayedRpcProtos.TestDelayedService.newReflectiveBlockingService(instance);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    rpcServer = new RpcServer(null, "testTooManyDelayedRpcs",<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      Lists.newArrayList(new RpcServer.BlockingServiceAndInterface(service, null)),<a name="line.172"></a>
-<span class="sourceLineNo">173</span>        isa,<a name="line.173"></a>
-<span class="sourceLineNo">174</span>        conf,<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        new FifoRpcScheduler(conf, 1));<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    rpcServer.start();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    RpcClient rpcClient = RpcClientFactory.createClient(<a name="line.177"></a>
-<span class="sourceLineNo">178</span>        conf, HConstants.DEFAULT_CLUSTER_ID.toString());<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    try {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      InetSocketAddress address = rpcServer.getListenerAddress();<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      if (address == null) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        throw new IOException("Listener channel is closed");<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      }<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      BlockingRpcChannel channel = rpcClient.createBlockingRpcChannel(<a name="line.184"></a>
-<span class="sourceLineNo">185</span>          ServerName.valueOf(address.getHostName(),address.getPort(), System.currentTimeMillis()),<a name="line.185"></a>
-<span class="sourceLineNo">186</span>          User.getCurrent(), RPC_CLIENT_TIMEOUT);<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub =<a name="line.187"></a>
-<span class="sourceLineNo">188</span>        TestDelayedRpcProtos.TestDelayedService.newBlockingStub(channel);<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      Thread threads[] = new Thread[MAX_DELAYED_RPC + 1];<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      for (int i = 0; i &lt; MAX_DELAYED_RPC; i++) {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>        threads[i] = new TestThread(stub, true, null);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        threads[i].start();<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>      /* No warnings till here. */<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      assertTrue(listAppender.getMessages().isEmpty());<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>      /* This should give a warning. */<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      threads[MAX_DELAYED_RPC] = new TestThread(stub, true, null);<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      threads[MAX_DELAYED_RPC].start();<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>      for (int i = 0; i &lt; MAX_DELAYED_RPC; i++) {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        threads[i].join();<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      }<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>      assertFalse(listAppender.getMessages().isEmpty());<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      assertTrue(listAppender.getMessages().get(0).startsWith("Too many delayed calls"));<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>      log.removeAppender(listAppender);<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    } finally {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      rpcClient.close();<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>  public static class TestDelayedImplementation<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  implements TestDelayedRpcProtos.TestDelayedService.BlockingInterface {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    /**<a name="line.217"></a>
-<span class="sourceLineNo">218</span>     * Should the return value of delayed call be set at the end of the delay<a name="line.218"></a>
-<span class="sourceLineNo">219</span>     * or at call return.<a name="line.219"></a>
-<span class="sourceLineNo">220</span>     */<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    private final boolean delayReturnValue;<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>     * @param delayReturnValue Should the response to the delayed call be set<a name="line.224"></a>
-<span class="sourceLineNo">225</span>     * at the start or the end of the delay.<a name="line.225"></a>
-<span class="sourceLineNo">226</span>     */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    public TestDelayedImplementation(boolean delayReturnValue) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      this.delayReturnValue = delayReturnValue;<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
-<span class="sourceLineNo">230</span><a name="line.230"></a>
-<span class="sourceLineNo">231</span>    @Override<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    public TestResponse test(final RpcController rpcController, final TestArg testArg)<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    throws ServiceException {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      boolean delay = testArg.getDelay();<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      TestResponse.Builder responseBuilder = TestResponse.newBuilder();<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      if (!delay) {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        responseBuilder.setResponse(UNDELAYED);<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        return responseBuilder.build();<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      }<a name="line.239"></a>
-<span class="sourceLineNo">240</span>      final Delayable call = RpcServer.getCurrentCall();<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      call.startDelay(delayReturnValue);<a name="line.241"></a>
-<span class="sourceLineNo">242</span>      new Thread() {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        @Override<a name="line.243"></a>
-<span class="sourceLineNo">244</span>        public void run() {<a name="line.244"></a>
-<span class="sourceLineNo">245</span>          try {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>            Thread.sleep(500);<a name="line.246"></a>
-<span class="sourceLineNo">247</span>            TestResponse.Builder responseBuilder = TestResponse.newBuilder();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>            call.endDelay(delayReturnValue ?<a name="line.248"></a>
-<span class="sourceLineNo">249</span>                responseBuilder.setResponse(DELAYED).build() : null);<a name="line.249"></a>
-<span class="sourceLineNo">250</span>          } catch (Exception e) {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>            e.printStackTrace();<a name="line.251"></a>
-<span class="sourceLineNo">252</span>          }<a name="line.252"></a>
-<span class="sourceLineNo">253</span>        }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      }.start();<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      // This value should go back to client only if the response is set<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      // immediately at delay time.<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      responseBuilder.setResponse(0xDEADBEEF);<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      return responseBuilder.build();<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    }<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  }<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>  public static class TestThread extends Thread {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    private final TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    private final boolean delay;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    private final List&lt;Integer&gt; results;<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>    public TestThread(TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub,<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        boolean delay, List&lt;Integer&gt; results) {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      this.stub = stub;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      this.delay = delay;<a name="line.270"></a>
-<span class="sourceLineNo">271</span>      this.results = results;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    }<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    @Override<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    public void run() {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      Integer result;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      try {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>        result = new Integer(stub.test(null, TestArg.newBuilder().setDelay(delay).build()).<a name="line.278"></a>
-<span class="sourceLineNo">279</span>          getResponse());<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      } catch (ServiceException e) {<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        throw new RuntimeException(e);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      }<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      if (results != null) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span>        synchronized (results) {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>          results.add(result);<a name="line.285"></a>
-<span class="sourceLineNo">286</span>        }<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>  }<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>  @Test<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  public void testEndDelayThrowing() throws IOException {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    Configuration conf = HBaseConfiguration.create();<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    InetSocketAddress isa = new InetSocketAddress("localhost", 0);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    FaultyTestDelayedImplementation instance = new FaultyTestDelayedImplementation();<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    BlockingService service =<a name="line.296"></a>
-<span class="sourceLineNo">297</span>      TestDelayedRpcProtos.TestDelayedService.newReflectiveBlockingService(instance);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    rpcServer = new RpcServer(null, "testEndDelayThrowing",<a name="line.298"></a>
-<span class="sourceLineNo">299</span>        Lists.newArrayList(new RpcServer.BlockingServiceAndInterface(service, null)),<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        isa,<a name="line.300"></a>
-<span class="sourceLineNo">301</span>        conf,<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        new FifoRpcScheduler(conf, 1));<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    rpcServer.start();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    RpcClient rpcClient = RpcClientFactory.createClient(<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        conf, HConstants.DEFAULT_CLUSTER_ID.toString());<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    try {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      InetSocketAddress address = rpcServer.getListenerAddress();<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      if (address == null) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        throw new IOException("Listener channel is closed");<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      }<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      BlockingRpcChannel channel = rpcClient.createBlockingRpcChannel(<a name="line.311"></a>
-<span class="sourceLineNo">312</span>          ServerName.valueOf(address.getHostName(),address.getPort(), System.currentTimeMillis()),<a name="line.312"></a>
-<span class="sourceLineNo">313</span>        User.getCurrent(), 1000);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub =<a name="line.314"></a>
-<span class="sourceLineNo">315</span>        TestDelayedRpcProtos.TestDelayedService.newBlockingStub(channel);<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>      int result = 0xDEADBEEF;<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>      try {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        result = stub.test(null, TestArg.newBuilder().setDelay(false).build()).getResponse();<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      } catch (Exception e) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        fail("No exception should have been thrown.");<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      }<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      assertEquals(result, UNDELAYED);<a name="line.324"></a>
-<span class="sourceLineNo">325</span><a name="line.325"></a>
-<span class="sourceLineNo">326</span>      boolean caughtException = false;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      try {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>        result = stub.test(null, TestArg.newBuilder().setDelay(true).build()).getResponse();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      } catch(Exception e) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        // Exception thrown by server is enclosed in a RemoteException.<a name="line.330"></a>
-<span class="sourceLineNo">331</span>        if (e.getCause().getMessage().contains("java.lang.Exception: Something went wrong")) {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>          caughtException = true;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>        }<a name="line.333"></a>
-<span class="sourceLineNo">334</span>        LOG.warn("Caught exception, expected=" + caughtException);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      }<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      assertTrue(caughtException);<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    } finally {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      rpcClient.close();<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>   * Delayed calls to this class throw an exception.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  private static class FaultyTestDelayedImplementation extends TestDelayedImplementation {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    public FaultyTestDelayedImplementation() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      super(false);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    public TestResponse test(RpcController rpcController, TestArg arg)<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    throws ServiceException {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      LOG.info("In faulty test, delay=" + arg.getDelay());<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      if (!arg.getDelay()) return TestResponse.newBuilder().setResponse(UNDELAYED).build();<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      Delayable call = RpcServer.getCurrentCall();<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      call.startDelay(true);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      LOG.info("In faulty test, delaying");<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      try {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        call.endDelayThrowing(new Exception("Something went wrong"));<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      } catch (IOException e) {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        e.printStackTrace();<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      }<a name="line.362"></a>
-<span class="sourceLineNo">363</span>      // Client will receive the Exception, not this value.<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      return TestResponse.newBuilder().setResponse(DELAYED).build();<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>}<a name="line.367"></a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</pre>
-</div>
-</body>
-</html>


[28/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/checkstyle.rss
----------------------------------------------------------------------
diff --git a/checkstyle.rss b/checkstyle.rss
index de32341..7fe4ad8 100644
--- a/checkstyle.rss
+++ b/checkstyle.rss
@@ -25,8 +25,8 @@ under the License.
     <language>en-us</language>
     <copyright>&#169;2007 - 2016 The Apache Software Foundation</copyright>
     <item>
-      <title>File: 1666,
-             Errors: 12900,
+      <title>File: 1665,
+             Errors: 12894,
              Warnings: 0,
              Infos: 0
       </title>
@@ -6822,7 +6822,7 @@ under the License.
               </tr>
                           <tr>
                 <td>
-                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.thrift2.generated.TScan.java">org/apache/hadoop/hbase/thrift2/generated/TScan.java</a>
+                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.io.hfile.CachedBlock.java">org/apache/hadoop/hbase/io/hfile/CachedBlock.java</a>
                 </td>
                 <td>
                   0
@@ -6836,7 +6836,7 @@ under the License.
               </tr>
                           <tr>
                 <td>
-                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.io.hfile.CachedBlock.java">org/apache/hadoop/hbase/io/hfile/CachedBlock.java</a>
+                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.thrift2.generated.TScan.java">org/apache/hadoop/hbase/thrift2/generated/TScan.java</a>
                 </td>
                 <td>
                   0
@@ -7690,20 +7690,6 @@ under the License.
               </tr>
                           <tr>
                 <td>
-                  <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.ipc.Delayable.java">org/apache/hadoop/hbase/ipc/Delayable.java</a>
-                </td>
-                <td>
-                  0
-                </td>
-                <td>
-                  0
-                </td>
-                <td>
-                  7
-                </td>
-              </tr>
-                          <tr>
-                <td>
                   <a href="http://hbase.apache.org/checkstyle.html#org.apache.hadoop.hbase.security.HBaseSaslRpcServer.java">org/apache/hadoop/hbase/security/HBaseSaslRpcServer.java</a>
                 </td>
                 <td>
@@ -10093,7 +10079,7 @@ under the License.
                   0
                 </td>
                 <td>
-                  89
+                  90
                 </td>
               </tr>
                           <tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/coc.html
----------------------------------------------------------------------
diff --git a/coc.html b/coc.html
index 3d5130a..7d8678a 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Code of Conduct Policy
@@ -331,7 +331,7 @@ For flagrant violations requiring a firm response the PMC may opt to skip early
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/cygwin.html
----------------------------------------------------------------------
diff --git a/cygwin.html b/cygwin.html
index 906d4a0..8567df8 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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" />
@@ -673,7 +673,7 @@ Now your <b>HBase </b>server is running, <b>start coding</b> and build that next
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/dependencies.html
----------------------------------------------------------------------
diff --git a/dependencies.html b/dependencies.html
index 8053b76..d5c64a8 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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" />
@@ -518,7 +518,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/dependency-convergence.html
----------------------------------------------------------------------
diff --git a/dependency-convergence.html b/dependency-convergence.html
index aa4ee62..65f3140 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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" />
@@ -1593,7 +1593,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/dependency-info.html
----------------------------------------------------------------------
diff --git a/dependency-info.html b/dependency-info.html
index 941cdbc..edd52d5 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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" />
@@ -312,7 +312,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/dependency-management.html
----------------------------------------------------------------------
diff --git a/dependency-management.html b/dependency-management.html
index d1ea744..6569ebf 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <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" />
@@ -786,7 +786,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/allclasses-frame.html b/devapidocs/allclasses-frame.html
index be75d1c..442819e 100644
--- a/devapidocs/allclasses-frame.html
+++ b/devapidocs/allclasses-frame.html
@@ -482,7 +482,6 @@
 <li><a href="org/apache/hadoop/hbase/wal/DefaultWALProvider.Reader.html" title="interface in org.apache.hadoop.hbase.wal" target="classFrame"><i>DefaultWALProvider.Reader</i></a></li>
 <li><a href="org/apache/hadoop/hbase/wal/DefaultWALProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal" target="classFrame"><i>DefaultWALProvider.Writer</i></a></li>
 <li><a href="org/apache/hadoop/hbase/security/visibility/DefinedSetFilterScanLabelGenerator.html" title="class in org.apache.hadoop.hbase.security.visibility" target="classFrame">DefinedSetFilterScanLabelGenerator</a></li>
-<li><a href="org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc" target="classFrame"><i>Delayable</i></a></li>
 <li><a href="org/apache/hadoop/hbase/client/DelayingRunner.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">DelayingRunner</a></li>
 <li><a href="org/apache/hadoop/hbase/ipc/DelegatingPayloadCarryingRpcController.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">DelegatingPayloadCarryingRpcController</a></li>
 <li><a href="org/apache/hadoop/hbase/client/DelegatingRetryingCallable.html" title="class in org.apache.hadoop.hbase.client" target="classFrame">DelegatingRetryingCallable</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/allclasses-noframe.html
----------------------------------------------------------------------
diff --git a/devapidocs/allclasses-noframe.html b/devapidocs/allclasses-noframe.html
index 18a7b8e..00a724f 100644
--- a/devapidocs/allclasses-noframe.html
+++ b/devapidocs/allclasses-noframe.html
@@ -482,7 +482,6 @@
 <li><a href="org/apache/hadoop/hbase/wal/DefaultWALProvider.Reader.html" title="interface in org.apache.hadoop.hbase.wal"><i>DefaultWALProvider.Reader</i></a></li>
 <li><a href="org/apache/hadoop/hbase/wal/DefaultWALProvider.Writer.html" title="interface in org.apache.hadoop.hbase.wal"><i>DefaultWALProvider.Writer</i></a></li>
 <li><a href="org/apache/hadoop/hbase/security/visibility/DefinedSetFilterScanLabelGenerator.html" title="class in org.apache.hadoop.hbase.security.visibility">DefinedSetFilterScanLabelGenerator</a></li>
-<li><a href="org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc"><i>Delayable</i></a></li>
 <li><a href="org/apache/hadoop/hbase/client/DelayingRunner.html" title="class in org.apache.hadoop.hbase.client">DelayingRunner</a></li>
 <li><a href="org/apache/hadoop/hbase/ipc/DelegatingPayloadCarryingRpcController.html" title="class in org.apache.hadoop.hbase.ipc">DelegatingPayloadCarryingRpcController</a></li>
 <li><a href="org/apache/hadoop/hbase/client/DelegatingRetryingCallable.html" title="class in org.apache.hadoop.hbase.client">DelegatingRetryingCallable</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/devapidocs/constant-values.html b/devapidocs/constant-values.html
index cb231c4..af6383f 100644
--- a/devapidocs/constant-values.html
+++ b/devapidocs/constant-values.html
@@ -8279,40 +8279,26 @@
 <td class="colLast"><code>1073741824</code></td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.ipc.RpcServer.DEFAULT_WARN_DELAYED_CALLS">
-<!--   -->
-</a><code>private&nbsp;static&nbsp;final&nbsp;int</code></td>
-<td><code><a href="org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_WARN_DELAYED_CALLS">DEFAULT_WARN_DELAYED_CALLS</a></code></td>
-<td class="colLast"><code>1000</code></td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.ipc.RpcServer.DEFAULT_WARN_RESPONSE_SIZE">
 <!--   -->
 </a><code>private&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_WARN_RESPONSE_SIZE">DEFAULT_WARN_RESPONSE_SIZE</a></code></td>
 <td class="colLast"><code>104857600</code></td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.ipc.RpcServer.DEFAULT_WARN_RESPONSE_TIME">
 <!--   -->
 </a><code>private&nbsp;static&nbsp;final&nbsp;int</code></td>
 <td><code><a href="org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_WARN_RESPONSE_TIME">DEFAULT_WARN_RESPONSE_TIME</a></code></td>
 <td class="colLast"><code>10000</code></td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.ipc.RpcServer.FALLBACK_TO_INSECURE_CLIENT_AUTH">
 <!--   -->
 </a><code>public&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/7/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/ipc/RpcServer.html#FALLBACK_TO_INSECURE_CLIENT_AUTH">FALLBACK_TO_INSECURE_CLIENT_AUTH</a></code></td>
 <td class="colLast"><code>"hbase.ipc.server.fallback-to-simple-auth-allowed"</code></td>
 </tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.ipc.RpcServer.WARN_DELAYED_CALLS">
-<!--   -->
-</a><code>private&nbsp;static&nbsp;final&nbsp;<a href="http://docs.oracle.com/javase/7/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/ipc/RpcServer.html#WARN_DELAYED_CALLS">WARN_DELAYED_CALLS</a></code></td>
-<td class="colLast"><code>"hbase.ipc.warn.delayedrpc.number"</code></td>
-</tr>
 <tr class="altColor">
 <td class="colFirst"><a name="org.apache.hadoop.hbase.ipc.RpcServer.WARN_RESPONSE_SIZE">
 <!--   -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/devapidocs/index-all.html b/devapidocs/index-all.html
index 370e5bb..d84f32f 100644
--- a/devapidocs/index-all.html
+++ b/devapidocs/index-all.html
@@ -17462,8 +17462,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/wal/ProtobufLogReader.html#DEFAULT_WAL_TRAILER_WARN_SIZE">DEFAULT_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>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_WARN_DELAYED_CALLS">DEFAULT_WARN_DELAYED_CALLS</a></span> - Static 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="strong"><a href="./org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_WARN_RESPONSE_SIZE">DEFAULT_WARN_RESPONSE_SIZE</a></span> - Static 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="strong"><a href="./org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_WARN_RESPONSE_TIME">DEFAULT_WARN_RESPONSE_TIME</a></span> - Static 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>
@@ -17690,12 +17688,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/JMXListener.html#defRegionserverRMIRegistryPort">defRegionserverRMIRegistryPort</a></span> - Static variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/JMXListener.html" title="class in org.apache.hadoop.hbase">JMXListener</a></dt>
 <dd>&nbsp;</dd>
-<dt><a href="./org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">Delayable</span></a> - Interface in <a href="./org/apache/hadoop/hbase/ipc/package-summary.html">org.apache.hadoop.hbase.ipc</a></dt>
-<dd>
-<div class="block">A call whose response can be delayed by the server.</div>
-</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/RpcServer.html#delayedCalls">delayedCalls</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="strong"><a href="./org/apache/hadoop/hbase/regionserver/StoreFileScanner.html#delayedReseek">delayedReseek</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/StoreFileScanner.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileScanner</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/StoreFileScanner.html#delayedSeekKV">delayedSeekKV</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/StoreFileScanner.html" title="class in org.apache.hadoop.hbase.regionserver">StoreFileScanner</a></dt>
@@ -17708,10 +17700,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/MetricsConnection.RunnerStats.html#delayIntevalHist">delayIntevalHist</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/MetricsConnection.RunnerStats.html" title="class in org.apache.hadoop.hbase.client">MetricsConnection.RunnerStats</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/RpcServer.Call.html#delayResponse">delayResponse</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/RpcServer.Call.html#delayReturnValue">delayReturnValue</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/MetricsConnection.RunnerStats.html#delayRunners">delayRunners</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/MetricsConnection.RunnerStats.html" title="class in org.apache.hadoop.hbase.client">MetricsConnection.RunnerStats</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/DelegatingRetryingCallable.html#delegate">delegate</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/DelegatingRetryingCallable.html" title="class in org.apache.hadoop.hbase.client">DelegatingRetryingCallable</a></dt>
@@ -20479,24 +20467,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/io/hfile/NoOpDataBlockEncoder.html#endBlockEncoding(org.apache.hadoop.hbase.io.encoding.HFileBlockEncodingContext,%20java.io.DataOutputStream,%20byte[],%20org.apache.hadoop.hbase.io.hfile.BlockType)">endBlockEncoding(HFileBlockEncodingContext, DataOutputStream, byte[], BlockType)</a></span> - Method in class org.apache.hadoop.hbase.io.hfile.<a href="./org/apache/hadoop/hbase/io/hfile/NoOpDataBlockEncoder.html" title="class in org.apache.hadoop.hbase.io.hfile">NoOpDataBlockEncoder</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/Delayable.html#endDelay(java.lang.Object)">endDelay(Object)</a></span> - Method in interface org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a></dt>
-<dd>
-<div class="block">Signal that the  RPC server is now allowed to send the response.</div>
-</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/Delayable.html#endDelay()">endDelay()</a></span> - Method in interface org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a></dt>
-<dd>
-<div class="block">Signal the end of a delayed RPC, without specifying the return value.</div>
-</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/RpcServer.Call.html#endDelay(java.lang.Object)">endDelay(Object)</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/RpcServer.Call.html#endDelay()">endDelay()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/Delayable.html#endDelayThrowing(java.lang.Throwable)">endDelayThrowing(Throwable)</a></span> - Method in interface org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a></dt>
-<dd>
-<div class="block">End the call, throwing and exception to the caller.</div>
-</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/RpcServer.Call.html#endDelayThrowing(java.lang.Throwable)">endDelayThrowing(Throwable)</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/visibility/ExpressionParser.html#endDoubleQuotesFound(byte)">endDoubleQuotesFound(byte)</a></span> - Static method in class org.apache.hadoop.hbase.security.visibility.<a href="./org/apache/hadoop/hbase/security/visibility/ExpressionParser.html" title="class in org.apache.hadoop.hbase.security.visibility">ExpressionParser</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/compactions/OffPeakHours.OffPeakHoursImpl.html#endHour">endHour</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.compactions.<a href="./org/apache/hadoop/hbase/regionserver/compactions/OffPeakHours.OffPeakHoursImpl.html" title="class in org.apache.hadoop.hbase.regionserver.compactions">OffPeakHours.OffPeakHoursImpl</a></dt>
@@ -45566,10 +45536,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/RegionReplicaUtil.html#isDefaultReplica(org.apache.hadoop.hbase.HRegionInfo)">isDefaultReplica(HRegionInfo)</a></span> - Static method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/RegionReplicaUtil.html" title="class in org.apache.hadoop.hbase.client">RegionReplicaUtil</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/Delayable.html#isDelayed()">isDelayed()</a></span> - Method in interface org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/RpcServer.Call.html#isDelayed()">isDelayed()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/CellUtil.html#isDelete(org.apache.hadoop.hbase.Cell)">isDelete(Cell)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/CellUtil.html" title="class in org.apache.hadoop.hbase">CellUtil</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/CellUtil.html#isDelete(byte)">isDelete(byte)</a></span> - Static method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/CellUtil.html" title="class in org.apache.hadoop.hbase">CellUtil</a></dt>
@@ -46838,10 +46804,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/Increment.html#isReturnResults()">isReturnResults()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/Increment.html" title="class in org.apache.hadoop.hbase.client">Increment</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/Delayable.html#isReturnValueDelayed()">isReturnValueDelayed()</a></span> - Method in interface org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/RpcServer.Call.html#isReturnValueDelayed()">isReturnValueDelayed()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/Scan.html#isReversed()">isReversed()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/Scan.html" title="class in org.apache.hadoop.hbase.client">Scan</a></dt>
 <dd>
 <div class="block">Get whether this scan is a reversed one.</div>
@@ -74822,10 +74784,7 @@ service.</div>
 <div class="block">Sends a WARMUP RPC to the specified server to warmup the specified region.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/RpcServer.Call.html#sendResponseIfReady()">sendResponseIfReady()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a></dt>
-<dd>
-<div class="block">If we have a response, and delay is not set, then respond
- immediately.</div>
-</dd>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/HMaster.html#sendShutdownInterrupt()">sendShutdownInterrupt()</a></span> - Method in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/HRegionServer.html#sendShutdownInterrupt()">sendShutdownInterrupt()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/HRegionServer.html" title="class in org.apache.hadoop.hbase.regionserver">HRegionServer</a></dt>
@@ -81678,13 +81637,6 @@ service.</div>
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/JMXListener.html#startConnectorServer(int,%20int)">startConnectorServer(int, int)</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/JMXListener.html" title="class in org.apache.hadoop.hbase">JMXListener</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/Delayable.html#startDelay(boolean)">startDelay(boolean)</a></span> - Method in interface org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a></dt>
-<dd>
-<div class="block">Signal that the call response should be delayed, thus freeing the RPC
- server to handle different requests.</div>
-</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/RpcServer.Call.html#startDelay(boolean)">startDelay(boolean)</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/RpcServer.html#started">started</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>
 <div class="block">This flag is set to true after all threads are up and 'running' and the server is then opened
@@ -92280,8 +92232,6 @@ the order they are declared.</div>
 <dd>
 <div class="block">Wamrmup a region on this server.</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/RpcServer.html#WARN_DELAYED_CALLS">WARN_DELAYED_CALLS</a></span> - Static 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="strong"><a href="./org/apache/hadoop/hbase/ipc/RpcServer.html#WARN_RESPONSE_SIZE">WARN_RESPONSE_SIZE</a></span> - Static 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="strong"><a href="./org/apache/hadoop/hbase/ipc/RpcServer.html#WARN_RESPONSE_TIME">WARN_RESPONSE_TIME</a></span> - Static 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>
@@ -92290,8 +92240,6 @@ the order they are declared.</div>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/JvmPauseMonitor.html#WARN_THRESHOLD_KEY">WARN_THRESHOLD_KEY</a></span> - Static variable in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/JvmPauseMonitor.html" title="class in org.apache.hadoop.hbase.util">JvmPauseMonitor</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/RpcServer.html#warnDelayedCalls">warnDelayedCalls</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="strong"><a href="./org/apache/hadoop/hbase/master/ServerManager.html#warningSkew">warningSkew</a></span> - Variable in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/ServerManager.html" title="class in org.apache.hadoop.hbase.master">ServerManager</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/HMaster.html#warnOrThrowExceptionForFailure(boolean,%20java.lang.String,%20java.lang.String,%20java.lang.Exception)">warnOrThrowExceptionForFailure(boolean, String, String, Exception)</a></span> - Static method in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a></dt>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 cf2fd53..bdf8470 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
@@ -3154,124 +3154,118 @@ service.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><code>interface&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a></strong></code>
-<div class="block">A call whose response can be delayed by the server.</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/DelegatingPayloadCarryingRpcController.html" title="class in org.apache.hadoop.hbase.ipc">DelegatingPayloadCarryingRpcController</a></strong></code>
 <div class="block">Simple delegating controller for use with the <a href="../../../../../../org/apache/hadoop/hbase/ipc/RpcControllerFactory.html" title="class in org.apache.hadoop.hbase.ipc"><code>RpcControllerFactory</code></a> to help override
  standard behavior of a <a href="../../../../../../org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.html" title="class in org.apache.hadoop.hbase.ipc"><code>PayloadCarryingRpcController</code></a>.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/FailedServers.html" title="class in org.apache.hadoop.hbase.ipc">FailedServers</a></strong></code>
 <div class="block">A class to manage a list of servers that failed recently.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHandler.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRPCErrorHandler</a></strong></code>
 <div class="block">An interface for calling out of RPC for error conditions.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/IPCUtil.html" title="class in org.apache.hadoop.hbase.ipc">IPCUtil</a></strong></code>
 <div class="block">Utility to help ipc'ing.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/MasterCoprocessorRpcChannel.html" title="class in org.apache.hadoop.hbase.ipc">MasterCoprocessorRpcChannel</a></strong></code>
 <div class="block">Provides clients with an RPC connection to call coprocessor endpoint <code>Service</code>s
  against the active master.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServer.html" title="class in org.apache.hadoop.hbase.ipc">MetricsHBaseServer</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceFactoryImpl.html" title="class in org.apache.hadoop.hbase.ipc">MetricsHBaseServerSourceFactoryImpl</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceImpl.html" title="class in org.apache.hadoop.hbase.ipc">MetricsHBaseServerSourceImpl</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.html" title="class in org.apache.hadoop.hbase.ipc">PayloadCarryingRpcController</a></strong></code>
 <div class="block">Optionally carries Cells across the proxy/service interface down into ipc.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/RegionCoprocessorRpcChannel.html" title="class in org.apache.hadoop.hbase.ipc">RegionCoprocessorRpcChannel</a></strong></code>
 <div class="block">Provides clients with an RPC connection to call coprocessor endpoint <code>Service</code>s
  against a given table region.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/RegionServerCoprocessorRpcChannel.html" title="class in org.apache.hadoop.hbase.ipc">RegionServerCoprocessorRpcChannel</a></strong></code>
 <div class="block">Provides clients with an RPC connection to call coprocessor endpoint
  <code>Service</code>s against a given region server.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a></strong></code>
 <div class="block">Denotes a callback action that has to be executed at the end of an Rpc Call.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>interface&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/RpcClient.html" title="interface in org.apache.hadoop.hbase.ipc">RpcClient</a></strong></code>
 <div class="block">Interface for RpcClient implementations so ConnectionManager can handle it.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/RpcClientFactory.html" title="class in org.apache.hadoop.hbase.ipc">RpcClientFactory</a></strong></code>
 <div class="block">Factory to create a <a href="../../../../../../org/apache/hadoop/hbase/ipc/RpcClient.html" title="interface in org.apache.hadoop.hbase.ipc"><code>RpcClient</code></a></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/RpcClientImpl.html" title="class in org.apache.hadoop.hbase.ipc">RpcClientImpl</a></strong></code>
 <div class="block">Does RPC against a cluster.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/RpcControllerFactory.html" title="class in org.apache.hadoop.hbase.ipc">RpcControllerFactory</a></strong></code>
 <div class="block">Factory to create a <a href="../../../../../../org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.html" title="class in org.apache.hadoop.hbase.ipc"><code>PayloadCarryingRpcController</code></a></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/RpcExecutor.html" title="class in org.apache.hadoop.hbase.ipc">RpcExecutor</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/RpcSchedulerContext.html" title="class in org.apache.hadoop.hbase.ipc">RpcSchedulerContext</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>class&nbsp;</code></td>
 <td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/ServerRpcController.html" title="class in org.apache.hadoop.hbase.ipc">ServerRpcController</a></strong></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><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/TimeLimitedRpcController.html" title="class in org.apache.hadoop.hbase.ipc">TimeLimitedRpcController</a></strong></code>&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceStability.Unstable.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceStability.Unstable.html b/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceStability.Unstable.html
index 1a288a4..20f2daa 100644
--- a/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceStability.Unstable.html
+++ b/devapidocs/org/apache/hadoop/hbase/classification/class-use/InterfaceStability.Unstable.html
@@ -136,19 +136,19 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/http/lib/package-summary.html">org.apache.hadoop.hbase.http.lib</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/http/package-summary.html">org.apache.hadoop.hbase.http</a></td>
 <td class="colLast">
 <div class="block">
- This package provides user-selectable (via configuration) classes that add
- functionality to the web UI.</div>
+ Copied from hadoop source code.<br>
+ See https://issues.apache.org/jira/browse/HADOOP-10232 to know why.</div>
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/http/package-summary.html">org.apache.hadoop.hbase.http</a></td>
+<td class="colFirst"><a href="../../../../../../org/apache/hadoop/hbase/http/lib/package-summary.html">org.apache.hadoop.hbase.http.lib</a></td>
 <td class="colLast">
 <div class="block">
- Copied from hadoop source code.<br>
- See https://issues.apache.org/jira/browse/HADOOP-10232 to know why.</div>
+ This package provides user-selectable (via configuration) classes that add
+ functionality to the web UI.</div>
 </td>
 </tr>
 </tbody>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 a06e2e7..f5203f5 100644
--- a/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/classification/package-tree.html
@@ -81,11 +81,11 @@
 <h2 title="Annotation Type Hierarchy">Annotation Type Hierarchy</h2>
 <ul>
 <li type="circle">org.apache.hadoop.hbase.classification.<a href="../../../../../org/apache/hadoop/hbase/classification/InterfaceAudience.Private.html" title="annotation in org.apache.hadoop.hbase.classification"><span class="strong">InterfaceAudience.Private</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/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="strong">InterfaceStability.Evolving</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/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="strong">InterfaceAudience.Public</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/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="strong">InterfaceStability.Unstable</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/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="strong">InterfaceStability.Stable</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/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="strong">InterfaceStability.Evolving</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/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="strong">InterfaceAudience.LimitedPrivate</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/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="strong">InterfaceAudience.Public</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/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="strong">InterfaceStability.Stable</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/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 ====== -->

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 a70a4a8..428aab7 100644
--- a/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/client/package-tree.html
@@ -389,12 +389,12 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/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/7/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/AsyncProcess.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">AsyncProcess.Retry</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="strong">TableState.State</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Admin.CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">Admin.CompactType</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="strong">Durability</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/AsyncProcess.Retry.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">AsyncProcess.Retry</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/IsolationLevel.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">IsolationLevel</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="strong">Consistency</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/Admin.CompactType.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">Admin.CompactType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.client.<a href="../../../../../org/apache/hadoop/hbase/client/TableState.State.html" title="enum in org.apache.hadoop.hbase.client"><span class="strong">TableState.State</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 c0e8841..dbcc00f 100644
--- a/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/filter/package-tree.html
@@ -161,13 +161,13 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/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/7/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/RegexStringComparator.EngineType.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">RegexStringComparator.EngineType</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="strong">FilterWrapper.FilterRowRetCode</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">FuzzyRowFilter.Order</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/RegexStringComparator.EngineType.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">RegexStringComparator.EngineType</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="strong">CompareFilter.CompareOp</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="strong">Filter.ReturnCode</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.Order.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">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="strong">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="strong">FilterList.Operator</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="strong">Filter.ReturnCode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.filter.<a href="../../../../../org/apache/hadoop/hbase/filter/FuzzyRowFilter.SatisfiesCode.html" title="enum in org.apache.hadoop.hbase.filter"><span class="strong">FuzzyRowFilter.SatisfiesCode</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 816ca31..8c9224d 100644
--- a/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -270,12 +270,12 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.MemoryType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">Cacheable.MemoryType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/BlockPriority.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">BlockPriority</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="strong">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="strong">BlockType.BlockCategory</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/CacheConfig.ExternalBlockCaches.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">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="strong">HFileBlock.Writer.State</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/Cacheable.MemoryType.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">Cacheable.MemoryType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/org/apache/hadoop/hbase/ipc/CoprocessorRpcChannel.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/CoprocessorRpcChannel.html b/devapidocs/org/apache/hadoop/hbase/ipc/CoprocessorRpcChannel.html
index 69c41ef..359fea7 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/CoprocessorRpcChannel.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/CoprocessorRpcChannel.html
@@ -36,7 +36,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/ipc/ConnectionId.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/ipc/DelegatingPayloadCarryingRpcController.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/ipc/CoprocessorRpcChannel.html" target="_top">Frames</a></li>
@@ -321,7 +321,7 @@ public&nbsp;com.google.protobuf.Message&nbsp;<a href="../../../../../src-html/or
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/ipc/ConnectionId.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/ipc/DelegatingPayloadCarryingRpcController.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/ipc/CoprocessorRpcChannel.html" target="_top">Frames</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/org/apache/hadoop/hbase/ipc/Delayable.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/Delayable.html b/devapidocs/org/apache/hadoop/hbase/ipc/Delayable.html
deleted file mode 100644
index de8b5d3..0000000
--- a/devapidocs/org/apache/hadoop/hbase/ipc/Delayable.html
+++ /dev/null
@@ -1,315 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Delayable (Apache HBase 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Delayable (Apache HBase 2.0.0-SNAPSHOT API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/Delayable.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/ipc/CoprocessorRpcChannel.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/DelegatingPayloadCarryingRpcController.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/ipc/Delayable.html" target="_top">Frames</a></li>
-<li><a href="Delayable.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All 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>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method_summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&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.ipc</div>
-<h2 title="Interface Delayable" class="title">Interface Delayable</h2>
-</div>
-<div class="contentContainer">
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Known Subinterfaces:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a></dd>
-</dl>
-<dl>
-<dt>All Known Implementing Classes:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a></dd>
-</dl>
-<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 interface <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/Delayable.html#line.29">Delayable</a></pre>
-<div class="block">A call whose response can be delayed by the server.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========== METHOD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_summary">
-<!--   -->
-</a>
-<h3>Method Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#endDelay()">endDelay</a></strong>()</code>
-<div class="block">Signal the end of a delayed RPC, without specifying the return value.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#endDelay(java.lang.Object)">endDelay</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;result)</code>
-<div class="block">Signal that the  RPC server is now allowed to send the response.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#endDelayThrowing(java.lang.Throwable)">endDelayThrowing</a></strong>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t)</code>
-<div class="block">End the call, throwing and exception to the caller.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#isDelayed()">isDelayed</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#isReturnValueDelayed()">isReturnValueDelayed</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#startDelay(boolean)">startDelay</a></strong>(boolean&nbsp;delayReturnValue)</code>
-<div class="block">Signal that the call response should be delayed, thus freeing the RPC
- server to handle different requests.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="startDelay(boolean)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>startDelay</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/Delayable.html#line.38">startDelay</a>(boolean&nbsp;delayReturnValue)</pre>
-<div class="block">Signal that the call response should be delayed, thus freeing the RPC
- server to handle different requests.</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>delayReturnValue</code> - Controls whether the return value of the call
- should be set when ending the delay or right away.  There are cases when
- the return value can be set right away, even if the call is delayed.</dd></dl>
-</li>
-</ul>
-<a name="isDelayed()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isDelayed</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/Delayable.html#line.43">isDelayed</a>()</pre>
-<dl><dt><span class="strong">Returns:</span></dt><dd>is the call delayed?</dd></dl>
-</li>
-</ul>
-<a name="isReturnValueDelayed()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>isReturnValueDelayed</h4>
-<pre>boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/Delayable.html#line.48">isReturnValueDelayed</a>()</pre>
-<dl><dt><span class="strong">Returns:</span></dt><dd>is the return value delayed?</dd></dl>
-</li>
-</ul>
-<a name="endDelay(java.lang.Object)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>endDelay</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/Delayable.html#line.57">endDelay</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>&nbsp;result)
-              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Signal that the  RPC server is now allowed to send the response.</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>result</code> - The value to return to the caller.  If the corresponding
- delay response specified that the return value should
- not be delayed, this parameter must be null.</dd>
-<dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/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="endDelay()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>endDelay</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/Delayable.html#line.64">endDelay</a>()
-              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">Signal the end of a delayed RPC, without specifying the return value.  Use
- this only if the return value was not delayed</div>
-<dl><dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/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="endDelayThrowing(java.lang.Throwable)">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>endDelayThrowing</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/Delayable.html#line.72">endDelayThrowing</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t)
-                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<div class="block">End the call, throwing and exception to the caller.  This works regardless
- of the return value being delayed.</div>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>t</code> - Object to throw to the client.</dd>
-<dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/Delayable.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/ipc/CoprocessorRpcChannel.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/DelegatingPayloadCarryingRpcController.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/ipc/Delayable.html" target="_top">Frames</a></li>
-<li><a href="Delayable.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All 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>Field&nbsp;|&nbsp;</li>
-<li>Constr&nbsp;|&nbsp;</li>
-<li><a href="#method_summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li>Constr&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;2016 <a href="http://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/6d411951/devapidocs/org/apache/hadoop/hbase/ipc/DelegatingPayloadCarryingRpcController.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/DelegatingPayloadCarryingRpcController.html b/devapidocs/org/apache/hadoop/hbase/ipc/DelegatingPayloadCarryingRpcController.html
index e6e97d7..a52b8e5 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/DelegatingPayloadCarryingRpcController.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/DelegatingPayloadCarryingRpcController.html
@@ -35,7 +35,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/ipc/CoprocessorRpcChannel.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/ipc/EmptyServiceNameException.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -359,7 +359,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ipc/PayloadCarryingRpcCo
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/ipc/CoprocessorRpcChannel.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/ipc/EmptyServiceNameException.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/org/apache/hadoop/hbase/ipc/RpcCallContext.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/RpcCallContext.html b/devapidocs/org/apache/hadoop/hbase/ipc/RpcCallContext.html
index 78c5244..7879330 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/RpcCallContext.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/RpcCallContext.html
@@ -86,18 +86,13 @@
 <ul class="blockList">
 <li class="blockList">
 <dl>
-<dt>All Superinterfaces:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a></dd>
-</dl>
-<dl>
 <dt>All Known Implementing Classes:</dt>
 <dd><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a></dd>
 </dl>
 <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 interface <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcCallContext.html#line.27">RpcCallContext</a>
-extends <a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a></pre>
+public interface <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcCallContext.html#line.27">RpcCallContext</a></pre>
 </li>
 </ul>
 </div>
@@ -179,13 +174,6 @@ extends <a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html" titl
 </td>
 </tr>
 </table>
-<ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_org.apache.hadoop.hbase.ipc.Delayable">
-<!--   -->
-</a>
-<h3>Methods inherited from interface&nbsp;org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#endDelay()">endDelay</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#endDelay(java.lang.Object)">endDelay</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#endDelayThrowing(java.lang.Throwable)">endDelayThrowing</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#isDelayed()">isDelayed</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#isReturnValueDelayed()">isReturnValueDelayed</a>, <a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html#startDelay(boolean)">startDelay</a></code></li>
-</ul>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 e221010..33f5b23 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2019">RpcServer.BlockingServiceAndInterface</a>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.1957">RpcServer.BlockingServiceAndInterface</a>
 extends <a href="http://docs.oracle.com/javase/7/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
@@ -200,7 +200,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>service</h4>
-<pre>private final&nbsp;com.google.protobuf.BlockingService <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html#line.2020">service</a></pre>
+<pre>private final&nbsp;com.google.protobuf.BlockingService <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html#line.1958">service</a></pre>
 </li>
 </ul>
 <a name="serviceInterface">
@@ -209,7 +209,7 @@ extends <a href="http://docs.oracle.com/javase/7/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/7/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.2021">serviceInterface</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/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.1959">serviceInterface</a></pre>
 </li>
 </ul>
 </li>
@@ -226,7 +226,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RpcServer.BlockingServiceAndInterface</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html#line.2022">RpcServer.BlockingServiceAndInterface</a>(com.google.protobuf.BlockingService&nbsp;service,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html#line.1960">RpcServer.BlockingServiceAndInterface</a>(com.google.protobuf.BlockingService&nbsp;service,
                                      <a href="http://docs.oracle.com/javase/7/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>
@@ -244,7 +244,7 @@ extends <a href="http://docs.oracle.com/javase/7/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/7/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.2027">getServiceInterface</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.1965">getServiceInterface</a>()</pre>
 </li>
 </ul>
 <a name="getBlockingService()">
@@ -253,7 +253,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getBlockingService</h4>
-<pre>public&nbsp;com.google.protobuf.BlockingService&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html#line.2030">getBlockingService</a>()</pre>
+<pre>public&nbsp;com.google.protobuf.BlockingService&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.BlockingServiceAndInterface.html#line.1968">getBlockingService</a>()</pre>
 </li>
 </ul>
 </li>


[26/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html
index 4a259ee..f7bb610 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.1251">RpcServer.Connection</a>
+<pre>public class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.1189">RpcServer.Connection</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 <div class="block">Reads calls from a connection and queues them for handling.</div>
 </li>
@@ -454,7 +454,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>connectionPreambleRead</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1253">connectionPreambleRead</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1191">connectionPreambleRead</a></pre>
 </li>
 </ul>
 <a name="connectionHeaderRead">
@@ -463,7 +463,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>connectionHeaderRead</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1255">connectionHeaderRead</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1193">connectionHeaderRead</a></pre>
 </li>
 </ul>
 <a name="channel">
@@ -472,7 +472,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>channel</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/SocketChannel.html?is-external=true" title="class or interface in java.nio.channels">SocketChannel</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1256">channel</a></pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/SocketChannel.html?is-external=true" title="class or interface in java.nio.channels">SocketChannel</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1194">channel</a></pre>
 </li>
 </ul>
 <a name="data">
@@ -481,7 +481,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>data</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/RpcServer.Connection.html#line.1257">data</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/RpcServer.Connection.html#line.1195">data</a></pre>
 </li>
 </ul>
 <a name="dataLengthBuffer">
@@ -490,7 +490,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>dataLengthBuffer</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/RpcServer.Connection.html#line.1258">dataLengthBuffer</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/RpcServer.Connection.html#line.1196">dataLengthBuffer</a></pre>
 </li>
 </ul>
 <a name="responseQueue">
@@ -499,7 +499,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>responseQueue</h4>
-<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentLinkedDeque.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentLinkedDeque</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1259">responseQueue</a></pre>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ConcurrentLinkedDeque.html?is-external=true" title="class or interface in java.util.concurrent">ConcurrentLinkedDeque</a>&lt;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1197">responseQueue</a></pre>
 </li>
 </ul>
 <a name="responseWriteLock">
@@ -508,7 +508,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>responseWriteLock</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1260">responseWriteLock</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/locks/Lock.html?is-external=true" title="class or interface in java.util.concurrent.locks">Lock</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1198">responseWriteLock</a></pre>
 </li>
 </ul>
 <a name="rpcCount">
@@ -517,7 +517,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>rpcCount</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1261">rpcCount</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1199">rpcCount</a></pre>
 </li>
 </ul>
 <a name="lastContact">
@@ -526,7 +526,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>lastContact</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1262">lastContact</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1200">lastContact</a></pre>
 </li>
 </ul>
 <a name="addr">
@@ -535,7 +535,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>addr</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/RpcServer.Connection.html#line.1263">addr</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/RpcServer.Connection.html#line.1201">addr</a></pre>
 </li>
 </ul>
 <a name="socket">
@@ -544,7 +544,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>socket</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1264">socket</a></pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/net/Socket.html?is-external=true" title="class or interface in java.net">Socket</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1202">socket</a></pre>
 </li>
 </ul>
 <a name="hostAddress">
@@ -553,7 +553,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>hostAddress</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.Connection.html#line.1267">hostAddress</a></pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.Connection.html#line.1205">hostAddress</a></pre>
 </li>
 </ul>
 <a name="remotePort">
@@ -562,7 +562,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>remotePort</h4>
-<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1268">remotePort</a></pre>
+<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1206">remotePort</a></pre>
 </li>
 </ul>
 <a name="connectionHeader">
@@ -571,7 +571,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>connectionHeader</h4>
-<pre>org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ConnectionHeader <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1269">connectionHeader</a></pre>
+<pre>org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ConnectionHeader <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1207">connectionHeader</a></pre>
 </li>
 </ul>
 <a name="codec">
@@ -580,7 +580,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>codec</h4>
-<pre>private&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/RpcServer.Connection.html#line.1273">codec</a></pre>
+<pre>private&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/RpcServer.Connection.html#line.1211">codec</a></pre>
 <div class="block">Codec the client asked use.</div>
 </li>
 </ul>
@@ -590,7 +590,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>compressionCodec</h4>
-<pre>private&nbsp;org.apache.hadoop.io.compress.CompressionCodec <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1277">compressionCodec</a></pre>
+<pre>private&nbsp;org.apache.hadoop.io.compress.CompressionCodec <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1215">compressionCodec</a></pre>
 <div class="block">Compression codec the client asked us use.</div>
 </li>
 </ul>
@@ -600,7 +600,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>service</h4>
-<pre>com.google.protobuf.BlockingService <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1278">service</a></pre>
+<pre>com.google.protobuf.BlockingService <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1216">service</a></pre>
 </li>
 </ul>
 <a name="authMethod">
@@ -609,7 +609,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>authMethod</h4>
-<pre>private&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/RpcServer.Connection.html#line.1280">authMethod</a></pre>
+<pre>private&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/RpcServer.Connection.html#line.1218">authMethod</a></pre>
 </li>
 </ul>
 <a name="saslContextEstablished">
@@ -618,7 +618,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>saslContextEstablished</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1281">saslContextEstablished</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1219">saslContextEstablished</a></pre>
 </li>
 </ul>
 <a name="skipInitialSaslHandshake">
@@ -627,7 +627,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>skipInitialSaslHandshake</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1282">skipInitialSaslHandshake</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1220">skipInitialSaslHandshake</a></pre>
 </li>
 </ul>
 <a name="unwrappedData">
@@ -636,7 +636,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>unwrappedData</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/RpcServer.Connection.html#line.1283">unwrappedData</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/RpcServer.Connection.html#line.1221">unwrappedData</a></pre>
 </li>
 </ul>
 <a name="unwrappedDataLengthBuffer">
@@ -645,7 +645,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>unwrappedDataLengthBuffer</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/RpcServer.Connection.html#line.1285">unwrappedDataLengthBuffer</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/RpcServer.Connection.html#line.1223">unwrappedDataLengthBuffer</a></pre>
 </li>
 </ul>
 <a name="useSasl">
@@ -654,7 +654,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>useSasl</h4>
-<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1286">useSasl</a></pre>
+<pre>boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1224">useSasl</a></pre>
 </li>
 </ul>
 <a name="saslServer">
@@ -663,7 +663,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>saslServer</h4>
-<pre><a href="http://docs.oracle.com/javase/7/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/RpcServer.Connection.html#line.1287">saslServer</a></pre>
+<pre><a href="http://docs.oracle.com/javase/7/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/RpcServer.Connection.html#line.1225">saslServer</a></pre>
 </li>
 </ul>
 <a name="useWrap">
@@ -672,7 +672,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>useWrap</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1288">useWrap</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1226">useWrap</a></pre>
 </li>
 </ul>
 <a name="AUTHORIZATION_FAILED_CALLID">
@@ -681,7 +681,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>AUTHORIZATION_FAILED_CALLID</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1290">AUTHORIZATION_FAILED_CALLID</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1228">AUTHORIZATION_FAILED_CALLID</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.Connection.AUTHORIZATION_FAILED_CALLID">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -691,7 +691,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>authFailedCall</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1291">authFailedCall</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1229">authFailedCall</a></pre>
 </li>
 </ul>
 <a name="authFailedResponse">
@@ -700,7 +700,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>authFailedResponse</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/ByteArrayOutputStream.html?is-external=true" title="class or interface in java.io">ByteArrayOutputStream</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1293">authFailedResponse</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/ByteArrayOutputStream.html?is-external=true" title="class or interface in java.io">ByteArrayOutputStream</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1231">authFailedResponse</a></pre>
 </li>
 </ul>
 <a name="SASL_CALLID">
@@ -709,7 +709,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>SASL_CALLID</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1296">SASL_CALLID</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1234">SASL_CALLID</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.Connection.SASL_CALLID">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -719,7 +719,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>saslCall</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1297">saslCall</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1235">saslCall</a></pre>
 </li>
 </ul>
 <a name="authenticatedWithFallback">
@@ -728,7 +728,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>authenticatedWithFallback</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1301">authenticatedWithFallback</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1239">authenticatedWithFallback</a></pre>
 </li>
 </ul>
 <a name="retryImmediatelySupported">
@@ -737,7 +737,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>retryImmediatelySupported</h4>
-<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1303">retryImmediatelySupported</a></pre>
+<pre>private&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1241">retryImmediatelySupported</a></pre>
 </li>
 </ul>
 <a name="attemptingUser">
@@ -746,7 +746,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>attemptingUser</h4>
-<pre>public&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1305">attemptingUser</a></pre>
+<pre>public&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1243">attemptingUser</a></pre>
 </li>
 </ul>
 <a name="user">
@@ -755,7 +755,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <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/RpcServer.Connection.html#line.1306">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/RpcServer.Connection.html#line.1244">user</a></pre>
 </li>
 </ul>
 <a name="ugi">
@@ -764,7 +764,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <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/RpcServer.Connection.html#line.1307">ugi</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.security.UserGroupInformation <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1245">ugi</a></pre>
 </li>
 </ul>
 </li>
@@ -781,7 +781,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RpcServer.Connection</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1309">RpcServer.Connection</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/SocketChannel.html?is-external=true" title="class or interface in java.nio.channels">SocketChannel</a>&nbsp;channel,
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1247">RpcServer.Connection</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/SocketChannel.html?is-external=true" title="class or interface in java.nio.channels">SocketChannel</a>&nbsp;channel,
                     long&nbsp;lastContact)</pre>
 </li>
 </ul>
@@ -799,7 +799,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>toString</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.Connection.html#line.1333">toString</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.Connection.html#line.1271">toString</a>()</pre>
 <dl>
 <dt><strong>Overrides:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></code></dd>
@@ -812,7 +812,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getHostAddress</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.Connection.html#line.1337">getHostAddress</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.Connection.html#line.1275">getHostAddress</a>()</pre>
 </li>
 </ul>
 <a name="getHostInetAddress()">
@@ -821,7 +821,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getHostInetAddress</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.Connection.html#line.1341">getHostInetAddress</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.Connection.html#line.1279">getHostInetAddress</a>()</pre>
 </li>
 </ul>
 <a name="getRemotePort()">
@@ -830,7 +830,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRemotePort</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1345">getRemotePort</a>()</pre>
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1283">getRemotePort</a>()</pre>
 </li>
 </ul>
 <a name="setLastContact(long)">
@@ -839,7 +839,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setLastContact</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1349">setLastContact</a>(long&nbsp;lastContact)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1287">setLastContact</a>(long&nbsp;lastContact)</pre>
 </li>
 </ul>
 <a name="getVersionInfo()">
@@ -848,7 +848,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getVersionInfo</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.VersionInfo&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1353">getVersionInfo</a>()</pre>
+<pre>public&nbsp;org.apache.hadoop.hbase.protobuf.generated.HBaseProtos.VersionInfo&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1291">getVersionInfo</a>()</pre>
 </li>
 </ul>
 <a name="isIdle()">
@@ -857,7 +857,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>isIdle</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1361">isIdle</a>()</pre>
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1299">isIdle</a>()</pre>
 </li>
 </ul>
 <a name="decRpcCount()">
@@ -866,7 +866,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>decRpcCount</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1366">decRpcCount</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1304">decRpcCount</a>()</pre>
 </li>
 </ul>
 <a name="incRpcCount()">
@@ -875,7 +875,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>incRpcCount</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1371">incRpcCount</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1309">incRpcCount</a>()</pre>
 </li>
 </ul>
 <a name="timedOut(long)">
@@ -884,7 +884,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>timedOut</h4>
-<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1375">timedOut</a>(long&nbsp;currentTime)</pre>
+<pre>protected&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1313">timedOut</a>(long&nbsp;currentTime)</pre>
 </li>
 </ul>
 <a name="getAuthorizedUgi(java.lang.String)">
@@ -893,7 +893,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getAuthorizedUgi</h4>
-<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1379">getAuthorizedUgi</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;authorizedId)
+<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1317">getAuthorizedUgi</a>(<a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -905,7 +905,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>saslReadAndProcess</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1398">saslReadAndProcess</a>(byte[]&nbsp;saslToken)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1336">saslReadAndProcess</a>(byte[]&nbsp;saslToken)
                          throws <a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -919,7 +919,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>doRawSaslReply</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1506">doRawSaslReply</a>(<a href="../../../../../org/apache/hadoop/hbase/security/SaslStatus.html" title="enum in org.apache.hadoop.hbase.security">SaslStatus</a>&nbsp;status,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1444">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/7/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/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;error)
@@ -935,7 +935,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>disposeSasl</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1535">disposeSasl</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1473">disposeSasl</a>()</pre>
 </li>
 </ul>
 <a name="readPreamble()">
@@ -944,7 +944,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>readPreamble</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1546">readPreamble</a>()
+<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1484">readPreamble</a>()
                   throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -956,7 +956,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>read4Bytes</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1602">read4Bytes</a>()
+<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1540">read4Bytes</a>()
                 throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -968,7 +968,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>readAndProcess</h4>
-<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1618">readAndProcess</a>()
+<pre>public&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1556">readAndProcess</a>()
                    throws <a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">Read off the wire. If there is not enough data to read, update the connection state with
@@ -985,7 +985,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>process</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1676">process</a>()
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1614">process</a>()
               throws <a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">Process the data buffer and clean the connection state for the next call.</div>
@@ -1000,7 +1000,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getFatalConnectionString</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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.Connection.html#line.1696">getFatalConnectionString</a>(int&nbsp;version,
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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.Connection.html#line.1634">getFatalConnectionString</a>(int&nbsp;version,
                               byte&nbsp;authByte)</pre>
 </li>
 </ul>
@@ -1010,7 +1010,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>doBadPreambleHandling</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1702">doBadPreambleHandling</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg)
+<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1640">doBadPreambleHandling</a>(<a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -1022,7 +1022,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>doBadPreambleHandling</h4>
-<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1706">doBadPreambleHandling</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;msg,
+<pre>private&nbsp;int&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1644">doBadPreambleHandling</a>(<a href="http://docs.oracle.com/javase/7/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/7/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/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -1035,7 +1035,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>processConnectionHeader</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1716">processConnectionHeader</a>(byte[]&nbsp;buf)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1654">processConnectionHeader</a>(byte[]&nbsp;buf)
                               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -1047,7 +1047,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setupCellBlockCodecs</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1779">setupCellBlockCodecs</a>(org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;header)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1717">setupCellBlockCodecs</a>(org.apache.hadoop.hbase.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="strong">Throws:</span></dt>
@@ -1060,7 +1060,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>processUnwrappedData</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1799">processUnwrappedData</a>(byte[]&nbsp;inBuf)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1737">processUnwrappedData</a>(byte[]&nbsp;inBuf)
                            throws <a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -1074,7 +1074,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>processOneRpc</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1837">processOneRpc</a>(byte[]&nbsp;buf)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1775">processOneRpc</a>(byte[]&nbsp;buf)
                     throws <a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -1088,7 +1088,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>processRequest</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1859">processRequest</a>(byte[]&nbsp;buf)
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1797">processRequest</a>(byte[]&nbsp;buf)
                        throws <a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl><dt><span class="strong">Parameters:</span></dt><dd><code>buf</code> - Has the request header and the request param and optionally encoded data buffer
@@ -1104,7 +1104,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>authorizeConnection</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1948">authorizeConnection</a>()
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1886">authorizeConnection</a>()
                              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -1116,7 +1116,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>close</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1973">close</a>()</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1911">close</a>()</pre>
 </li>
 </ul>
 <a name="createUser(org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ConnectionHeader)">
@@ -1125,7 +1125,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>createUser</h4>
-<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#line.1985">createUser</a>(org.apache.hadoop.hbase.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/RpcServer.Connection.html#line.1923">createUser</a>(org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;head)</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html
index ed3a565..557bcf7 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html
@@ -103,7 +103,7 @@
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.666">RpcServer.Listener.Reader</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.604">RpcServer.Listener.Reader</a>
 extends <a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></pre>
 </li>
@@ -215,7 +215,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>adding</h4>
-<pre>private volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html#line.667">adding</a></pre>
+<pre>private volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html#line.605">adding</a></pre>
 </li>
 </ul>
 <a name="readSelector">
@@ -224,7 +224,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>readSelector</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/Selector.html?is-external=true" title="class or interface in java.nio.channels">Selector</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html#line.668">readSelector</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/Selector.html?is-external=true" title="class or interface in java.nio.channels">Selector</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html#line.606">readSelector</a></pre>
 </li>
 </ul>
 </li>
@@ -241,7 +241,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RpcServer.Listener.Reader</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html#line.670">RpcServer.Listener.Reader</a>()
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html#line.608">RpcServer.Listener.Reader</a>()
                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -261,7 +261,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html#line.674">run</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html#line.612">run</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
@@ -274,7 +274,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>doRunLoop</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html#line.686">doRunLoop</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html#line.624">doRunLoop</a>()</pre>
 </li>
 </ul>
 <a name="startAdd()">
@@ -283,7 +283,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>startAdd</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html#line.720">startAdd</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html#line.658">startAdd</a>()</pre>
 <div class="block">This gets reader into the state that waits for the new channel
  to be registered with readSelector. If it was waiting in select()
  the thread will be woken up, otherwise whenever select() is called
@@ -297,7 +297,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockList">
 <li class="blockList">
 <h4>registerChannel</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/SelectionKey.html?is-external=true" title="class or interface in java.nio.channels">SelectionKey</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html#line.725">registerChannel</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/SocketChannel.html?is-external=true" title="class or interface in java.nio.channels">SocketChannel</a>&nbsp;channel)
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/SelectionKey.html?is-external=true" title="class or interface in java.nio.channels">SelectionKey</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html#line.663">registerChannel</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/SocketChannel.html?is-external=true" title="class or interface in java.nio.channels">SocketChannel</a>&nbsp;channel)
                              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -309,7 +309,7 @@ implements <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.
 <ul class="blockListLast">
 <li class="blockList">
 <h4>finishAdd</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html#line.730">finishAdd</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html#line.668">finishAdd</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html
index 07f695e..7fef12a 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html
@@ -108,7 +108,7 @@
 </dl>
 <hr>
 <br>
-<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.618">RpcServer.Listener</a>
+<pre>private class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.556">RpcServer.Listener</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></pre>
 <div class="block">Listens on the socket. Creates jobs for the handler threads</div>
 </li>
@@ -300,7 +300,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>acceptChannel</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/ServerSocketChannel.html?is-external=true" title="class or interface in java.nio.channels">ServerSocketChannel</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.620">acceptChannel</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/ServerSocketChannel.html?is-external=true" title="class or interface in java.nio.channels">ServerSocketChannel</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.558">acceptChannel</a></pre>
 </li>
 </ul>
 <a name="selector">
@@ -309,7 +309,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>selector</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/Selector.html?is-external=true" title="class or interface in java.nio.channels">Selector</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.621">selector</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/Selector.html?is-external=true" title="class or interface in java.nio.channels">Selector</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.559">selector</a></pre>
 </li>
 </ul>
 <a name="readers">
@@ -318,7 +318,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>readers</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Listener.Reader</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.622">readers</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Listener.Reader</a>[] <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.560">readers</a></pre>
 </li>
 </ul>
 <a name="currentReader">
@@ -327,7 +327,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>currentReader</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.623">currentReader</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.561">currentReader</a></pre>
 </li>
 </ul>
 <a name="rand">
@@ -336,7 +336,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>rand</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.624">rand</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/Random.html?is-external=true" title="class or interface in java.util">Random</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.562">rand</a></pre>
 </li>
 </ul>
 <a name="lastCleanupRunTime">
@@ -345,7 +345,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>lastCleanupRunTime</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.625">lastCleanupRunTime</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.563">lastCleanupRunTime</a></pre>
 </li>
 </ul>
 <a name="cleanupInterval">
@@ -354,7 +354,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanupInterval</h4>
-<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.627">cleanupInterval</a></pre>
+<pre>private&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.565">cleanupInterval</a></pre>
 </li>
 </ul>
 <a name="backlogLength">
@@ -363,7 +363,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>backlogLength</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.629">backlogLength</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.567">backlogLength</a></pre>
 </li>
 </ul>
 <a name="readPool">
@@ -372,7 +372,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>readPool</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.631">readPool</a></pre>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/ExecutorService.html?is-external=true" title="class or interface in java.util.concurrent">ExecutorService</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.569">readPool</a></pre>
 </li>
 </ul>
 </li>
@@ -389,7 +389,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RpcServer.Listener</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.633">RpcServer.Listener</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.571">RpcServer.Listener</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;name)
                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -409,7 +409,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>cleanupConnections</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.743">cleanupConnections</a>(boolean&nbsp;force)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.681">cleanupConnections</a>(boolean&nbsp;force)</pre>
 <div class="block">cleanup connections from connectionList. Choose a random range
  to scan and also have a limit on the number of the connections
  that will be cleanedup per run. The criteria for cleanup is the time
@@ -424,7 +424,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.790">run</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.728">run</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
@@ -439,7 +439,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>closeCurrentConnection</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.858">closeCurrentConnection</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/SelectionKey.html?is-external=true" title="class or interface in java.nio.channels">SelectionKey</a>&nbsp;key,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.796">closeCurrentConnection</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/SelectionKey.html?is-external=true" title="class or interface in java.nio.channels">SelectionKey</a>&nbsp;key,
                           <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;e)</pre>
 </li>
 </ul>
@@ -449,7 +449,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getAddress</h4>
-<pre><a href="http://docs.oracle.com/javase/7/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/ipc/RpcServer.Listener.html#line.872">getAddress</a>()</pre>
+<pre><a href="http://docs.oracle.com/javase/7/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/ipc/RpcServer.Listener.html#line.810">getAddress</a>()</pre>
 </li>
 </ul>
 <a name="doAccept(java.nio.channels.SelectionKey)">
@@ -458,7 +458,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>doAccept</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.876">doAccept</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/SelectionKey.html?is-external=true" title="class or interface in java.nio.channels">SelectionKey</a>&nbsp;key)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.814">doAccept</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/SelectionKey.html?is-external=true" title="class or interface in java.nio.channels">SelectionKey</a>&nbsp;key)
         throws <a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/OutOfMemoryError.html?is-external=true" title="class or interface in java.lang">OutOfMemoryError</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -472,7 +472,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>doRead</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.910">doRead</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/SelectionKey.html?is-external=true" title="class or interface in java.nio.channels">SelectionKey</a>&nbsp;key)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.848">doRead</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/SelectionKey.html?is-external=true" title="class or interface in java.nio.channels">SelectionKey</a>&nbsp;key)
       throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></code></dd></dl>
@@ -484,7 +484,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>doStop</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.942">doStop</a>()</pre>
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.880">doStop</a>()</pre>
 </li>
 </ul>
 <a name="getReader()">
@@ -493,7 +493,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>getReader</h4>
-<pre><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Listener.Reader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.959">getReader</a>()</pre>
+<pre><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Listener.Reader</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html#line.897">getReader</a>()</pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html
index 2632944..de847e1 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html
@@ -108,7 +108,7 @@
 </dl>
 <hr>
 <br>
-<pre>protected class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.966">RpcServer.Responder</a>
+<pre>protected class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.904">RpcServer.Responder</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></pre>
 </li>
 </ul>
@@ -273,7 +273,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>writeSelector</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/Selector.html?is-external=true" title="class or interface in java.nio.channels">Selector</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.967">writeSelector</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/Selector.html?is-external=true" title="class or interface in java.nio.channels">Selector</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.905">writeSelector</a></pre>
 </li>
 </ul>
 <a name="writingCons">
@@ -282,7 +282,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>writingCons</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/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/ipc/RpcServer.Connection.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Connection</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.968">writingCons</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/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/ipc/RpcServer.Connection.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Connection</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.906">writingCons</a></pre>
 </li>
 </ul>
 </li>
@@ -299,7 +299,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>RpcServer.Responder</h4>
-<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.971">RpcServer.Responder</a>()
+<pre><a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.909">RpcServer.Responder</a>()
               throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -319,7 +319,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.978">run</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.916">run</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
@@ -334,7 +334,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>registerWrites</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.996">registerWrites</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.934">registerWrites</a>()</pre>
 <div class="block">Take the list of the connections that want to write, and register them
  in the selector.</div>
 </li>
@@ -345,7 +345,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>registerForWrite</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.1023">registerForWrite</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Connection.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Connection</a>&nbsp;c)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.961">registerForWrite</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Connection.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Connection</a>&nbsp;c)</pre>
 <div class="block">Add a connection to the list that want to write,</div>
 </li>
 </ul>
@@ -355,7 +355,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>doRunLoop</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.1029">doRunLoop</a>()</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.967">doRunLoop</a>()</pre>
 </li>
 </ul>
 <a name="purge(long)">
@@ -364,7 +364,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>purge</h4>
-<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.1088">purge</a>(long&nbsp;lastPurgeTime)</pre>
+<pre>private&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.1026">purge</a>(long&nbsp;lastPurgeTime)</pre>
 <div class="block">If there were some calls that have not been sent out for a
  long time, we close the connection.</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>the time of the purge.</dd></dl>
@@ -376,7 +376,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>doAsyncWrite</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.1117">doAsyncWrite</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/SelectionKey.html?is-external=true" title="class or interface in java.nio.channels">SelectionKey</a>&nbsp;key)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.1055">doAsyncWrite</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/SelectionKey.html?is-external=true" title="class or interface in java.nio.channels">SelectionKey</a>&nbsp;key)
                    throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -388,7 +388,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>processResponse</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.1150">processResponse</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a>&nbsp;call)
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.1088">processResponse</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a>&nbsp;call)
                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Process the response for this call. You need to have the lock on
  <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Connection.html#responseWriteLock"><code>RpcServer.Connection.responseWriteLock</code></a></div>
@@ -404,7 +404,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>processAllResponses</h4>
-<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.1183">processAllResponses</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Connection.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Connection</a>&nbsp;connection)
+<pre>private&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.1121">processAllResponses</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Connection.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Connection</a>&nbsp;connection)
                              throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <div class="block">Process all the responses for this connection</div>
 <dl><dt><span class="strong">Returns:</span></dt><dd>true if all the calls were processed or that someone else is doing it.
@@ -420,7 +420,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>doRespond</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.1208">doRespond</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a>&nbsp;call)
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.Responder.html#line.1146">doRespond</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a>&nbsp;call)
          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>


[11/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/constant-values.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/constant-values.html b/testdevapidocs/constant-values.html
index 186a758..4821416 100644
--- a/testdevapidocs/constant-values.html
+++ b/testdevapidocs/constant-values.html
@@ -4908,39 +4908,6 @@
 <ul class="blockList">
 <li class="blockList">
 <table border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
-<caption><span>org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc</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.ipc.TestDelayedRpc.DELAYED">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
-<td><code><a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#DELAYED">DELAYED</a></code></td>
-<td class="colLast"><code>1</code></td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.ipc.TestDelayedRpc.RPC_CLIENT_TIMEOUT">
-<!--   -->
-</a><code>private&nbsp;static&nbsp;final&nbsp;int</code></td>
-<td><code><a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#RPC_CLIENT_TIMEOUT">RPC_CLIENT_TIMEOUT</a></code></td>
-<td class="colLast"><code>30000</code></td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a name="org.apache.hadoop.hbase.ipc.TestDelayedRpc.UNDELAYED">
-<!--   -->
-</a><code>public&nbsp;static&nbsp;final&nbsp;int</code></td>
-<td><code><a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#UNDELAYED">UNDELAYED</a></code></td>
-<td class="colLast"><code>0</code></td>
-</tr>
-</tbody>
-</table>
-</li>
-<li class="blockList">
-<table border="0" cellpadding="3" cellspacing="0" summary="Constant Field Values table, listing constant fields, and values">
 <caption><span>org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/TestIPCUtil.html" title="class in org.apache.hadoop.hbase.ipc">TestIPCUtil</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/6d411951/testdevapidocs/index-all.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/index-all.html b/testdevapidocs/index-all.html
index 462475e..9baa0f6 100644
--- a/testdevapidocs/index-all.html
+++ b/testdevapidocs/index-all.html
@@ -252,6 +252,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#AbstractTestSecureIPC()">AbstractTestSecureIPC()</a></span> - Constructor for class org.apache.hadoop.hbase.security.<a href="./org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html" title="class in org.apache.hadoop.hbase.security">AbstractTestSecureIPC</a></dt>
 <dd>&nbsp;</dd>
+<dt><a href="./org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security"><span class="strong">AbstractTestSecureIPC.TestThread</span></a> - Class in <a href="./org/apache/hadoop/hbase/security/package-summary.html">org.apache.hadoop.hbase.security</a></dt>
+<dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html#AbstractTestSecureIPC.TestThread(org.apache.hadoop.hbase.ipc.protobuf.generated.TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface,%20java.util.List)">AbstractTestSecureIPC.TestThread(TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface, List&lt;String&gt;)</a></span> - Constructor for class org.apache.hadoop.hbase.security.<a href="./org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security">AbstractTestSecureIPC.TestThread</a></dt>
+<dd>&nbsp;</dd>
 <dt><a href="./org/apache/hadoop/hbase/client/AbstractTestShell.html" title="class in org.apache.hadoop.hbase.client"><span class="strong">AbstractTestShell</span></a> - Class in <a href="./org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/AbstractTestShell.html#AbstractTestShell()">AbstractTestShell()</a></span> - Constructor for class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/AbstractTestShell.html" title="class in org.apache.hadoop.hbase.client">AbstractTestShell</a></dt>
@@ -894,8 +898,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TestFromClientSide.ListAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append(LoggingEvent)</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TestFromClientSide.ListAppender.html" title="class in org.apache.hadoop.hbase.client">TestFromClientSide.ListAppender</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append(LoggingEvent)</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.ListAppender</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/RegionAsTable.html#append(org.apache.hadoop.hbase.client.Append)">append(Append)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/RegionAsTable.html" title="class in org.apache.hadoop.hbase.regionserver">RegionAsTable</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestHRegionFileSystem.MockFileSystem.html#append(org.apache.hadoop.fs.Path,%20int,%20org.apache.hadoop.util.Progressable)">append(Path, int, Progressable)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestHRegionFileSystem.MockFileSystem.html" title="class in org.apache.hadoop.hbase.regionserver">TestHRegionFileSystem.MockFileSystem</a></dt>
@@ -3275,8 +3277,6 @@
 <dd>
 <div class="block">Closes all the resources held open for this cluster.</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html#close()">close()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.ListAppender</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mapred/TestMultiTableSnapshotInputFormat.Mapper.html#close()">close()</a></span> - Method in class org.apache.hadoop.hbase.mapred.<a href="./org/apache/hadoop/hbase/mapred/TestMultiTableSnapshotInputFormat.Mapper.html" title="class in org.apache.hadoop.hbase.mapred">TestMultiTableSnapshotInputFormat.Mapper</a></dt>
 <dd>
 <div class="block">Closes this stream and releases any system resources associated
@@ -6680,21 +6680,12 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestSeekOptimizations.html#delAtTimestamp(java.lang.String,%20long)">delAtTimestamp(String, long)</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestSeekOptimizations.html" title="class in org.apache.hadoop.hbase.regionserver">TestSeekOptimizations</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html#delay">delay</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.TestThread</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#DELAYED">DELAYED</a></span> - Static variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/IntegrationTestRegionReplicaReplication.DelayingMultiThreadedUpdater.html#delayMs">delayMs</a></span> - Variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IntegrationTestRegionReplicaReplication.DelayingMultiThreadedUpdater.html" title="class in org.apache.hadoop.hbase">IntegrationTestRegionReplicaReplication.DelayingMultiThreadedUpdater</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/IntegrationTestRegionReplicaReplication.DelayingMultiThreadedWriter.html#delayMs">delayMs</a></span> - Variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IntegrationTestRegionReplicaReplication.DelayingMultiThreadedWriter.html" title="class in org.apache.hadoop.hbase">IntegrationTestRegionReplicaReplication.DelayingMultiThreadedWriter</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/ConstantDelayQueue.html#delayMs">delayMs</a></span> - Variable in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/ConstantDelayQueue.html" title="class in org.apache.hadoop.hbase.util">ConstantDelayQueue</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html#delayReturnValue">delayReturnValue</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.TestDelayedImplementation</a></dt>
-<dd>
-<div class="block">Should the return value of delayed call be set at the end of the delay
- or at call return.</div>
-</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html#delCellNum">delCellNum</a></span> - Static variable in class org.apache.hadoop.hbase.mob.compactions.<a href="./org/apache/hadoop/hbase/mob/compactions/TestMobCompactor.html" title="class in org.apache.hadoop.hbase.mob.compactions">TestMobCompactor</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.CustomScanner.html#delegate">delegate</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.CustomScanner.html" title="class in org.apache.hadoop.hbase.client">TestBlockEvictionFromClient.CustomScanner</a></dt>
@@ -10772,8 +10763,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TestFromClientSide.ListAppender.html#getMessages()">getMessages()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TestFromClientSide.ListAppender.html" title="class in org.apache.hadoop.hbase.client">TestFromClientSide.ListAppender</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html#getMessages()">getMessages()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.ListAppender</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/MockStoreFile.html#getMetadataValue(byte[])">getMetadataValue(byte[])</a></span> - Method in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/MockStoreFile.html" title="class in org.apache.hadoop.hbase.regionserver">MockStoreFile</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TestAsyncProcess.MyConnectionImpl.TestRegistry.html#getMetaRegionLocation()">getMetaRegionLocation()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TestAsyncProcess.MyConnectionImpl.TestRegistry.html" title="class in org.apache.hadoop.hbase.client">TestAsyncProcess.MyConnectionImpl.TestRegistry</a></dt>
@@ -15736,8 +15725,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestAsyncIPC.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestAsyncIPC.html" title="class in org.apache.hadoop.hbase.ipc">TestAsyncIPC</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestIPC.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestIPC.html" title="class in org.apache.hadoop.hbase.ipc">TestIPC</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestIPCUtil.html#LOG">LOG</a></span> - Static variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestIPCUtil.html" title="class in org.apache.hadoop.hbase.ipc">TestIPCUtil</a></dt>
@@ -17104,8 +17091,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TestFromClientSide.ListAppender.html#messages">messages</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TestFromClientSide.ListAppender.html" title="class in org.apache.hadoop.hbase.client">TestFromClientSide.ListAppender</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html#messages">messages</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.ListAppender</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TestClientNoCluster.FakeServer.html#meta">meta</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TestClientNoCluster.FakeServer.html" title="class in org.apache.hadoop.hbase.client">TestClientNoCluster.FakeServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TestClientNoCluster.ManyServersManyRegionsConnection.html#meta">meta</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TestClientNoCluster.ManyServersManyRegionsConnection.html" title="class in org.apache.hadoop.hbase.client">TestClientNoCluster.ManyServersManyRegionsConnection</a></dt>
@@ -22693,8 +22678,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TestFromClientSide.ListAppender.html#requiresLayout()">requiresLayout()</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TestFromClientSide.ListAppender.html" title="class in org.apache.hadoop.hbase.client">TestFromClientSide.ListAppender</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html#requiresLayout()">requiresLayout()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.ListAppender</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.CustomScanner.html#reseek(byte[])">reseek(byte[])</a></span> - Method in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.CustomScanner.html" title="class in org.apache.hadoop.hbase.client">TestBlockEvictionFromClient.CustomScanner</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/coprocessor/TestCoprocessorInterface.CustomScanner.html#reseek(byte[])">reseek(byte[])</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="./org/apache/hadoop/hbase/coprocessor/TestCoprocessorInterface.CustomScanner.html" title="class in org.apache.hadoop.hbase.coprocessor">TestCoprocessorInterface.CustomScanner</a></dt>
@@ -23032,10 +23015,10 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/IntegrationTestRegionReplicaPerf.TimingResult.html#results">results</a></span> - Variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IntegrationTestRegionReplicaPerf.TimingResult.html" title="class in org.apache.hadoop.hbase">IntegrationTestRegionReplicaPerf.TimingResult</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html#results">results</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.TestThread</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestCompaction.StoreMockMaker.html#results">results</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestCompaction.StoreMockMaker.html" title="class in org.apache.hadoop.hbase.regionserver">TestCompaction.StoreMockMaker</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html#results">results</a></span> - Variable in class org.apache.hadoop.hbase.security.<a href="./org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security">AbstractTestSecureIPC.TestThread</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/MultiThreadedAction.html#resultToString(org.apache.hadoop.hbase.client.Result)">resultToString(Result)</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/MultiThreadedAction.html" title="class in org.apache.hadoop.hbase.util">MultiThreadedAction</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/ClusterManager.html#resume(org.apache.hadoop.hbase.ClusterManager.ServiceType,%20java.lang.String,%20int)">resume(ClusterManager.ServiceType, String, int)</a></span> - Method in interface org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/ClusterManager.html" title="interface in org.apache.hadoop.hbase">ClusterManager</a></dt>
@@ -23833,8 +23816,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/replication/TestReplicationTrackerZKImpl.html#rp">rp</a></span> - Variable in class org.apache.hadoop.hbase.replication.<a href="./org/apache/hadoop/hbase/replication/TestReplicationTrackerZKImpl.html" title="class in org.apache.hadoop.hbase.replication">TestReplicationTrackerZKImpl</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#RPC_CLIENT_TIMEOUT">RPC_CLIENT_TIMEOUT</a></span> - Static variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.SimpleClient.html#rpcClient">rpcClient</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.SimpleClient.html" title="class in org.apache.hadoop.hbase.ipc">IntegrationTestRpcClient.SimpleClient</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/TestHMasterRPCException.html#rpcClient">rpcClient</a></span> - Variable in class org.apache.hadoop.hbase.master.<a href="./org/apache/hadoop/hbase/master/TestHMasterRPCException.html" title="class in org.apache.hadoop.hbase.master">TestHMasterRPCException</a></dt>
@@ -23851,8 +23832,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TestClientScanner.MockClientScanner.html#rpcFinishedFired">rpcFinishedFired</a></span> - Variable in class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TestClientScanner.MockClientScanner.html" title="class in org.apache.hadoop.hbase.client">TestClientScanner.MockClientScanner</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#rpcServer">rpcServer</a></span> - Static variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/MockRegionServerServices.html#rpcServer">rpcServer</a></span> - Variable in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/MockRegionServerServices.html" title="class in org.apache.hadoop.hbase">MockRegionServerServices</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/TestRSStatusServlet.html#rpcServer">rpcServer</a></span> - Variable in class org.apache.hadoop.hbase.regionserver.<a href="./org/apache/hadoop/hbase/regionserver/TestRSStatusServlet.html" title="class in org.apache.hadoop.hbase.regionserver">TestRSStatusServlet</a></dt>
@@ -23967,8 +23946,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.TimeoutThread.html#run()">run()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.TimeoutThread.html" title="class in org.apache.hadoop.hbase.ipc">IntegrationTestRpcClient.TimeoutThread</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html#run()">run()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.TestThread</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mapreduce/IntegrationTestImportTsv.html#run(java.lang.String[])">run(String[])</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="./org/apache/hadoop/hbase/mapreduce/IntegrationTestImportTsv.html" title="class in org.apache.hadoop.hbase.mapreduce">IntegrationTestImportTsv</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mapreduce/IntegrationTestTableMapReduceUtil.html#run(java.lang.String[])">run(String[])</a></span> - Method in class org.apache.hadoop.hbase.mapreduce.<a href="./org/apache/hadoop/hbase/mapreduce/IntegrationTestTableMapReduceUtil.html" title="class in org.apache.hadoop.hbase.mapreduce">IntegrationTestTableMapReduceUtil</a></dt>
@@ -24023,6 +24000,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/rest/PerformanceEvaluation.html#run(java.lang.String[])">run(String[])</a></span> - Method in class org.apache.hadoop.hbase.rest.<a href="./org/apache/hadoop/hbase/rest/PerformanceEvaluation.html" title="class in org.apache.hadoop.hbase.rest">PerformanceEvaluation</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html#run()">run()</a></span> - Method in class org.apache.hadoop.hbase.security.<a href="./org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security">AbstractTestSecureIPC.TestThread</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/token/TestTokenAuthentication.TokenServer.html#run()">run()</a></span> - Method in class org.apache.hadoop.hbase.security.token.<a href="./org/apache/hadoop/hbase/security/token/TestTokenAuthentication.TokenServer.html" title="class in org.apache.hadoop.hbase.security.token">TestTokenAuthentication.TokenServer</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Clean.html#run(java.lang.String[])">run(String[])</a></span> - Method in class org.apache.hadoop.hbase.test.<a href="./org/apache/hadoop/hbase/test/IntegrationTestBigLinkedList.Clean.html" title="class in org.apache.hadoop.hbase.test">IntegrationTestBigLinkedList.Clean</a></dt>
@@ -24894,6 +24873,8 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestRpcHandlerException.html#SERVICE">SERVICE</a></span> - Static variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestRpcHandlerException.html" title="class in org.apache.hadoop.hbase.ipc">TestRpcHandlerException</a></dt>
 <dd>&nbsp;</dd>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#SERVICE">SERVICE</a></span> - Static variable in class org.apache.hadoop.hbase.security.<a href="./org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html" title="class in org.apache.hadoop.hbase.security">AbstractTestSecureIPC</a></dt>
+<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestRpcServer1.html#SERVICE1">SERVICE1</a></span> - Static variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/AbstractTestIPC.TestRpcServer1.html" title="class in org.apache.hadoop.hbase.ipc">AbstractTestIPC.TestRpcServer1</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/snapshot/TestSnapshotManager.html#services">services</a></span> - Variable in class org.apache.hadoop.hbase.master.snapshot.<a href="./org/apache/hadoop/hbase/master/snapshot/TestSnapshotManager.html" title="class in org.apache.hadoop.hbase.master.snapshot">TestSnapshotManager</a></dt>
@@ -28073,7 +28054,7 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><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="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html#stub">stub</a></span> - Variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.TestThread</a></dt>
+<dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html#stub">stub</a></span> - Variable in class org.apache.hadoop.hbase.security.<a href="./org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security">AbstractTestSecureIPC.TestThread</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormatImpl.html#subject">subject</a></span> - Variable in class org.apache.hadoop.hbase.mapreduce.<a href="./org/apache/hadoop/hbase/mapreduce/TestMultiTableSnapshotInputFormatImpl.html" title="class in org.apache.hadoop.hbase.mapreduce">TestMultiTableSnapshotInputFormatImpl</a></dt>
 <dd>&nbsp;</dd>
@@ -29689,10 +29670,6 @@
 </dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/IntegrationTestRegionReplicaPerf.html#test()">test()</a></span> - Method in class org.apache.hadoop.hbase.<a href="./org/apache/hadoop/hbase/IntegrationTestRegionReplicaPerf.html" title="class in org.apache.hadoop.hbase">IntegrationTestRegionReplicaPerf</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html#test(com.google.protobuf.RpcController,%20org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestArg)">test(RpcController, TestDelayedRpcProtos.TestArg)</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.FaultyTestDelayedImplementation</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html#test(com.google.protobuf.RpcController,%20org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestArg)">test(RpcController, TestDelayedRpcProtos.TestArg)</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.TestDelayedImplementation</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestGlobalEventLoopGroup.html#test()">test()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestGlobalEventLoopGroup.html" title="class in org.apache.hadoop.hbase.ipc">TestGlobalEventLoopGroup</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/master/balancer/TestServerAndLoad.html#test()">test()</a></span> - Method in class org.apache.hadoop.hbase.master.balancer.<a href="./org/apache/hadoop/hbase/master/balancer/TestServerAndLoad.html" title="class in org.apache.hadoop.hbase.master.balancer">TestServerAndLoad</a></dt>
@@ -33676,36 +33653,6 @@
 <dd>
 <div class="block">This creates and fixes a bad table with regions that has startkey == endkey</div>
 </dd>
-<dt><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestDelayedRpc</span></a> - Class in <a href="./org/apache/hadoop/hbase/ipc/package-summary.html">org.apache.hadoop.hbase.ipc</a></dt>
-<dd>
-<div class="block">Test that delayed RPCs work.</div>
-</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#TestDelayedRpc()">TestDelayedRpc()</a></span> - Constructor for class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#testDelayedRpc(boolean)">testDelayedRpc(boolean)</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestDelayedRpc.FaultyTestDelayedImplementation</span></a> - Class in <a href="./org/apache/hadoop/hbase/ipc/package-summary.html">org.apache.hadoop.hbase.ipc</a></dt>
-<dd>
-<div class="block">Delayed calls to this class throw an exception.</div>
-</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html#TestDelayedRpc.FaultyTestDelayedImplementation()">TestDelayedRpc.FaultyTestDelayedImplementation()</a></span> - Constructor for class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.FaultyTestDelayedImplementation</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestDelayedRpc.ListAppender</span></a> - Class in <a href="./org/apache/hadoop/hbase/ipc/package-summary.html">org.apache.hadoop.hbase.ipc</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html#TestDelayedRpc.ListAppender()">TestDelayedRpc.ListAppender()</a></span> - Constructor for class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.ListAppender</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestDelayedRpc.TestDelayedImplementation</span></a> - Class in <a href="./org/apache/hadoop/hbase/ipc/package-summary.html">org.apache.hadoop.hbase.ipc</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html#TestDelayedRpc.TestDelayedImplementation(boolean)">TestDelayedRpc.TestDelayedImplementation(boolean)</a></span> - Constructor for class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.TestDelayedImplementation</a></dt>
-<dd>&nbsp;</dd>
-<dt><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestDelayedRpc.TestThread</span></a> - Class in <a href="./org/apache/hadoop/hbase/ipc/package-summary.html">org.apache.hadoop.hbase.ipc</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html#TestDelayedRpc.TestThread(org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestDelayedService.BlockingInterface,%20boolean,%20java.util.List)">TestDelayedRpc.TestThread(TestDelayedRpcProtos.TestDelayedService.BlockingInterface, boolean, List&lt;Integer&gt;)</a></span> - Constructor for class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.TestThread</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#testDelayedRpcDelayedReturnValue()">testDelayedRpcDelayedReturnValue()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc</a></dt>
-<dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#testDelayedRpcImmediateReturnValue()">testDelayedRpcImmediateReturnValue()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc</a></dt>
-<dd>&nbsp;</dd>
 <dt><a href="./org/apache/hadoop/hbase/client/TestDelayingRunner.html" title="class in org.apache.hadoop.hbase.client"><span class="strong">TestDelayingRunner</span></a> - Class in <a href="./org/apache/hadoop/hbase/client/package-summary.html">org.apache.hadoop.hbase.client</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/client/TestDelayingRunner.html#TestDelayingRunner()">TestDelayingRunner()</a></span> - Constructor for class org.apache.hadoop.hbase.client.<a href="./org/apache/hadoop/hbase/client/TestDelayingRunner.html" title="class in org.apache.hadoop.hbase.client">TestDelayingRunner</a></dt>
@@ -34403,8 +34350,6 @@
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/security/TestEncryptionUtil.html#TestEncryptionUtil()">TestEncryptionUtil()</a></span> - Constructor for class org.apache.hadoop.hbase.security.<a href="./org/apache/hadoop/hbase/security/TestEncryptionUtil.html" title="class in org.apache.hadoop.hbase.security">TestEncryptionUtil</a></dt>
 <dd>&nbsp;</dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#testEndDelayThrowing()">testEndDelayThrowing()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/coprocessor/example/TestRowCountEndpoint.html#testEndpoint()">testEndpoint()</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.example.<a href="./org/apache/hadoop/hbase/coprocessor/example/TestRowCountEndpoint.html" title="class in org.apache.hadoop.hbase.coprocessor.example">TestRowCountEndpoint</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorEndpoint.html#testEndpoint()">testEndpoint()</a></span> - Method in class org.apache.hadoop.hbase.coprocessor.<a href="./org/apache/hadoop/hbase/coprocessor/TestRegionServerCoprocessorEndpoint.html" title="class in org.apache.hadoop.hbase.coprocessor">TestRegionServerCoprocessorEndpoint</a></dt>
@@ -45249,10 +45194,6 @@
 <dd>
 <div class="block">Pass through a too big entry and ensure it is cleared from queues and ramCache.</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#testTooManyDelayedRpcs()">testTooManyDelayedRpcs()</a></span> - Method in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc</a></dt>
-<dd>
-<div class="block">Tests that we see a WARN message in the logs.</div>
-</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/TestByteBufferUtils.html#testToPrimitiveTypes()">testToPrimitiveTypes()</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/TestByteBufferUtils.html" title="class in org.apache.hadoop.hbase.util">TestByteBufferUtils</a></dt>
 <dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/regionserver/wal/TestCompressor.html#testToShort()">testToShort()</a></span> - Method in class org.apache.hadoop.hbase.regionserver.wal.<a href="./org/apache/hadoop/hbase/regionserver/wal/TestCompressor.html" title="class in org.apache.hadoop.hbase.regionserver.wal">TestCompressor</a></dt>
@@ -47004,8 +46945,6 @@
 <dd>
 <div class="block">Valid in the READY state.</div>
 </dd>
-<dt><span class="strong"><a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#UNDELAYED">UNDELAYED</a></span> - Static variable in class org.apache.hadoop.hbase.ipc.<a href="./org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc</a></dt>
-<dd>&nbsp;</dd>
 <dt><span class="strong"><a href="./org/apache/hadoop/hbase/util/BaseTestHBaseFsck.html#undeployRegion(org.apache.hadoop.hbase.client.Connection,%20org.apache.hadoop.hbase.ServerName,%20org.apache.hadoop.hbase.HRegionInfo)">undeployRegion(Connection, ServerName, HRegionInfo)</a></span> - Method in class org.apache.hadoop.hbase.util.<a href="./org/apache/hadoop/hbase/util/BaseTestHBaseFsck.html" title="class in org.apache.hadoop.hbase.util">BaseTestHBaseFsck</a></dt>
 <dd>
 <div class="block">This method is used to undeploy a region -- close it and attempt to

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 e8bace4..e4cce93 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/io/hfile/package-tree.html
@@ -156,8 +156,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/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/7/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="strong">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="strong">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="strong">TagUsage</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.hfile.<a href="../../../../../../org/apache/hadoop/hbase/io/hfile/TestHFileBlockCompatibility.Writer.State.html" title="enum in org.apache.hadoop.hbase.io.hfile"><span class="strong">TestHFileBlockCompatibility.Writer.State</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/org/apache/hadoop/hbase/ipc/TestCallRunner.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/ipc/TestCallRunner.html b/testdevapidocs/org/apache/hadoop/hbase/ipc/TestCallRunner.html
index ec9b195..305cdd3 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/ipc/TestCallRunner.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/ipc/TestCallRunner.html
@@ -36,7 +36,7 @@
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestBufferChain.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestGlobalEventLoopGroup.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/ipc/TestCallRunner.html" target="_top">Frames</a></li>
@@ -214,7 +214,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <div class="subNav">
 <ul class="navList">
 <li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestBufferChain.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestGlobalEventLoopGroup.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/ipc/TestCallRunner.html" target="_top">Frames</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html b/testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html
deleted file mode 100644
index b6fe974..0000000
--- a/testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html
+++ /dev/null
@@ -1,280 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TestDelayedRpc.FaultyTestDelayedImplementation (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="TestDelayedRpc.FaultyTestDelayedImplementation (Apache HBase 2.0.0-SNAPSHOT Test API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/TestDelayedRpc.FaultyTestDelayedImplementation.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/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html" target="_top">Frames</a></li>
-<li><a href="TestDelayedRpc.FaultyTestDelayedImplementation.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All 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>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_detail">Method</a></li>
-</ul>
-</div>
-<a name="skip-navbar_top">
-<!--   -->
-</a></div>
-<!-- ========= END OF TOP NAVBAR ========= -->
-<!-- ======== START OF CLASS DATA ======== -->
-<div class="header">
-<div class="subTitle">org.apache.hadoop.hbase.ipc</div>
-<h2 title="Class TestDelayedRpc.FaultyTestDelayedImplementation" class="title">Class TestDelayedRpc.FaultyTestDelayedImplementation</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">org.apache.hadoop.hbase.ipc.TestDelayedRpc.TestDelayedImplementation</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.hbase.ipc.TestDelayedRpc.FaultyTestDelayedImplementation</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestDelayedService.BlockingInterface</dd>
-</dl>
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc</a></dd>
-</dl>
-<hr>
-<br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#line.345">TestDelayedRpc.FaultyTestDelayedImplementation</a>
-extends <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.TestDelayedImplementation</a></pre>
-<div class="block">Delayed calls to this class throw an exception.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="overviewSummary" 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><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html#TestDelayedRpc.FaultyTestDelayedImplementation()">TestDelayedRpc.FaultyTestDelayedImplementation</a></strong>()</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestResponse</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html#test(com.google.protobuf.RpcController,%20org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestArg)">test</a></strong>(com.google.protobuf.RpcController&nbsp;rpcController,
-        org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestArg&nbsp;arg)</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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" title="class or interface in java.lang">wait</a></code></li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<div class="details">
-<ul class="blockList">
-<li class="blockList">
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="TestDelayedRpc.FaultyTestDelayedImplementation()">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>TestDelayedRpc.FaultyTestDelayedImplementation</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html#line.346">TestDelayedRpc.FaultyTestDelayedImplementation</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="test(com.google.protobuf.RpcController, org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestArg)">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>test</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html#line.351">test</a>(com.google.protobuf.RpcController&nbsp;rpcController,
-                                                                                    org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestArg&nbsp;arg)
-                                                                                      throws com.google.protobuf.ServiceException</pre>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code>test</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestDelayedService.BlockingInterface</code></dd>
-<dt><strong>Overrides:</strong></dt>
-<dd><code><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html#test(com.google.protobuf.RpcController,%20org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestArg)">test</a></code>&nbsp;in class&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.TestDelayedImplementation</a></code></dd>
-<dt><span class="strong">Throws:</span></dt>
-<dd><code>com.google.protobuf.ServiceException</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/TestDelayedRpc.FaultyTestDelayedImplementation.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/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html" target="_top">Frames</a></li>
-<li><a href="TestDelayedRpc.FaultyTestDelayedImplementation.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All 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>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_summary">Method</a></li>
-</ul>
-<ul class="subNavList">
-<li>Detail:&nbsp;</li>
-<li>Field&nbsp;|&nbsp;</li>
-<li><a href="#constructor_detail">Constr</a>&nbsp;|&nbsp;</li>
-<li><a href="#method_detail">Method</a></li>
-</ul>
-</div>
-<a name="skip-navbar_bottom">
-<!--   -->
-</a></div>
-<!-- ======== END OF BOTTOM NAVBAR ======= -->
-<p class="legalCopy"><small>Copyright &#169; 2007&#x2013;2016 <a href="http://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/6d411951/testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html b/testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html
deleted file mode 100644
index bd58357..0000000
--- a/testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html
+++ /dev/null
@@ -1,364 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TestDelayedRpc.ListAppender (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="TestDelayedRpc.ListAppender (Apache HBase 2.0.0-SNAPSHOT Test API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/TestDelayedRpc.ListAppender.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/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html" target="_top">Frames</a></li>
-<li><a href="TestDelayedRpc.ListAppender.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All 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.ipc</div>
-<h2 title="Class TestDelayedRpc.ListAppender" class="title">Class TestDelayedRpc.ListAppender</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="http://docs.oracle.com/javase/7/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.log4j.AppenderSkeleton</li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.hbase.ipc.TestDelayedRpc.ListAppender</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>org.apache.log4j.Appender, org.apache.log4j.spi.OptionHandler</dd>
-</dl>
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc</a></dd>
-</dl>
-<hr>
-<br>
-<pre>private static class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#line.129">TestDelayedRpc.ListAppender</a>
-extends org.apache.log4j.AppenderSkeleton</pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field_summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="overviewSummary" 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 <a href="http://docs.oracle.com/javase/7/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/7/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><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html#messages">messages</a></strong></code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="fields_inherited_from_class_org.apache.log4j.AppenderSkeleton">
-<!--   -->
-</a>
-<h3>Fields inherited from class&nbsp;org.apache.log4j.AppenderSkeleton</h3>
-<code>closed, errorHandler, headFilter, layout, name, tailFilter, threshold</code></li>
-</ul>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="overviewSummary" 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="colFirst" scope="col">Modifier</th>
-<th class="colLast" scope="col">Constructor and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private </code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html#TestDelayedRpc.ListAppender()">TestDelayedRpc.ListAppender</a></strong>()</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>protected void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html#append(org.apache.log4j.spi.LoggingEvent)">append</a></strong>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html#close()">close</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code><a href="http://docs.oracle.com/javase/7/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/7/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><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html#getMessages()">getMessages</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html#requiresLayout()">requiresLayout</a></strong>()</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_org.apache.log4j.AppenderSkeleton">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;org.apache.log4j.AppenderSkeleton</h3>
-<code>activateOptions, addFilter, clearFilters, doAppend, finalize, getErrorHandler, getFilter, getFirstFilter, getLayout, getName, getThreshold, isAsSevereAsThreshold, setErrorHandler, setLayout, setName, setThreshold</code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/docs/api/java/la
 ng/Object.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/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/7/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/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" 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="messages">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>messages</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/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/7/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/TestDelayedRpc.ListAppender.html#line.130">messages</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="TestDelayedRpc.ListAppender()">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>TestDelayedRpc.ListAppender</h4>
-<pre>private&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html#line.129">TestDelayedRpc.ListAppender</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="append(org.apache.log4j.spi.LoggingEvent)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>append</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html#line.133">append</a>(org.apache.log4j.spi.LoggingEvent&nbsp;event)</pre>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code>append</code>&nbsp;in class&nbsp;<code>org.apache.log4j.AppenderSkeleton</code></dd>
-</dl>
-</li>
-</ul>
-<a name="close()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>close</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html#line.138">close</a>()</pre>
-</li>
-</ul>
-<a name="requiresLayout()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>requiresLayout</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html#line.142">requiresLayout</a>()</pre>
-</li>
-</ul>
-<a name="getMessages()">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>getMessages</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/7/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/ipc/TestDelayedRpc.ListAppender.html#line.146">getMessages</a>()</pre>
-</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-</div>
-<!-- ========= END OF CLASS DATA ========= -->
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/TestDelayedRpc.ListAppender.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/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html" target="_top">Frames</a></li>
-<li><a href="TestDelayedRpc.ListAppender.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All 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;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>


[13/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 2a6a981..9da7c42 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
@@ -67,15 +67,15 @@
 <span class="sourceLineNo">059</span>  requiredArguments = {<a name="line.59"></a>
 <span class="sourceLineNo">060</span>    @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.60"></a>
 <span class="sourceLineNo">061</span>  optionalArguments = {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.64"></a>
+<span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.64"></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 = "catalogJanitorEnabled", type = "boolean"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.68"></a>
+<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.68"></a>
 <span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;")})<a name="line.70"></a>
+<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;")})<a name="line.70"></a>
 <span class="sourceLineNo">071</span>public class MasterStatusTmpl<a name="line.71"></a>
 <span class="sourceLineNo">072</span>  extends org.jamon.AbstractTemplateProxy<a name="line.72"></a>
 <span class="sourceLineNo">073</span>{<a name="line.73"></a>
@@ -116,57 +116,57 @@
 <span class="sourceLineNo">108</span>      return m_master;<a name="line.108"></a>
 <span class="sourceLineNo">109</span>    }<a name="line.109"></a>
 <span class="sourceLineNo">110</span>    private HMaster m_master;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    // 21, 1<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.112"></a>
+<span class="sourceLineNo">111</span>    // 24, 1<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.112"></a>
 <span class="sourceLineNo">113</span>    {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      // 21, 1<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      m_frags = frags;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      m_frags__IsNotDefault = true;<a name="line.116"></a>
+<span class="sourceLineNo">114</span>      // 24, 1<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      m_deadServers = deadServers;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      m_deadServers__IsNotDefault = true;<a name="line.116"></a>
 <span class="sourceLineNo">117</span>    }<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.118"></a>
+<span class="sourceLineNo">118</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_frags;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_deadServers;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    public boolean getFrags__IsNotDefault()<a name="line.123"></a>
+<span class="sourceLineNo">122</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    public boolean getDeadServers__IsNotDefault()<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      return m_frags__IsNotDefault;<a name="line.125"></a>
+<span class="sourceLineNo">125</span>      return m_deadServers__IsNotDefault;<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    }<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    private boolean m_frags__IsNotDefault;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    // 22, 1<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.129"></a>
+<span class="sourceLineNo">127</span>    private boolean m_deadServers__IsNotDefault;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    // 26, 1<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    public void setFilter(String filter)<a name="line.129"></a>
 <span class="sourceLineNo">130</span>    {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      // 22, 1<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      m_metaLocation = metaLocation;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      m_metaLocation__IsNotDefault = true;<a name="line.133"></a>
+<span class="sourceLineNo">131</span>      // 26, 1<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      m_filter = filter;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      m_filter__IsNotDefault = true;<a name="line.133"></a>
 <span class="sourceLineNo">134</span>    }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    public ServerName getMetaLocation()<a name="line.135"></a>
+<span class="sourceLineNo">135</span>    public String getFilter()<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      return m_metaLocation;<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      return m_filter;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    private ServerName m_metaLocation;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.140"></a>
+<span class="sourceLineNo">139</span>    private String m_filter;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    public boolean getFilter__IsNotDefault()<a name="line.140"></a>
 <span class="sourceLineNo">141</span>    {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      return m_metaLocation__IsNotDefault;<a name="line.142"></a>
+<span class="sourceLineNo">142</span>      return m_filter__IsNotDefault;<a name="line.142"></a>
 <span class="sourceLineNo">143</span>    }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    // 29, 1<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.146"></a>
+<span class="sourceLineNo">144</span>    private boolean m_filter__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    // 25, 1<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.146"></a>
 <span class="sourceLineNo">147</span>    {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      // 29, 1<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      m_assignmentManager = assignmentManager;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      m_assignmentManager__IsNotDefault = true;<a name="line.150"></a>
+<span class="sourceLineNo">148</span>      // 25, 1<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.150"></a>
 <span class="sourceLineNo">151</span>    }<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    public AssignmentManager getAssignmentManager()<a name="line.152"></a>
+<span class="sourceLineNo">152</span>    public boolean getCatalogJanitorEnabled()<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      return m_assignmentManager;<a name="line.154"></a>
+<span class="sourceLineNo">154</span>      return m_catalogJanitorEnabled;<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    }<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    private AssignmentManager m_assignmentManager;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.157"></a>
+<span class="sourceLineNo">156</span>    private boolean m_catalogJanitorEnabled;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.157"></a>
 <span class="sourceLineNo">158</span>    {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      return m_assignmentManager__IsNotDefault;<a name="line.159"></a>
+<span class="sourceLineNo">159</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    }<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">161</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    // 28, 1<a name="line.162"></a>
 <span class="sourceLineNo">163</span>    public void setServerManager(ServerManager serverManager)<a name="line.163"></a>
 <span class="sourceLineNo">164</span>    {<a name="line.164"></a>
@@ -184,57 +184,57 @@
 <span class="sourceLineNo">176</span>      return m_serverManager__IsNotDefault;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    }<a name="line.177"></a>
 <span class="sourceLineNo">178</span>    private boolean m_serverManager__IsNotDefault;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    // 25, 1<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.180"></a>
+<span class="sourceLineNo">179</span>    // 27, 1<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    public void setFormat(String format)<a name="line.180"></a>
 <span class="sourceLineNo">181</span>    {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      // 25, 1<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.184"></a>
+<span class="sourceLineNo">182</span>      // 27, 1<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      m_format = format;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      m_format__IsNotDefault = true;<a name="line.184"></a>
 <span class="sourceLineNo">185</span>    }<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    public boolean getCatalogJanitorEnabled()<a name="line.186"></a>
+<span class="sourceLineNo">186</span>    public String getFormat()<a name="line.186"></a>
 <span class="sourceLineNo">187</span>    {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      return m_catalogJanitorEnabled;<a name="line.188"></a>
+<span class="sourceLineNo">188</span>      return m_format;<a name="line.188"></a>
 <span class="sourceLineNo">189</span>    }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    private boolean m_catalogJanitorEnabled;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.191"></a>
+<span class="sourceLineNo">190</span>    private String m_format;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    public boolean getFormat__IsNotDefault()<a name="line.191"></a>
 <span class="sourceLineNo">192</span>    {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.193"></a>
+<span class="sourceLineNo">193</span>      return m_format__IsNotDefault;<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    // 27, 1<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    public void setFormat(String format)<a name="line.197"></a>
+<span class="sourceLineNo">195</span>    private boolean m_format__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    // 22, 1<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.197"></a>
 <span class="sourceLineNo">198</span>    {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      // 27, 1<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      m_format = format;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      m_format__IsNotDefault = true;<a name="line.201"></a>
+<span class="sourceLineNo">199</span>      // 22, 1<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      m_metaLocation = metaLocation;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      m_metaLocation__IsNotDefault = true;<a name="line.201"></a>
 <span class="sourceLineNo">202</span>    }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    public String getFormat()<a name="line.203"></a>
+<span class="sourceLineNo">203</span>    public ServerName getMetaLocation()<a name="line.203"></a>
 <span class="sourceLineNo">204</span>    {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      return m_format;<a name="line.205"></a>
+<span class="sourceLineNo">205</span>      return m_metaLocation;<a name="line.205"></a>
 <span class="sourceLineNo">206</span>    }<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    private String m_format;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    public boolean getFormat__IsNotDefault()<a name="line.208"></a>
+<span class="sourceLineNo">207</span>    private ServerName m_metaLocation;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.208"></a>
 <span class="sourceLineNo">209</span>    {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      return m_format__IsNotDefault;<a name="line.210"></a>
+<span class="sourceLineNo">210</span>      return m_metaLocation__IsNotDefault;<a name="line.210"></a>
 <span class="sourceLineNo">211</span>    }<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    private boolean m_format__IsNotDefault;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    // 26, 1<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    public void setFilter(String filter)<a name="line.214"></a>
+<span class="sourceLineNo">212</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    // 29, 1<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.214"></a>
 <span class="sourceLineNo">215</span>    {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      // 26, 1<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      m_filter = filter;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      m_filter__IsNotDefault = true;<a name="line.218"></a>
+<span class="sourceLineNo">216</span>      // 29, 1<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      m_assignmentManager = assignmentManager;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      m_assignmentManager__IsNotDefault = true;<a name="line.218"></a>
 <span class="sourceLineNo">219</span>    }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    public String getFilter()<a name="line.220"></a>
+<span class="sourceLineNo">220</span>    public AssignmentManager getAssignmentManager()<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      return m_filter;<a name="line.222"></a>
+<span class="sourceLineNo">222</span>      return m_assignmentManager;<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    private String m_filter;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public boolean getFilter__IsNotDefault()<a name="line.225"></a>
+<span class="sourceLineNo">224</span>    private AssignmentManager m_assignmentManager;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.225"></a>
 <span class="sourceLineNo">226</span>    {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      return m_filter__IsNotDefault;<a name="line.227"></a>
+<span class="sourceLineNo">227</span>      return m_assignmentManager__IsNotDefault;<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    private boolean m_filter__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.229"></a>
 <span class="sourceLineNo">230</span>    // 23, 1<a name="line.230"></a>
 <span class="sourceLineNo">231</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.231"></a>
 <span class="sourceLineNo">232</span>    {<a name="line.232"></a>
@@ -252,23 +252,23 @@
 <span class="sourceLineNo">244</span>      return m_servers__IsNotDefault;<a name="line.244"></a>
 <span class="sourceLineNo">245</span>    }<a name="line.245"></a>
 <span class="sourceLineNo">246</span>    private boolean m_servers__IsNotDefault;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    // 24, 1<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.248"></a>
+<span class="sourceLineNo">247</span>    // 21, 1<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.248"></a>
 <span class="sourceLineNo">249</span>    {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      // 24, 1<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      m_deadServers = deadServers;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      m_deadServers__IsNotDefault = true;<a name="line.252"></a>
+<span class="sourceLineNo">250</span>      // 21, 1<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      m_frags = frags;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      m_frags__IsNotDefault = true;<a name="line.252"></a>
 <span class="sourceLineNo">253</span>    }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.254"></a>
+<span class="sourceLineNo">254</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      return m_deadServers;<a name="line.256"></a>
+<span class="sourceLineNo">256</span>      return m_frags;<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    public boolean getDeadServers__IsNotDefault()<a name="line.259"></a>
+<span class="sourceLineNo">258</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    public boolean getFrags__IsNotDefault()<a name="line.259"></a>
 <span class="sourceLineNo">260</span>    {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      return m_deadServers__IsNotDefault;<a name="line.261"></a>
+<span class="sourceLineNo">261</span>      return m_frags__IsNotDefault;<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    }<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    private boolean m_deadServers__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>    private boolean m_frags__IsNotDefault;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>  }<a name="line.264"></a>
 <span class="sourceLineNo">265</span>  @Override<a name="line.265"></a>
 <span class="sourceLineNo">266</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.266"></a>
@@ -280,24 +280,24 @@
 <span class="sourceLineNo">272</span>    return (ImplData) super.getImplData();<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>  protected Map&lt;String,Integer&gt; frags;<a name="line.275"></a>
-<span class="sourceLineNo">276</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.276"></a>
+<span class="sourceLineNo">275</span>  protected Set&lt;ServerName&gt; deadServers;<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.276"></a>
 <span class="sourceLineNo">277</span>  {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    (getImplData()).setFrags(p_frags);<a name="line.278"></a>
+<span class="sourceLineNo">278</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.278"></a>
 <span class="sourceLineNo">279</span>    return this;<a name="line.279"></a>
 <span class="sourceLineNo">280</span>  }<a name="line.280"></a>
 <span class="sourceLineNo">281</span>  <a name="line.281"></a>
-<span class="sourceLineNo">282</span>  protected ServerName metaLocation;<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.283"></a>
+<span class="sourceLineNo">282</span>  protected String filter;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.283"></a>
 <span class="sourceLineNo">284</span>  {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.285"></a>
+<span class="sourceLineNo">285</span>    (getImplData()).setFilter(p_filter);<a name="line.285"></a>
 <span class="sourceLineNo">286</span>    return this;<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>  protected AssignmentManager assignmentManager;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.290"></a>
+<span class="sourceLineNo">289</span>  protected boolean catalogJanitorEnabled;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.290"></a>
 <span class="sourceLineNo">291</span>  {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.292"></a>
+<span class="sourceLineNo">292</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.292"></a>
 <span class="sourceLineNo">293</span>    return this;<a name="line.293"></a>
 <span class="sourceLineNo">294</span>  }<a name="line.294"></a>
 <span class="sourceLineNo">295</span>  <a name="line.295"></a>
@@ -308,24 +308,24 @@
 <span class="sourceLineNo">300</span>    return this;<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>  protected boolean catalogJanitorEnabled;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.304"></a>
+<span class="sourceLineNo">303</span>  protected String format;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.304"></a>
 <span class="sourceLineNo">305</span>  {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.306"></a>
+<span class="sourceLineNo">306</span>    (getImplData()).setFormat(p_format);<a name="line.306"></a>
 <span class="sourceLineNo">307</span>    return this;<a name="line.307"></a>
 <span class="sourceLineNo">308</span>  }<a name="line.308"></a>
 <span class="sourceLineNo">309</span>  <a name="line.309"></a>
-<span class="sourceLineNo">310</span>  protected String format;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.311"></a>
+<span class="sourceLineNo">310</span>  protected ServerName metaLocation;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.311"></a>
 <span class="sourceLineNo">312</span>  {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    (getImplData()).setFormat(p_format);<a name="line.313"></a>
+<span class="sourceLineNo">313</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.313"></a>
 <span class="sourceLineNo">314</span>    return this;<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>  protected String filter;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.318"></a>
+<span class="sourceLineNo">317</span>  protected AssignmentManager assignmentManager;<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.318"></a>
 <span class="sourceLineNo">319</span>  {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    (getImplData()).setFilter(p_filter);<a name="line.320"></a>
+<span class="sourceLineNo">320</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.320"></a>
 <span class="sourceLineNo">321</span>    return this;<a name="line.321"></a>
 <span class="sourceLineNo">322</span>  }<a name="line.322"></a>
 <span class="sourceLineNo">323</span>  <a name="line.323"></a>
@@ -336,10 +336,10 @@
 <span class="sourceLineNo">328</span>    return this;<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>  protected Set&lt;ServerName&gt; deadServers;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.332"></a>
+<span class="sourceLineNo">331</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.332"></a>
 <span class="sourceLineNo">333</span>  {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.334"></a>
+<span class="sourceLineNo">334</span>    (getImplData()).setFrags(p_frags);<a name="line.334"></a>
 <span class="sourceLineNo">335</span>    return this;<a name="line.335"></a>
 <span class="sourceLineNo">336</span>  }<a name="line.336"></a>
 <span class="sourceLineNo">337</span>  <a name="line.337"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 0eabd79..fa77d32 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
@@ -68,15 +68,15 @@
 <span class="sourceLineNo">060</span><a name="line.60"></a>
 <span class="sourceLineNo">061</span>{<a name="line.61"></a>
 <span class="sourceLineNo">062</span>  private final HMaster master;<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  private final Map&lt;String,Integer&gt; frags;<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  private final ServerName metaLocation;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  private final AssignmentManager assignmentManager;<a name="line.65"></a>
+<span class="sourceLineNo">063</span>  private final Set&lt;ServerName&gt; deadServers;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>  private final String filter;<a name="line.64"></a>
+<span class="sourceLineNo">065</span>  private final boolean catalogJanitorEnabled;<a name="line.65"></a>
 <span class="sourceLineNo">066</span>  private final ServerManager serverManager;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  private final boolean catalogJanitorEnabled;<a name="line.67"></a>
-<span class="sourceLineNo">068</span>  private final String format;<a name="line.68"></a>
-<span class="sourceLineNo">069</span>  private final String filter;<a name="line.69"></a>
+<span class="sourceLineNo">067</span>  private final String format;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>  private final ServerName metaLocation;<a name="line.68"></a>
+<span class="sourceLineNo">069</span>  private final AssignmentManager assignmentManager;<a name="line.69"></a>
 <span class="sourceLineNo">070</span>  private final List&lt;ServerName&gt; servers;<a name="line.70"></a>
-<span class="sourceLineNo">071</span>  private final Set&lt;ServerName&gt; deadServers;<a name="line.71"></a>
+<span class="sourceLineNo">071</span>  private final Map&lt;String,Integer&gt; frags;<a name="line.71"></a>
 <span class="sourceLineNo">072</span>  // 68, 1<a name="line.72"></a>
 <span class="sourceLineNo">073</span>  <a name="line.73"></a>
 <span class="sourceLineNo">074</span>  public String formatZKString() {<a name="line.74"></a>
@@ -106,41 +106,41 @@
 <span class="sourceLineNo">098</span><a name="line.98"></a>
 <span class="sourceLineNo">099</span>  protected static org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl.ImplData __jamon_setOptionalArguments(org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl.ImplData p_implData)<a name="line.99"></a>
 <span class="sourceLineNo">100</span>  {<a name="line.100"></a>
-<span class="sourceLineNo">101</span>    if(! p_implData.getFrags__IsNotDefault())<a name="line.101"></a>
+<span class="sourceLineNo">101</span>    if(! p_implData.getDeadServers__IsNotDefault())<a name="line.101"></a>
 <span class="sourceLineNo">102</span>    {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      p_implData.setFrags(null);<a name="line.103"></a>
+<span class="sourceLineNo">103</span>      p_implData.setDeadServers(null);<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    }<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    if(! p_implData.getMetaLocation__IsNotDefault())<a name="line.105"></a>
+<span class="sourceLineNo">105</span>    if(! p_implData.getFilter__IsNotDefault())<a name="line.105"></a>
 <span class="sourceLineNo">106</span>    {<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      p_implData.setMetaLocation(null);<a name="line.107"></a>
+<span class="sourceLineNo">107</span>      p_implData.setFilter("general");<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    }<a name="line.108"></a>
-<span class="sourceLineNo">109</span>    if(! p_implData.getAssignmentManager__IsNotDefault())<a name="line.109"></a>
+<span class="sourceLineNo">109</span>    if(! p_implData.getCatalogJanitorEnabled__IsNotDefault())<a name="line.109"></a>
 <span class="sourceLineNo">110</span>    {<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      p_implData.setAssignmentManager(null);<a name="line.111"></a>
+<span class="sourceLineNo">111</span>      p_implData.setCatalogJanitorEnabled(true);<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    }<a name="line.112"></a>
 <span class="sourceLineNo">113</span>    if(! p_implData.getServerManager__IsNotDefault())<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    {<a name="line.114"></a>
 <span class="sourceLineNo">115</span>      p_implData.setServerManager(null);<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    if(! p_implData.getCatalogJanitorEnabled__IsNotDefault())<a name="line.117"></a>
+<span class="sourceLineNo">117</span>    if(! p_implData.getFormat__IsNotDefault())<a name="line.117"></a>
 <span class="sourceLineNo">118</span>    {<a name="line.118"></a>
-<span class="sourceLineNo">119</span>      p_implData.setCatalogJanitorEnabled(true);<a name="line.119"></a>
+<span class="sourceLineNo">119</span>      p_implData.setFormat("html");<a name="line.119"></a>
 <span class="sourceLineNo">120</span>    }<a name="line.120"></a>
-<span class="sourceLineNo">121</span>    if(! p_implData.getFormat__IsNotDefault())<a name="line.121"></a>
+<span class="sourceLineNo">121</span>    if(! p_implData.getMetaLocation__IsNotDefault())<a name="line.121"></a>
 <span class="sourceLineNo">122</span>    {<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      p_implData.setFormat("html");<a name="line.123"></a>
+<span class="sourceLineNo">123</span>      p_implData.setMetaLocation(null);<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    }<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    if(! p_implData.getFilter__IsNotDefault())<a name="line.125"></a>
+<span class="sourceLineNo">125</span>    if(! p_implData.getAssignmentManager__IsNotDefault())<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    {<a name="line.126"></a>
-<span class="sourceLineNo">127</span>      p_implData.setFilter("general");<a name="line.127"></a>
+<span class="sourceLineNo">127</span>      p_implData.setAssignmentManager(null);<a name="line.127"></a>
 <span class="sourceLineNo">128</span>    }<a name="line.128"></a>
 <span class="sourceLineNo">129</span>    if(! p_implData.getServers__IsNotDefault())<a name="line.129"></a>
 <span class="sourceLineNo">130</span>    {<a name="line.130"></a>
 <span class="sourceLineNo">131</span>      p_implData.setServers(null);<a name="line.131"></a>
 <span class="sourceLineNo">132</span>    }<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    if(! p_implData.getDeadServers__IsNotDefault())<a name="line.133"></a>
+<span class="sourceLineNo">133</span>    if(! p_implData.getFrags__IsNotDefault())<a name="line.133"></a>
 <span class="sourceLineNo">134</span>    {<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      p_implData.setDeadServers(null);<a name="line.135"></a>
+<span class="sourceLineNo">135</span>      p_implData.setFrags(null);<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    }<a name="line.136"></a>
 <span class="sourceLineNo">137</span>    return p_implData;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>  }<a name="line.138"></a>
@@ -148,15 +148,15 @@
 <span class="sourceLineNo">140</span>  {<a name="line.140"></a>
 <span class="sourceLineNo">141</span>    super(p_templateManager, __jamon_setOptionalArguments(p_implData));<a name="line.141"></a>
 <span class="sourceLineNo">142</span>    master = p_implData.getMaster();<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    frags = p_implData.getFrags();<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    metaLocation = p_implData.getMetaLocation();<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    assignmentManager = p_implData.getAssignmentManager();<a name="line.145"></a>
+<span class="sourceLineNo">143</span>    deadServers = p_implData.getDeadServers();<a name="line.143"></a>
+<span class="sourceLineNo">144</span>    filter = p_implData.getFilter();<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    catalogJanitorEnabled = p_implData.getCatalogJanitorEnabled();<a name="line.145"></a>
 <span class="sourceLineNo">146</span>    serverManager = p_implData.getServerManager();<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    catalogJanitorEnabled = p_implData.getCatalogJanitorEnabled();<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    format = p_implData.getFormat();<a name="line.148"></a>
-<span class="sourceLineNo">149</span>    filter = p_implData.getFilter();<a name="line.149"></a>
+<span class="sourceLineNo">147</span>    format = p_implData.getFormat();<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    metaLocation = p_implData.getMetaLocation();<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    assignmentManager = p_implData.getAssignmentManager();<a name="line.149"></a>
 <span class="sourceLineNo">150</span>    servers = p_implData.getServers();<a name="line.150"></a>
-<span class="sourceLineNo">151</span>    deadServers = p_implData.getDeadServers();<a name="line.151"></a>
+<span class="sourceLineNo">151</span>    frags = p_implData.getFrags();<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>  @Override public void renderNoFlush(final java.io.Writer jamonWriter)<a name="line.154"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 5ca346b..89a8c5a 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,9 +33,9 @@
 <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 = "filter", 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 = "format", type = "String"),<a name="line.30"></a>
+<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.29"></a>
+<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.30"></a>
 <span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String")})<a name="line.31"></a>
 <span class="sourceLineNo">032</span>public class RSStatusTmpl<a name="line.32"></a>
 <span class="sourceLineNo">033</span>  extends org.jamon.AbstractTemplateProxy<a name="line.33"></a>
@@ -77,57 +77,57 @@
 <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>    // 21, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public void setFilter(String filter)<a name="line.73"></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">074</span>    {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      // 21, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      m_filter = filter;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      m_filter__IsNotDefault = true;<a name="line.77"></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">078</span>    }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    public String getFilter()<a name="line.79"></a>
+<span class="sourceLineNo">079</span>    public String getBcv()<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      return m_filter;<a name="line.81"></a>
+<span class="sourceLineNo">081</span>      return m_bcv;<a name="line.81"></a>
 <span class="sourceLineNo">082</span>    }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    private String m_filter;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public boolean getFilter__IsNotDefault()<a name="line.84"></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">085</span>    {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      return m_filter__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span>      return m_bcv__IsNotDefault;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>    }<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    private boolean m_filter__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">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">091</span>    {<a name="line.91"></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">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">095</span>    }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    public String getBcv()<a name="line.96"></a>
+<span class="sourceLineNo">096</span>    public String getFormat()<a name="line.96"></a>
 <span class="sourceLineNo">097</span>    {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      return m_bcv;<a name="line.98"></a>
+<span class="sourceLineNo">098</span>      return m_format;<a name="line.98"></a>
 <span class="sourceLineNo">099</span>    }<a name="line.99"></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">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">102</span>    {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      return m_bcv__IsNotDefault;<a name="line.103"></a>
+<span class="sourceLineNo">103</span>      return m_format__IsNotDefault;<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    }<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    private boolean m_bcv__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    // 22, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    public void setFormat(String format)<a name="line.107"></a>
+<span class="sourceLineNo">105</span>    private boolean m_format__IsNotDefault;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    // 21, 1<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public void setFilter(String filter)<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      // 22, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      m_format = format;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      m_format__IsNotDefault = true;<a name="line.111"></a>
+<span class="sourceLineNo">109</span>      // 21, 1<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      m_filter = filter;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      m_filter__IsNotDefault = true;<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public String getFormat()<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    public String getFilter()<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      return m_format;<a name="line.115"></a>
+<span class="sourceLineNo">115</span>      return m_filter;<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    private String m_format;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public boolean getFormat__IsNotDefault()<a name="line.118"></a>
+<span class="sourceLineNo">117</span>    private String m_filter;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    public boolean getFilter__IsNotDefault()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_format__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_filter__IsNotDefault;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private boolean m_format__IsNotDefault;<a name="line.122"></a>
+<span class="sourceLineNo">122</span>    private boolean m_filter__IsNotDefault;<a name="line.122"></a>
 <span class="sourceLineNo">123</span>    // 23, 1<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    public void setBcn(String bcn)<a name="line.124"></a>
 <span class="sourceLineNo">125</span>    {<a name="line.125"></a>
@@ -156,24 +156,24 @@
 <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 filter;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.152"></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">153</span>  {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    (getImplData()).setFilter(p_filter);<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    (getImplData()).setBcv(p_bcv);<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 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">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">160</span>  {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    (getImplData()).setBcv(p_bcv);<a name="line.161"></a>
+<span class="sourceLineNo">161</span>    (getImplData()).setFormat(p_format);<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    return this;<a name="line.162"></a>
 <span class="sourceLineNo">163</span>  }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  <a name="line.164"></a>
-<span class="sourceLineNo">165</span>  protected String format;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.166"></a>
+<span class="sourceLineNo">165</span>  protected String filter;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.166"></a>
 <span class="sourceLineNo">167</span>  {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    (getImplData()).setFormat(p_format);<a name="line.168"></a>
+<span class="sourceLineNo">168</span>    (getImplData()).setFilter(p_filter);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    return this;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>  }<a name="line.170"></a>
 <span class="sourceLineNo">171</span>  <a name="line.171"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 5ca346b..89a8c5a 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,9 +33,9 @@
 <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 = "filter", 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 = "format", type = "String"),<a name="line.30"></a>
+<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.29"></a>
+<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.30"></a>
 <span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String")})<a name="line.31"></a>
 <span class="sourceLineNo">032</span>public class RSStatusTmpl<a name="line.32"></a>
 <span class="sourceLineNo">033</span>  extends org.jamon.AbstractTemplateProxy<a name="line.33"></a>
@@ -77,57 +77,57 @@
 <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>    // 21, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public void setFilter(String filter)<a name="line.73"></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">074</span>    {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      // 21, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      m_filter = filter;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      m_filter__IsNotDefault = true;<a name="line.77"></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">078</span>    }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    public String getFilter()<a name="line.79"></a>
+<span class="sourceLineNo">079</span>    public String getBcv()<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      return m_filter;<a name="line.81"></a>
+<span class="sourceLineNo">081</span>      return m_bcv;<a name="line.81"></a>
 <span class="sourceLineNo">082</span>    }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    private String m_filter;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public boolean getFilter__IsNotDefault()<a name="line.84"></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">085</span>    {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      return m_filter__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span>      return m_bcv__IsNotDefault;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>    }<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    private boolean m_filter__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">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">091</span>    {<a name="line.91"></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">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">095</span>    }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    public String getBcv()<a name="line.96"></a>
+<span class="sourceLineNo">096</span>    public String getFormat()<a name="line.96"></a>
 <span class="sourceLineNo">097</span>    {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      return m_bcv;<a name="line.98"></a>
+<span class="sourceLineNo">098</span>      return m_format;<a name="line.98"></a>
 <span class="sourceLineNo">099</span>    }<a name="line.99"></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">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">102</span>    {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      return m_bcv__IsNotDefault;<a name="line.103"></a>
+<span class="sourceLineNo">103</span>      return m_format__IsNotDefault;<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    }<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    private boolean m_bcv__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    // 22, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    public void setFormat(String format)<a name="line.107"></a>
+<span class="sourceLineNo">105</span>    private boolean m_format__IsNotDefault;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    // 21, 1<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public void setFilter(String filter)<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      // 22, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      m_format = format;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      m_format__IsNotDefault = true;<a name="line.111"></a>
+<span class="sourceLineNo">109</span>      // 21, 1<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      m_filter = filter;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      m_filter__IsNotDefault = true;<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public String getFormat()<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    public String getFilter()<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      return m_format;<a name="line.115"></a>
+<span class="sourceLineNo">115</span>      return m_filter;<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    private String m_format;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public boolean getFormat__IsNotDefault()<a name="line.118"></a>
+<span class="sourceLineNo">117</span>    private String m_filter;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    public boolean getFilter__IsNotDefault()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_format__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_filter__IsNotDefault;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private boolean m_format__IsNotDefault;<a name="line.122"></a>
+<span class="sourceLineNo">122</span>    private boolean m_filter__IsNotDefault;<a name="line.122"></a>
 <span class="sourceLineNo">123</span>    // 23, 1<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    public void setBcn(String bcn)<a name="line.124"></a>
 <span class="sourceLineNo">125</span>    {<a name="line.125"></a>
@@ -156,24 +156,24 @@
 <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 filter;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.152"></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">153</span>  {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    (getImplData()).setFilter(p_filter);<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    (getImplData()).setBcv(p_bcv);<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 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">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">160</span>  {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    (getImplData()).setBcv(p_bcv);<a name="line.161"></a>
+<span class="sourceLineNo">161</span>    (getImplData()).setFormat(p_format);<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    return this;<a name="line.162"></a>
 <span class="sourceLineNo">163</span>  }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  <a name="line.164"></a>
-<span class="sourceLineNo">165</span>  protected String format;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.166"></a>
+<span class="sourceLineNo">165</span>  protected String filter;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.166"></a>
 <span class="sourceLineNo">167</span>  {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    (getImplData()).setFormat(p_format);<a name="line.168"></a>
+<span class="sourceLineNo">168</span>    (getImplData()).setFilter(p_filter);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    return this;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>  }<a name="line.170"></a>
 <span class="sourceLineNo">171</span>  <a name="line.171"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 5ca346b..89a8c5a 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,9 +33,9 @@
 <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 = "filter", 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 = "format", type = "String"),<a name="line.30"></a>
+<span class="sourceLineNo">028</span>    @org.jamon.annotations.Argument(name = "bcv", type = "String"),<a name="line.28"></a>
+<span class="sourceLineNo">029</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.29"></a>
+<span class="sourceLineNo">030</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.30"></a>
 <span class="sourceLineNo">031</span>    @org.jamon.annotations.Argument(name = "bcn", type = "String")})<a name="line.31"></a>
 <span class="sourceLineNo">032</span>public class RSStatusTmpl<a name="line.32"></a>
 <span class="sourceLineNo">033</span>  extends org.jamon.AbstractTemplateProxy<a name="line.33"></a>
@@ -77,57 +77,57 @@
 <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>    // 21, 1<a name="line.72"></a>
-<span class="sourceLineNo">073</span>    public void setFilter(String filter)<a name="line.73"></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">074</span>    {<a name="line.74"></a>
-<span class="sourceLineNo">075</span>      // 21, 1<a name="line.75"></a>
-<span class="sourceLineNo">076</span>      m_filter = filter;<a name="line.76"></a>
-<span class="sourceLineNo">077</span>      m_filter__IsNotDefault = true;<a name="line.77"></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">078</span>    }<a name="line.78"></a>
-<span class="sourceLineNo">079</span>    public String getFilter()<a name="line.79"></a>
+<span class="sourceLineNo">079</span>    public String getBcv()<a name="line.79"></a>
 <span class="sourceLineNo">080</span>    {<a name="line.80"></a>
-<span class="sourceLineNo">081</span>      return m_filter;<a name="line.81"></a>
+<span class="sourceLineNo">081</span>      return m_bcv;<a name="line.81"></a>
 <span class="sourceLineNo">082</span>    }<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    private String m_filter;<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    public boolean getFilter__IsNotDefault()<a name="line.84"></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">085</span>    {<a name="line.85"></a>
-<span class="sourceLineNo">086</span>      return m_filter__IsNotDefault;<a name="line.86"></a>
+<span class="sourceLineNo">086</span>      return m_bcv__IsNotDefault;<a name="line.86"></a>
 <span class="sourceLineNo">087</span>    }<a name="line.87"></a>
-<span class="sourceLineNo">088</span>    private boolean m_filter__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">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">091</span>    {<a name="line.91"></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">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">095</span>    }<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    public String getBcv()<a name="line.96"></a>
+<span class="sourceLineNo">096</span>    public String getFormat()<a name="line.96"></a>
 <span class="sourceLineNo">097</span>    {<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      return m_bcv;<a name="line.98"></a>
+<span class="sourceLineNo">098</span>      return m_format;<a name="line.98"></a>
 <span class="sourceLineNo">099</span>    }<a name="line.99"></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">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">102</span>    {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      return m_bcv__IsNotDefault;<a name="line.103"></a>
+<span class="sourceLineNo">103</span>      return m_format__IsNotDefault;<a name="line.103"></a>
 <span class="sourceLineNo">104</span>    }<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    private boolean m_bcv__IsNotDefault;<a name="line.105"></a>
-<span class="sourceLineNo">106</span>    // 22, 1<a name="line.106"></a>
-<span class="sourceLineNo">107</span>    public void setFormat(String format)<a name="line.107"></a>
+<span class="sourceLineNo">105</span>    private boolean m_format__IsNotDefault;<a name="line.105"></a>
+<span class="sourceLineNo">106</span>    // 21, 1<a name="line.106"></a>
+<span class="sourceLineNo">107</span>    public void setFilter(String filter)<a name="line.107"></a>
 <span class="sourceLineNo">108</span>    {<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      // 22, 1<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      m_format = format;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      m_format__IsNotDefault = true;<a name="line.111"></a>
+<span class="sourceLineNo">109</span>      // 21, 1<a name="line.109"></a>
+<span class="sourceLineNo">110</span>      m_filter = filter;<a name="line.110"></a>
+<span class="sourceLineNo">111</span>      m_filter__IsNotDefault = true;<a name="line.111"></a>
 <span class="sourceLineNo">112</span>    }<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    public String getFormat()<a name="line.113"></a>
+<span class="sourceLineNo">113</span>    public String getFilter()<a name="line.113"></a>
 <span class="sourceLineNo">114</span>    {<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      return m_format;<a name="line.115"></a>
+<span class="sourceLineNo">115</span>      return m_filter;<a name="line.115"></a>
 <span class="sourceLineNo">116</span>    }<a name="line.116"></a>
-<span class="sourceLineNo">117</span>    private String m_format;<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public boolean getFormat__IsNotDefault()<a name="line.118"></a>
+<span class="sourceLineNo">117</span>    private String m_filter;<a name="line.117"></a>
+<span class="sourceLineNo">118</span>    public boolean getFilter__IsNotDefault()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_format__IsNotDefault;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_filter__IsNotDefault;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private boolean m_format__IsNotDefault;<a name="line.122"></a>
+<span class="sourceLineNo">122</span>    private boolean m_filter__IsNotDefault;<a name="line.122"></a>
 <span class="sourceLineNo">123</span>    // 23, 1<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    public void setBcn(String bcn)<a name="line.124"></a>
 <span class="sourceLineNo">125</span>    {<a name="line.125"></a>
@@ -156,24 +156,24 @@
 <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 filter;<a name="line.151"></a>
-<span class="sourceLineNo">152</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.152"></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">153</span>  {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    (getImplData()).setFilter(p_filter);<a name="line.154"></a>
+<span class="sourceLineNo">154</span>    (getImplData()).setBcv(p_bcv);<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 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">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">160</span>  {<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    (getImplData()).setBcv(p_bcv);<a name="line.161"></a>
+<span class="sourceLineNo">161</span>    (getImplData()).setFormat(p_format);<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    return this;<a name="line.162"></a>
 <span class="sourceLineNo">163</span>  }<a name="line.163"></a>
 <span class="sourceLineNo">164</span>  <a name="line.164"></a>
-<span class="sourceLineNo">165</span>  protected String format;<a name="line.165"></a>
-<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFormat(String p_format)<a name="line.166"></a>
+<span class="sourceLineNo">165</span>  protected String filter;<a name="line.165"></a>
+<span class="sourceLineNo">166</span>  public final org.apache.hadoop.hbase.tmpl.regionserver.RSStatusTmpl setFilter(String p_filter)<a name="line.166"></a>
 <span class="sourceLineNo">167</span>  {<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    (getImplData()).setFormat(p_format);<a name="line.168"></a>
+<span class="sourceLineNo">168</span>    (getImplData()).setFilter(p_filter);<a name="line.168"></a>
 <span class="sourceLineNo">169</span>    return this;<a name="line.169"></a>
 <span class="sourceLineNo">170</span>  }<a name="line.170"></a>
 <span class="sourceLineNo">171</span>  <a name="line.171"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 320d409..36edc93 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,23 +34,23 @@
 <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 filter;<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 format;<a name="line.31"></a>
+<span class="sourceLineNo">029</span>  private final String bcv;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>  private final String format;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>  private final String filter;<a name="line.31"></a>
 <span class="sourceLineNo">032</span>  private final String bcn;<a name="line.32"></a>
 <span class="sourceLineNo">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.getFilter__IsNotDefault())<a name="line.35"></a>
+<span class="sourceLineNo">035</span>    if(! p_implData.getBcv__IsNotDefault())<a name="line.35"></a>
 <span class="sourceLineNo">036</span>    {<a name="line.36"></a>
-<span class="sourceLineNo">037</span>      p_implData.setFilter("general");<a name="line.37"></a>
+<span class="sourceLineNo">037</span>      p_implData.setBcv("");<a name="line.37"></a>
 <span class="sourceLineNo">038</span>    }<a name="line.38"></a>
-<span class="sourceLineNo">039</span>    if(! p_implData.getBcv__IsNotDefault())<a name="line.39"></a>
+<span class="sourceLineNo">039</span>    if(! p_implData.getFormat__IsNotDefault())<a name="line.39"></a>
 <span class="sourceLineNo">040</span>    {<a name="line.40"></a>
-<span class="sourceLineNo">041</span>      p_implData.setBcv("");<a name="line.41"></a>
+<span class="sourceLineNo">041</span>      p_implData.setFormat("html");<a name="line.41"></a>
 <span class="sourceLineNo">042</span>    }<a name="line.42"></a>
-<span class="sourceLineNo">043</span>    if(! p_implData.getFormat__IsNotDefault())<a name="line.43"></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>
-<span class="sourceLineNo">045</span>      p_implData.setFormat("html");<a name="line.45"></a>
+<span class="sourceLineNo">045</span>      p_implData.setFilter("general");<a name="line.45"></a>
 <span class="sourceLineNo">046</span>    }<a name="line.46"></a>
 <span class="sourceLineNo">047</span>    if(! p_implData.getBcn__IsNotDefault())<a name="line.47"></a>
 <span class="sourceLineNo">048</span>    {<a name="line.48"></a>
@@ -62,9 +62,9 @@
 <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>    filter = p_implData.getFilter();<a name="line.57"></a>
-<span class="sourceLineNo">058</span>    bcv = p_implData.getBcv();<a name="line.58"></a>
-<span class="sourceLineNo">059</span>    format = p_implData.getFormat();<a name="line.59"></a>
+<span class="sourceLineNo">057</span>    bcv = p_implData.getBcv();<a name="line.57"></a>
+<span class="sourceLineNo">058</span>    format = p_implData.getFormat();<a name="line.58"></a>
+<span class="sourceLineNo">059</span>    filter = p_implData.getFilter();<a name="line.59"></a>
 <span class="sourceLineNo">060</span>    bcn = p_implData.getBcn();<a name="line.60"></a>
 <span class="sourceLineNo">061</span>  }<a name="line.61"></a>
 <span class="sourceLineNo">062</span>  <a name="line.62"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/distribution-management.html
----------------------------------------------------------------------
diff --git a/distribution-management.html b/distribution-management.html
index ad895b2..8654772 100644
--- a/distribution-management.html
+++ b/distribution-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; Project Distribution Management</title>
     <link rel="stylesheet" href="./css/apache-maven-fluido-1.5-HBASE.min.css" />
@@ -290,7 +290,7 @@
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/export_control.html
----------------------------------------------------------------------
diff --git a/export_control.html b/export_control.html
index 8591c73..dcca9d5 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013; 
       Export Control
@@ -330,7 +330,7 @@ for more details.</p>
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/hbase-annotations/checkstyle.html
----------------------------------------------------------------------
diff --git a/hbase-annotations/checkstyle.html b/hbase-annotations/checkstyle.html
index c871b14..d7bdb55 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 2016-01-26 -->
+<!-- Generated by Apache Maven Doxia Site Renderer 1.6 at 2016-01-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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
         
         </head>
@@ -27,7 +27,7 @@
             
                     
                 <div class="xleft">
-        <span id="publishDate">Last Published: 2016-01-26</span>
+        <span id="publishDate">Last Published: 2016-01-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>


[14/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 2a6a981..9da7c42 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
@@ -67,15 +67,15 @@
 <span class="sourceLineNo">059</span>  requiredArguments = {<a name="line.59"></a>
 <span class="sourceLineNo">060</span>    @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.60"></a>
 <span class="sourceLineNo">061</span>  optionalArguments = {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.64"></a>
+<span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.64"></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 = "catalogJanitorEnabled", type = "boolean"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.68"></a>
+<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.68"></a>
 <span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;")})<a name="line.70"></a>
+<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;")})<a name="line.70"></a>
 <span class="sourceLineNo">071</span>public class MasterStatusTmpl<a name="line.71"></a>
 <span class="sourceLineNo">072</span>  extends org.jamon.AbstractTemplateProxy<a name="line.72"></a>
 <span class="sourceLineNo">073</span>{<a name="line.73"></a>
@@ -116,57 +116,57 @@
 <span class="sourceLineNo">108</span>      return m_master;<a name="line.108"></a>
 <span class="sourceLineNo">109</span>    }<a name="line.109"></a>
 <span class="sourceLineNo">110</span>    private HMaster m_master;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    // 21, 1<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.112"></a>
+<span class="sourceLineNo">111</span>    // 24, 1<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.112"></a>
 <span class="sourceLineNo">113</span>    {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      // 21, 1<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      m_frags = frags;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      m_frags__IsNotDefault = true;<a name="line.116"></a>
+<span class="sourceLineNo">114</span>      // 24, 1<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      m_deadServers = deadServers;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      m_deadServers__IsNotDefault = true;<a name="line.116"></a>
 <span class="sourceLineNo">117</span>    }<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.118"></a>
+<span class="sourceLineNo">118</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_frags;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_deadServers;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    public boolean getFrags__IsNotDefault()<a name="line.123"></a>
+<span class="sourceLineNo">122</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    public boolean getDeadServers__IsNotDefault()<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      return m_frags__IsNotDefault;<a name="line.125"></a>
+<span class="sourceLineNo">125</span>      return m_deadServers__IsNotDefault;<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    }<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    private boolean m_frags__IsNotDefault;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    // 22, 1<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.129"></a>
+<span class="sourceLineNo">127</span>    private boolean m_deadServers__IsNotDefault;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    // 26, 1<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    public void setFilter(String filter)<a name="line.129"></a>
 <span class="sourceLineNo">130</span>    {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      // 22, 1<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      m_metaLocation = metaLocation;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      m_metaLocation__IsNotDefault = true;<a name="line.133"></a>
+<span class="sourceLineNo">131</span>      // 26, 1<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      m_filter = filter;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      m_filter__IsNotDefault = true;<a name="line.133"></a>
 <span class="sourceLineNo">134</span>    }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    public ServerName getMetaLocation()<a name="line.135"></a>
+<span class="sourceLineNo">135</span>    public String getFilter()<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      return m_metaLocation;<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      return m_filter;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    private ServerName m_metaLocation;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.140"></a>
+<span class="sourceLineNo">139</span>    private String m_filter;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    public boolean getFilter__IsNotDefault()<a name="line.140"></a>
 <span class="sourceLineNo">141</span>    {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      return m_metaLocation__IsNotDefault;<a name="line.142"></a>
+<span class="sourceLineNo">142</span>      return m_filter__IsNotDefault;<a name="line.142"></a>
 <span class="sourceLineNo">143</span>    }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    // 29, 1<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.146"></a>
+<span class="sourceLineNo">144</span>    private boolean m_filter__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    // 25, 1<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.146"></a>
 <span class="sourceLineNo">147</span>    {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      // 29, 1<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      m_assignmentManager = assignmentManager;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      m_assignmentManager__IsNotDefault = true;<a name="line.150"></a>
+<span class="sourceLineNo">148</span>      // 25, 1<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.150"></a>
 <span class="sourceLineNo">151</span>    }<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    public AssignmentManager getAssignmentManager()<a name="line.152"></a>
+<span class="sourceLineNo">152</span>    public boolean getCatalogJanitorEnabled()<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      return m_assignmentManager;<a name="line.154"></a>
+<span class="sourceLineNo">154</span>      return m_catalogJanitorEnabled;<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    }<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    private AssignmentManager m_assignmentManager;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.157"></a>
+<span class="sourceLineNo">156</span>    private boolean m_catalogJanitorEnabled;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.157"></a>
 <span class="sourceLineNo">158</span>    {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      return m_assignmentManager__IsNotDefault;<a name="line.159"></a>
+<span class="sourceLineNo">159</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    }<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">161</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    // 28, 1<a name="line.162"></a>
 <span class="sourceLineNo">163</span>    public void setServerManager(ServerManager serverManager)<a name="line.163"></a>
 <span class="sourceLineNo">164</span>    {<a name="line.164"></a>
@@ -184,57 +184,57 @@
 <span class="sourceLineNo">176</span>      return m_serverManager__IsNotDefault;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    }<a name="line.177"></a>
 <span class="sourceLineNo">178</span>    private boolean m_serverManager__IsNotDefault;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    // 25, 1<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.180"></a>
+<span class="sourceLineNo">179</span>    // 27, 1<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    public void setFormat(String format)<a name="line.180"></a>
 <span class="sourceLineNo">181</span>    {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      // 25, 1<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.184"></a>
+<span class="sourceLineNo">182</span>      // 27, 1<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      m_format = format;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      m_format__IsNotDefault = true;<a name="line.184"></a>
 <span class="sourceLineNo">185</span>    }<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    public boolean getCatalogJanitorEnabled()<a name="line.186"></a>
+<span class="sourceLineNo">186</span>    public String getFormat()<a name="line.186"></a>
 <span class="sourceLineNo">187</span>    {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      return m_catalogJanitorEnabled;<a name="line.188"></a>
+<span class="sourceLineNo">188</span>      return m_format;<a name="line.188"></a>
 <span class="sourceLineNo">189</span>    }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    private boolean m_catalogJanitorEnabled;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.191"></a>
+<span class="sourceLineNo">190</span>    private String m_format;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    public boolean getFormat__IsNotDefault()<a name="line.191"></a>
 <span class="sourceLineNo">192</span>    {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.193"></a>
+<span class="sourceLineNo">193</span>      return m_format__IsNotDefault;<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    // 27, 1<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    public void setFormat(String format)<a name="line.197"></a>
+<span class="sourceLineNo">195</span>    private boolean m_format__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    // 22, 1<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.197"></a>
 <span class="sourceLineNo">198</span>    {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      // 27, 1<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      m_format = format;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      m_format__IsNotDefault = true;<a name="line.201"></a>
+<span class="sourceLineNo">199</span>      // 22, 1<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      m_metaLocation = metaLocation;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      m_metaLocation__IsNotDefault = true;<a name="line.201"></a>
 <span class="sourceLineNo">202</span>    }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    public String getFormat()<a name="line.203"></a>
+<span class="sourceLineNo">203</span>    public ServerName getMetaLocation()<a name="line.203"></a>
 <span class="sourceLineNo">204</span>    {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      return m_format;<a name="line.205"></a>
+<span class="sourceLineNo">205</span>      return m_metaLocation;<a name="line.205"></a>
 <span class="sourceLineNo">206</span>    }<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    private String m_format;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    public boolean getFormat__IsNotDefault()<a name="line.208"></a>
+<span class="sourceLineNo">207</span>    private ServerName m_metaLocation;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.208"></a>
 <span class="sourceLineNo">209</span>    {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      return m_format__IsNotDefault;<a name="line.210"></a>
+<span class="sourceLineNo">210</span>      return m_metaLocation__IsNotDefault;<a name="line.210"></a>
 <span class="sourceLineNo">211</span>    }<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    private boolean m_format__IsNotDefault;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    // 26, 1<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    public void setFilter(String filter)<a name="line.214"></a>
+<span class="sourceLineNo">212</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    // 29, 1<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.214"></a>
 <span class="sourceLineNo">215</span>    {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      // 26, 1<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      m_filter = filter;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      m_filter__IsNotDefault = true;<a name="line.218"></a>
+<span class="sourceLineNo">216</span>      // 29, 1<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      m_assignmentManager = assignmentManager;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      m_assignmentManager__IsNotDefault = true;<a name="line.218"></a>
 <span class="sourceLineNo">219</span>    }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    public String getFilter()<a name="line.220"></a>
+<span class="sourceLineNo">220</span>    public AssignmentManager getAssignmentManager()<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      return m_filter;<a name="line.222"></a>
+<span class="sourceLineNo">222</span>      return m_assignmentManager;<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    private String m_filter;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public boolean getFilter__IsNotDefault()<a name="line.225"></a>
+<span class="sourceLineNo">224</span>    private AssignmentManager m_assignmentManager;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.225"></a>
 <span class="sourceLineNo">226</span>    {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      return m_filter__IsNotDefault;<a name="line.227"></a>
+<span class="sourceLineNo">227</span>      return m_assignmentManager__IsNotDefault;<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    private boolean m_filter__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.229"></a>
 <span class="sourceLineNo">230</span>    // 23, 1<a name="line.230"></a>
 <span class="sourceLineNo">231</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.231"></a>
 <span class="sourceLineNo">232</span>    {<a name="line.232"></a>
@@ -252,23 +252,23 @@
 <span class="sourceLineNo">244</span>      return m_servers__IsNotDefault;<a name="line.244"></a>
 <span class="sourceLineNo">245</span>    }<a name="line.245"></a>
 <span class="sourceLineNo">246</span>    private boolean m_servers__IsNotDefault;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    // 24, 1<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.248"></a>
+<span class="sourceLineNo">247</span>    // 21, 1<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.248"></a>
 <span class="sourceLineNo">249</span>    {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      // 24, 1<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      m_deadServers = deadServers;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      m_deadServers__IsNotDefault = true;<a name="line.252"></a>
+<span class="sourceLineNo">250</span>      // 21, 1<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      m_frags = frags;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      m_frags__IsNotDefault = true;<a name="line.252"></a>
 <span class="sourceLineNo">253</span>    }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.254"></a>
+<span class="sourceLineNo">254</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      return m_deadServers;<a name="line.256"></a>
+<span class="sourceLineNo">256</span>      return m_frags;<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    public boolean getDeadServers__IsNotDefault()<a name="line.259"></a>
+<span class="sourceLineNo">258</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    public boolean getFrags__IsNotDefault()<a name="line.259"></a>
 <span class="sourceLineNo">260</span>    {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      return m_deadServers__IsNotDefault;<a name="line.261"></a>
+<span class="sourceLineNo">261</span>      return m_frags__IsNotDefault;<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    }<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    private boolean m_deadServers__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>    private boolean m_frags__IsNotDefault;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>  }<a name="line.264"></a>
 <span class="sourceLineNo">265</span>  @Override<a name="line.265"></a>
 <span class="sourceLineNo">266</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.266"></a>
@@ -280,24 +280,24 @@
 <span class="sourceLineNo">272</span>    return (ImplData) super.getImplData();<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>  protected Map&lt;String,Integer&gt; frags;<a name="line.275"></a>
-<span class="sourceLineNo">276</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.276"></a>
+<span class="sourceLineNo">275</span>  protected Set&lt;ServerName&gt; deadServers;<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.276"></a>
 <span class="sourceLineNo">277</span>  {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    (getImplData()).setFrags(p_frags);<a name="line.278"></a>
+<span class="sourceLineNo">278</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.278"></a>
 <span class="sourceLineNo">279</span>    return this;<a name="line.279"></a>
 <span class="sourceLineNo">280</span>  }<a name="line.280"></a>
 <span class="sourceLineNo">281</span>  <a name="line.281"></a>
-<span class="sourceLineNo">282</span>  protected ServerName metaLocation;<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.283"></a>
+<span class="sourceLineNo">282</span>  protected String filter;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.283"></a>
 <span class="sourceLineNo">284</span>  {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.285"></a>
+<span class="sourceLineNo">285</span>    (getImplData()).setFilter(p_filter);<a name="line.285"></a>
 <span class="sourceLineNo">286</span>    return this;<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>  protected AssignmentManager assignmentManager;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.290"></a>
+<span class="sourceLineNo">289</span>  protected boolean catalogJanitorEnabled;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.290"></a>
 <span class="sourceLineNo">291</span>  {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.292"></a>
+<span class="sourceLineNo">292</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.292"></a>
 <span class="sourceLineNo">293</span>    return this;<a name="line.293"></a>
 <span class="sourceLineNo">294</span>  }<a name="line.294"></a>
 <span class="sourceLineNo">295</span>  <a name="line.295"></a>
@@ -308,24 +308,24 @@
 <span class="sourceLineNo">300</span>    return this;<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>  protected boolean catalogJanitorEnabled;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.304"></a>
+<span class="sourceLineNo">303</span>  protected String format;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.304"></a>
 <span class="sourceLineNo">305</span>  {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.306"></a>
+<span class="sourceLineNo">306</span>    (getImplData()).setFormat(p_format);<a name="line.306"></a>
 <span class="sourceLineNo">307</span>    return this;<a name="line.307"></a>
 <span class="sourceLineNo">308</span>  }<a name="line.308"></a>
 <span class="sourceLineNo">309</span>  <a name="line.309"></a>
-<span class="sourceLineNo">310</span>  protected String format;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.311"></a>
+<span class="sourceLineNo">310</span>  protected ServerName metaLocation;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.311"></a>
 <span class="sourceLineNo">312</span>  {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    (getImplData()).setFormat(p_format);<a name="line.313"></a>
+<span class="sourceLineNo">313</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.313"></a>
 <span class="sourceLineNo">314</span>    return this;<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>  protected String filter;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.318"></a>
+<span class="sourceLineNo">317</span>  protected AssignmentManager assignmentManager;<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.318"></a>
 <span class="sourceLineNo">319</span>  {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    (getImplData()).setFilter(p_filter);<a name="line.320"></a>
+<span class="sourceLineNo">320</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.320"></a>
 <span class="sourceLineNo">321</span>    return this;<a name="line.321"></a>
 <span class="sourceLineNo">322</span>  }<a name="line.322"></a>
 <span class="sourceLineNo">323</span>  <a name="line.323"></a>
@@ -336,10 +336,10 @@
 <span class="sourceLineNo">328</span>    return this;<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>  protected Set&lt;ServerName&gt; deadServers;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.332"></a>
+<span class="sourceLineNo">331</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.332"></a>
 <span class="sourceLineNo">333</span>  {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.334"></a>
+<span class="sourceLineNo">334</span>    (getImplData()).setFrags(p_frags);<a name="line.334"></a>
 <span class="sourceLineNo">335</span>    return this;<a name="line.335"></a>
 <span class="sourceLineNo">336</span>  }<a name="line.336"></a>
 <span class="sourceLineNo">337</span>  <a name="line.337"></a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 2a6a981..9da7c42 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
@@ -67,15 +67,15 @@
 <span class="sourceLineNo">059</span>  requiredArguments = {<a name="line.59"></a>
 <span class="sourceLineNo">060</span>    @org.jamon.annotations.Argument(name = "master", type = "HMaster")},<a name="line.60"></a>
 <span class="sourceLineNo">061</span>  optionalArguments = {<a name="line.61"></a>
-<span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;"),<a name="line.62"></a>
-<span class="sourceLineNo">063</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.63"></a>
-<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.64"></a>
+<span class="sourceLineNo">062</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;"),<a name="line.62"></a>
+<span class="sourceLineNo">063</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.63"></a>
+<span class="sourceLineNo">064</span>    @org.jamon.annotations.Argument(name = "catalogJanitorEnabled", type = "boolean"),<a name="line.64"></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 = "catalogJanitorEnabled", type = "boolean"),<a name="line.66"></a>
-<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.67"></a>
-<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "filter", type = "String"),<a name="line.68"></a>
+<span class="sourceLineNo">066</span>    @org.jamon.annotations.Argument(name = "format", type = "String"),<a name="line.66"></a>
+<span class="sourceLineNo">067</span>    @org.jamon.annotations.Argument(name = "metaLocation", type = "ServerName"),<a name="line.67"></a>
+<span class="sourceLineNo">068</span>    @org.jamon.annotations.Argument(name = "assignmentManager", type = "AssignmentManager"),<a name="line.68"></a>
 <span class="sourceLineNo">069</span>    @org.jamon.annotations.Argument(name = "servers", type = "List&lt;ServerName&gt;"),<a name="line.69"></a>
-<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "deadServers", type = "Set&lt;ServerName&gt;")})<a name="line.70"></a>
+<span class="sourceLineNo">070</span>    @org.jamon.annotations.Argument(name = "frags", type = "Map&lt;String,Integer&gt;")})<a name="line.70"></a>
 <span class="sourceLineNo">071</span>public class MasterStatusTmpl<a name="line.71"></a>
 <span class="sourceLineNo">072</span>  extends org.jamon.AbstractTemplateProxy<a name="line.72"></a>
 <span class="sourceLineNo">073</span>{<a name="line.73"></a>
@@ -116,57 +116,57 @@
 <span class="sourceLineNo">108</span>      return m_master;<a name="line.108"></a>
 <span class="sourceLineNo">109</span>    }<a name="line.109"></a>
 <span class="sourceLineNo">110</span>    private HMaster m_master;<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    // 21, 1<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.112"></a>
+<span class="sourceLineNo">111</span>    // 24, 1<a name="line.111"></a>
+<span class="sourceLineNo">112</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.112"></a>
 <span class="sourceLineNo">113</span>    {<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      // 21, 1<a name="line.114"></a>
-<span class="sourceLineNo">115</span>      m_frags = frags;<a name="line.115"></a>
-<span class="sourceLineNo">116</span>      m_frags__IsNotDefault = true;<a name="line.116"></a>
+<span class="sourceLineNo">114</span>      // 24, 1<a name="line.114"></a>
+<span class="sourceLineNo">115</span>      m_deadServers = deadServers;<a name="line.115"></a>
+<span class="sourceLineNo">116</span>      m_deadServers__IsNotDefault = true;<a name="line.116"></a>
 <span class="sourceLineNo">117</span>    }<a name="line.117"></a>
-<span class="sourceLineNo">118</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.118"></a>
+<span class="sourceLineNo">118</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.118"></a>
 <span class="sourceLineNo">119</span>    {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>      return m_frags;<a name="line.120"></a>
+<span class="sourceLineNo">120</span>      return m_deadServers;<a name="line.120"></a>
 <span class="sourceLineNo">121</span>    }<a name="line.121"></a>
-<span class="sourceLineNo">122</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    public boolean getFrags__IsNotDefault()<a name="line.123"></a>
+<span class="sourceLineNo">122</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.122"></a>
+<span class="sourceLineNo">123</span>    public boolean getDeadServers__IsNotDefault()<a name="line.123"></a>
 <span class="sourceLineNo">124</span>    {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      return m_frags__IsNotDefault;<a name="line.125"></a>
+<span class="sourceLineNo">125</span>      return m_deadServers__IsNotDefault;<a name="line.125"></a>
 <span class="sourceLineNo">126</span>    }<a name="line.126"></a>
-<span class="sourceLineNo">127</span>    private boolean m_frags__IsNotDefault;<a name="line.127"></a>
-<span class="sourceLineNo">128</span>    // 22, 1<a name="line.128"></a>
-<span class="sourceLineNo">129</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.129"></a>
+<span class="sourceLineNo">127</span>    private boolean m_deadServers__IsNotDefault;<a name="line.127"></a>
+<span class="sourceLineNo">128</span>    // 26, 1<a name="line.128"></a>
+<span class="sourceLineNo">129</span>    public void setFilter(String filter)<a name="line.129"></a>
 <span class="sourceLineNo">130</span>    {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>      // 22, 1<a name="line.131"></a>
-<span class="sourceLineNo">132</span>      m_metaLocation = metaLocation;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>      m_metaLocation__IsNotDefault = true;<a name="line.133"></a>
+<span class="sourceLineNo">131</span>      // 26, 1<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      m_filter = filter;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      m_filter__IsNotDefault = true;<a name="line.133"></a>
 <span class="sourceLineNo">134</span>    }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>    public ServerName getMetaLocation()<a name="line.135"></a>
+<span class="sourceLineNo">135</span>    public String getFilter()<a name="line.135"></a>
 <span class="sourceLineNo">136</span>    {<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      return m_metaLocation;<a name="line.137"></a>
+<span class="sourceLineNo">137</span>      return m_filter;<a name="line.137"></a>
 <span class="sourceLineNo">138</span>    }<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    private ServerName m_metaLocation;<a name="line.139"></a>
-<span class="sourceLineNo">140</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.140"></a>
+<span class="sourceLineNo">139</span>    private String m_filter;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>    public boolean getFilter__IsNotDefault()<a name="line.140"></a>
 <span class="sourceLineNo">141</span>    {<a name="line.141"></a>
-<span class="sourceLineNo">142</span>      return m_metaLocation__IsNotDefault;<a name="line.142"></a>
+<span class="sourceLineNo">142</span>      return m_filter__IsNotDefault;<a name="line.142"></a>
 <span class="sourceLineNo">143</span>    }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.144"></a>
-<span class="sourceLineNo">145</span>    // 29, 1<a name="line.145"></a>
-<span class="sourceLineNo">146</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.146"></a>
+<span class="sourceLineNo">144</span>    private boolean m_filter__IsNotDefault;<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    // 25, 1<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.146"></a>
 <span class="sourceLineNo">147</span>    {<a name="line.147"></a>
-<span class="sourceLineNo">148</span>      // 29, 1<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      m_assignmentManager = assignmentManager;<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      m_assignmentManager__IsNotDefault = true;<a name="line.150"></a>
+<span class="sourceLineNo">148</span>      // 25, 1<a name="line.148"></a>
+<span class="sourceLineNo">149</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.150"></a>
 <span class="sourceLineNo">151</span>    }<a name="line.151"></a>
-<span class="sourceLineNo">152</span>    public AssignmentManager getAssignmentManager()<a name="line.152"></a>
+<span class="sourceLineNo">152</span>    public boolean getCatalogJanitorEnabled()<a name="line.152"></a>
 <span class="sourceLineNo">153</span>    {<a name="line.153"></a>
-<span class="sourceLineNo">154</span>      return m_assignmentManager;<a name="line.154"></a>
+<span class="sourceLineNo">154</span>      return m_catalogJanitorEnabled;<a name="line.154"></a>
 <span class="sourceLineNo">155</span>    }<a name="line.155"></a>
-<span class="sourceLineNo">156</span>    private AssignmentManager m_assignmentManager;<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.157"></a>
+<span class="sourceLineNo">156</span>    private boolean m_catalogJanitorEnabled;<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.157"></a>
 <span class="sourceLineNo">158</span>    {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>      return m_assignmentManager__IsNotDefault;<a name="line.159"></a>
+<span class="sourceLineNo">159</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.159"></a>
 <span class="sourceLineNo">160</span>    }<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.161"></a>
+<span class="sourceLineNo">161</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.161"></a>
 <span class="sourceLineNo">162</span>    // 28, 1<a name="line.162"></a>
 <span class="sourceLineNo">163</span>    public void setServerManager(ServerManager serverManager)<a name="line.163"></a>
 <span class="sourceLineNo">164</span>    {<a name="line.164"></a>
@@ -184,57 +184,57 @@
 <span class="sourceLineNo">176</span>      return m_serverManager__IsNotDefault;<a name="line.176"></a>
 <span class="sourceLineNo">177</span>    }<a name="line.177"></a>
 <span class="sourceLineNo">178</span>    private boolean m_serverManager__IsNotDefault;<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    // 25, 1<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    public void setCatalogJanitorEnabled(boolean catalogJanitorEnabled)<a name="line.180"></a>
+<span class="sourceLineNo">179</span>    // 27, 1<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    public void setFormat(String format)<a name="line.180"></a>
 <span class="sourceLineNo">181</span>    {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>      // 25, 1<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      m_catalogJanitorEnabled = catalogJanitorEnabled;<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      m_catalogJanitorEnabled__IsNotDefault = true;<a name="line.184"></a>
+<span class="sourceLineNo">182</span>      // 27, 1<a name="line.182"></a>
+<span class="sourceLineNo">183</span>      m_format = format;<a name="line.183"></a>
+<span class="sourceLineNo">184</span>      m_format__IsNotDefault = true;<a name="line.184"></a>
 <span class="sourceLineNo">185</span>    }<a name="line.185"></a>
-<span class="sourceLineNo">186</span>    public boolean getCatalogJanitorEnabled()<a name="line.186"></a>
+<span class="sourceLineNo">186</span>    public String getFormat()<a name="line.186"></a>
 <span class="sourceLineNo">187</span>    {<a name="line.187"></a>
-<span class="sourceLineNo">188</span>      return m_catalogJanitorEnabled;<a name="line.188"></a>
+<span class="sourceLineNo">188</span>      return m_format;<a name="line.188"></a>
 <span class="sourceLineNo">189</span>    }<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    private boolean m_catalogJanitorEnabled;<a name="line.190"></a>
-<span class="sourceLineNo">191</span>    public boolean getCatalogJanitorEnabled__IsNotDefault()<a name="line.191"></a>
+<span class="sourceLineNo">190</span>    private String m_format;<a name="line.190"></a>
+<span class="sourceLineNo">191</span>    public boolean getFormat__IsNotDefault()<a name="line.191"></a>
 <span class="sourceLineNo">192</span>    {<a name="line.192"></a>
-<span class="sourceLineNo">193</span>      return m_catalogJanitorEnabled__IsNotDefault;<a name="line.193"></a>
+<span class="sourceLineNo">193</span>      return m_format__IsNotDefault;<a name="line.193"></a>
 <span class="sourceLineNo">194</span>    }<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    private boolean m_catalogJanitorEnabled__IsNotDefault;<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    // 27, 1<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    public void setFormat(String format)<a name="line.197"></a>
+<span class="sourceLineNo">195</span>    private boolean m_format__IsNotDefault;<a name="line.195"></a>
+<span class="sourceLineNo">196</span>    // 22, 1<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    public void setMetaLocation(ServerName metaLocation)<a name="line.197"></a>
 <span class="sourceLineNo">198</span>    {<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      // 27, 1<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      m_format = format;<a name="line.200"></a>
-<span class="sourceLineNo">201</span>      m_format__IsNotDefault = true;<a name="line.201"></a>
+<span class="sourceLineNo">199</span>      // 22, 1<a name="line.199"></a>
+<span class="sourceLineNo">200</span>      m_metaLocation = metaLocation;<a name="line.200"></a>
+<span class="sourceLineNo">201</span>      m_metaLocation__IsNotDefault = true;<a name="line.201"></a>
 <span class="sourceLineNo">202</span>    }<a name="line.202"></a>
-<span class="sourceLineNo">203</span>    public String getFormat()<a name="line.203"></a>
+<span class="sourceLineNo">203</span>    public ServerName getMetaLocation()<a name="line.203"></a>
 <span class="sourceLineNo">204</span>    {<a name="line.204"></a>
-<span class="sourceLineNo">205</span>      return m_format;<a name="line.205"></a>
+<span class="sourceLineNo">205</span>      return m_metaLocation;<a name="line.205"></a>
 <span class="sourceLineNo">206</span>    }<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    private String m_format;<a name="line.207"></a>
-<span class="sourceLineNo">208</span>    public boolean getFormat__IsNotDefault()<a name="line.208"></a>
+<span class="sourceLineNo">207</span>    private ServerName m_metaLocation;<a name="line.207"></a>
+<span class="sourceLineNo">208</span>    public boolean getMetaLocation__IsNotDefault()<a name="line.208"></a>
 <span class="sourceLineNo">209</span>    {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>      return m_format__IsNotDefault;<a name="line.210"></a>
+<span class="sourceLineNo">210</span>      return m_metaLocation__IsNotDefault;<a name="line.210"></a>
 <span class="sourceLineNo">211</span>    }<a name="line.211"></a>
-<span class="sourceLineNo">212</span>    private boolean m_format__IsNotDefault;<a name="line.212"></a>
-<span class="sourceLineNo">213</span>    // 26, 1<a name="line.213"></a>
-<span class="sourceLineNo">214</span>    public void setFilter(String filter)<a name="line.214"></a>
+<span class="sourceLineNo">212</span>    private boolean m_metaLocation__IsNotDefault;<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    // 29, 1<a name="line.213"></a>
+<span class="sourceLineNo">214</span>    public void setAssignmentManager(AssignmentManager assignmentManager)<a name="line.214"></a>
 <span class="sourceLineNo">215</span>    {<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      // 26, 1<a name="line.216"></a>
-<span class="sourceLineNo">217</span>      m_filter = filter;<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      m_filter__IsNotDefault = true;<a name="line.218"></a>
+<span class="sourceLineNo">216</span>      // 29, 1<a name="line.216"></a>
+<span class="sourceLineNo">217</span>      m_assignmentManager = assignmentManager;<a name="line.217"></a>
+<span class="sourceLineNo">218</span>      m_assignmentManager__IsNotDefault = true;<a name="line.218"></a>
 <span class="sourceLineNo">219</span>    }<a name="line.219"></a>
-<span class="sourceLineNo">220</span>    public String getFilter()<a name="line.220"></a>
+<span class="sourceLineNo">220</span>    public AssignmentManager getAssignmentManager()<a name="line.220"></a>
 <span class="sourceLineNo">221</span>    {<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      return m_filter;<a name="line.222"></a>
+<span class="sourceLineNo">222</span>      return m_assignmentManager;<a name="line.222"></a>
 <span class="sourceLineNo">223</span>    }<a name="line.223"></a>
-<span class="sourceLineNo">224</span>    private String m_filter;<a name="line.224"></a>
-<span class="sourceLineNo">225</span>    public boolean getFilter__IsNotDefault()<a name="line.225"></a>
+<span class="sourceLineNo">224</span>    private AssignmentManager m_assignmentManager;<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    public boolean getAssignmentManager__IsNotDefault()<a name="line.225"></a>
 <span class="sourceLineNo">226</span>    {<a name="line.226"></a>
-<span class="sourceLineNo">227</span>      return m_filter__IsNotDefault;<a name="line.227"></a>
+<span class="sourceLineNo">227</span>      return m_assignmentManager__IsNotDefault;<a name="line.227"></a>
 <span class="sourceLineNo">228</span>    }<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    private boolean m_filter__IsNotDefault;<a name="line.229"></a>
+<span class="sourceLineNo">229</span>    private boolean m_assignmentManager__IsNotDefault;<a name="line.229"></a>
 <span class="sourceLineNo">230</span>    // 23, 1<a name="line.230"></a>
 <span class="sourceLineNo">231</span>    public void setServers(List&lt;ServerName&gt; servers)<a name="line.231"></a>
 <span class="sourceLineNo">232</span>    {<a name="line.232"></a>
@@ -252,23 +252,23 @@
 <span class="sourceLineNo">244</span>      return m_servers__IsNotDefault;<a name="line.244"></a>
 <span class="sourceLineNo">245</span>    }<a name="line.245"></a>
 <span class="sourceLineNo">246</span>    private boolean m_servers__IsNotDefault;<a name="line.246"></a>
-<span class="sourceLineNo">247</span>    // 24, 1<a name="line.247"></a>
-<span class="sourceLineNo">248</span>    public void setDeadServers(Set&lt;ServerName&gt; deadServers)<a name="line.248"></a>
+<span class="sourceLineNo">247</span>    // 21, 1<a name="line.247"></a>
+<span class="sourceLineNo">248</span>    public void setFrags(Map&lt;String,Integer&gt; frags)<a name="line.248"></a>
 <span class="sourceLineNo">249</span>    {<a name="line.249"></a>
-<span class="sourceLineNo">250</span>      // 24, 1<a name="line.250"></a>
-<span class="sourceLineNo">251</span>      m_deadServers = deadServers;<a name="line.251"></a>
-<span class="sourceLineNo">252</span>      m_deadServers__IsNotDefault = true;<a name="line.252"></a>
+<span class="sourceLineNo">250</span>      // 21, 1<a name="line.250"></a>
+<span class="sourceLineNo">251</span>      m_frags = frags;<a name="line.251"></a>
+<span class="sourceLineNo">252</span>      m_frags__IsNotDefault = true;<a name="line.252"></a>
 <span class="sourceLineNo">253</span>    }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>    public Set&lt;ServerName&gt; getDeadServers()<a name="line.254"></a>
+<span class="sourceLineNo">254</span>    public Map&lt;String,Integer&gt; getFrags()<a name="line.254"></a>
 <span class="sourceLineNo">255</span>    {<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      return m_deadServers;<a name="line.256"></a>
+<span class="sourceLineNo">256</span>      return m_frags;<a name="line.256"></a>
 <span class="sourceLineNo">257</span>    }<a name="line.257"></a>
-<span class="sourceLineNo">258</span>    private Set&lt;ServerName&gt; m_deadServers;<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    public boolean getDeadServers__IsNotDefault()<a name="line.259"></a>
+<span class="sourceLineNo">258</span>    private Map&lt;String,Integer&gt; m_frags;<a name="line.258"></a>
+<span class="sourceLineNo">259</span>    public boolean getFrags__IsNotDefault()<a name="line.259"></a>
 <span class="sourceLineNo">260</span>    {<a name="line.260"></a>
-<span class="sourceLineNo">261</span>      return m_deadServers__IsNotDefault;<a name="line.261"></a>
+<span class="sourceLineNo">261</span>      return m_frags__IsNotDefault;<a name="line.261"></a>
 <span class="sourceLineNo">262</span>    }<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    private boolean m_deadServers__IsNotDefault;<a name="line.263"></a>
+<span class="sourceLineNo">263</span>    private boolean m_frags__IsNotDefault;<a name="line.263"></a>
 <span class="sourceLineNo">264</span>  }<a name="line.264"></a>
 <span class="sourceLineNo">265</span>  @Override<a name="line.265"></a>
 <span class="sourceLineNo">266</span>  protected org.jamon.AbstractTemplateProxy.ImplData makeImplData()<a name="line.266"></a>
@@ -280,24 +280,24 @@
 <span class="sourceLineNo">272</span>    return (ImplData) super.getImplData();<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>  protected Map&lt;String,Integer&gt; frags;<a name="line.275"></a>
-<span class="sourceLineNo">276</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.276"></a>
+<span class="sourceLineNo">275</span>  protected Set&lt;ServerName&gt; deadServers;<a name="line.275"></a>
+<span class="sourceLineNo">276</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.276"></a>
 <span class="sourceLineNo">277</span>  {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>    (getImplData()).setFrags(p_frags);<a name="line.278"></a>
+<span class="sourceLineNo">278</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.278"></a>
 <span class="sourceLineNo">279</span>    return this;<a name="line.279"></a>
 <span class="sourceLineNo">280</span>  }<a name="line.280"></a>
 <span class="sourceLineNo">281</span>  <a name="line.281"></a>
-<span class="sourceLineNo">282</span>  protected ServerName metaLocation;<a name="line.282"></a>
-<span class="sourceLineNo">283</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.283"></a>
+<span class="sourceLineNo">282</span>  protected String filter;<a name="line.282"></a>
+<span class="sourceLineNo">283</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.283"></a>
 <span class="sourceLineNo">284</span>  {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.285"></a>
+<span class="sourceLineNo">285</span>    (getImplData()).setFilter(p_filter);<a name="line.285"></a>
 <span class="sourceLineNo">286</span>    return this;<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>  protected AssignmentManager assignmentManager;<a name="line.289"></a>
-<span class="sourceLineNo">290</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.290"></a>
+<span class="sourceLineNo">289</span>  protected boolean catalogJanitorEnabled;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.290"></a>
 <span class="sourceLineNo">291</span>  {<a name="line.291"></a>
-<span class="sourceLineNo">292</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.292"></a>
+<span class="sourceLineNo">292</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.292"></a>
 <span class="sourceLineNo">293</span>    return this;<a name="line.293"></a>
 <span class="sourceLineNo">294</span>  }<a name="line.294"></a>
 <span class="sourceLineNo">295</span>  <a name="line.295"></a>
@@ -308,24 +308,24 @@
 <span class="sourceLineNo">300</span>    return this;<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>  protected boolean catalogJanitorEnabled;<a name="line.303"></a>
-<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setCatalogJanitorEnabled(boolean p_catalogJanitorEnabled)<a name="line.304"></a>
+<span class="sourceLineNo">303</span>  protected String format;<a name="line.303"></a>
+<span class="sourceLineNo">304</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.304"></a>
 <span class="sourceLineNo">305</span>  {<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    (getImplData()).setCatalogJanitorEnabled(p_catalogJanitorEnabled);<a name="line.306"></a>
+<span class="sourceLineNo">306</span>    (getImplData()).setFormat(p_format);<a name="line.306"></a>
 <span class="sourceLineNo">307</span>    return this;<a name="line.307"></a>
 <span class="sourceLineNo">308</span>  }<a name="line.308"></a>
 <span class="sourceLineNo">309</span>  <a name="line.309"></a>
-<span class="sourceLineNo">310</span>  protected String format;<a name="line.310"></a>
-<span class="sourceLineNo">311</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFormat(String p_format)<a name="line.311"></a>
+<span class="sourceLineNo">310</span>  protected ServerName metaLocation;<a name="line.310"></a>
+<span class="sourceLineNo">311</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setMetaLocation(ServerName p_metaLocation)<a name="line.311"></a>
 <span class="sourceLineNo">312</span>  {<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    (getImplData()).setFormat(p_format);<a name="line.313"></a>
+<span class="sourceLineNo">313</span>    (getImplData()).setMetaLocation(p_metaLocation);<a name="line.313"></a>
 <span class="sourceLineNo">314</span>    return this;<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>  protected String filter;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFilter(String p_filter)<a name="line.318"></a>
+<span class="sourceLineNo">317</span>  protected AssignmentManager assignmentManager;<a name="line.317"></a>
+<span class="sourceLineNo">318</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setAssignmentManager(AssignmentManager p_assignmentManager)<a name="line.318"></a>
 <span class="sourceLineNo">319</span>  {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>    (getImplData()).setFilter(p_filter);<a name="line.320"></a>
+<span class="sourceLineNo">320</span>    (getImplData()).setAssignmentManager(p_assignmentManager);<a name="line.320"></a>
 <span class="sourceLineNo">321</span>    return this;<a name="line.321"></a>
 <span class="sourceLineNo">322</span>  }<a name="line.322"></a>
 <span class="sourceLineNo">323</span>  <a name="line.323"></a>
@@ -336,10 +336,10 @@
 <span class="sourceLineNo">328</span>    return this;<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>  protected Set&lt;ServerName&gt; deadServers;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setDeadServers(Set&lt;ServerName&gt; p_deadServers)<a name="line.332"></a>
+<span class="sourceLineNo">331</span>  protected Map&lt;String,Integer&gt; frags;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>  public final org.apache.hadoop.hbase.tmpl.master.MasterStatusTmpl setFrags(Map&lt;String,Integer&gt; p_frags)<a name="line.332"></a>
 <span class="sourceLineNo">333</span>  {<a name="line.333"></a>
-<span class="sourceLineNo">334</span>    (getImplData()).setDeadServers(p_deadServers);<a name="line.334"></a>
+<span class="sourceLineNo">334</span>    (getImplData()).setFrags(p_frags);<a name="line.334"></a>
 <span class="sourceLineNo">335</span>    return this;<a name="line.335"></a>
 <span class="sourceLineNo">336</span>  }<a name="line.336"></a>
 <span class="sourceLineNo">337</span>  <a name="line.337"></a>


[08/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/org/apache/hadoop/hbase/security/TestSecureIPC.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/security/TestSecureIPC.html b/testdevapidocs/org/apache/hadoop/hbase/security/TestSecureIPC.html
index 91c461a..83ac59d 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/security/TestSecureIPC.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/security/TestSecureIPC.html
@@ -60,7 +60,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested_classes_inherited_from_class_org.apache.hadoop.hbase.security.AbstractTestSecureIPC">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#fields_inherited_from_class_org.apache.hadoop.hbase.security.AbstractTestSecureIPC">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method_summary">Method</a></li>
@@ -108,6 +108,21 @@ extends <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSec
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested_class_summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested_classes_inherited_from_class_org.apache.hadoop.hbase.security.AbstractTestSecureIPC">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html" title="class in org.apache.hadoop.hbase.security">AbstractTestSecureIPC</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security">AbstractTestSecureIPC.TestThread</a></code></li>
+</ul>
+</li>
+</ul>
 <!-- =========== FIELD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="field_summary">
@@ -119,7 +134,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSec
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html" title="class in org.apache.hadoop.hbase.security">AbstractTestSecureIPC</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#clientConf">clientConf</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#exception">exception</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#krbKeytab">krbKeytab</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#krbPrincipal">krbPrincipal</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#serverConf">serverConf</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#ugi">ugi</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#clientConf">clientConf</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#exception">exception</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#krbKeytab">krbKeytab</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#krbPrincipal">krbPrincipal</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#serverConf">serverConf</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#SERVICE">SERVICE</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#ugi">ugi</a></code></li>
 </ul>
 </li>
 </ul>
@@ -266,7 +281,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSec
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested_classes_inherited_from_class_org.apache.hadoop.hbase.security.AbstractTestSecureIPC">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#fields_inherited_from_class_org.apache.hadoop.hbase.security.AbstractTestSecureIPC">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method_summary">Method</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/org/apache/hadoop/hbase/security/class-use/AbstractTestSecureIPC.TestThread.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/security/class-use/AbstractTestSecureIPC.TestThread.html b/testdevapidocs/org/apache/hadoop/hbase/security/class-use/AbstractTestSecureIPC.TestThread.html
new file mode 100644
index 0000000..57cd626
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/security/class-use/AbstractTestSecureIPC.TestThread.html
@@ -0,0 +1,115 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Uses of Class org.apache.hadoop.hbase.security.AbstractTestSecureIPC.TestThread (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="Uses of Class org.apache.hadoop.hbase.security.AbstractTestSecureIPC.TestThread (Apache HBase 2.0.0-SNAPSHOT Test API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/security/AbstractTestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security">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/security/class-use/AbstractTestSecureIPC.TestThread.html" target="_top">Frames</a></li>
+<li><a href="AbstractTestSecureIPC.TestThread.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../../allclasses-noframe.html">All 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.security.AbstractTestSecureIPC.TestThread" class="title">Uses of Class<br>org.apache.hadoop.hbase.security.AbstractTestSecureIPC.TestThread</h2>
+</div>
+<div class="classUseContainer">No usage of org.apache.hadoop.hbase.security.AbstractTestSecureIPC.TestThread</div>
+<!-- ======= START OF BOTTOM NAVBAR ====== -->
+<div class="bottomNav"><a name="navbar_bottom">
+<!--   -->
+</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/security/AbstractTestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security">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/security/class-use/AbstractTestSecureIPC.TestThread.html" target="_top">Frames</a></li>
+<li><a href="AbstractTestSecureIPC.TestThread.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../../allclasses-noframe.html">All 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;2016 <a href="http://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/6d411951/testdevapidocs/org/apache/hadoop/hbase/security/package-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/security/package-frame.html b/testdevapidocs/org/apache/hadoop/hbase/security/package-frame.html
index 6d23726..c7157d0 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/security/package-frame.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/security/package-frame.html
@@ -12,6 +12,7 @@
 <h2 title="Classes">Classes</h2>
 <ul title="Classes">
 <li><a href="AbstractTestSecureIPC.html" title="class in org.apache.hadoop.hbase.security" target="classFrame">AbstractTestSecureIPC</a></li>
+<li><a href="AbstractTestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security" target="classFrame">AbstractTestSecureIPC.TestThread</a></li>
 <li><a href="HBaseKerberosUtils.html" title="class in org.apache.hadoop.hbase.security" target="classFrame">HBaseKerberosUtils</a></li>
 <li><a href="TestAsyncSecureIPC.html" title="class in org.apache.hadoop.hbase.security" target="classFrame">TestAsyncSecureIPC</a></li>
 <li><a href="TestEncryptionUtil.html" title="class in org.apache.hadoop.hbase.security" target="classFrame">TestEncryptionUtil</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/org/apache/hadoop/hbase/security/package-summary.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/security/package-summary.html b/testdevapidocs/org/apache/hadoop/hbase/security/package-summary.html
index 066085b..7e67d26 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/security/package-summary.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/security/package-summary.html
@@ -79,34 +79,38 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseKerberosUtils.html" title="class in org.apache.hadoop.hbase.security">HBaseKerberosUtils</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security">AbstractTestSecureIPC.TestThread</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/security/TestAsyncSecureIPC.html" title="class in org.apache.hadoop.hbase.security">TestAsyncSecureIPC</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/security/HBaseKerberosUtils.html" title="class in org.apache.hadoop.hbase.security">HBaseKerberosUtils</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/security/TestEncryptionUtil.html" title="class in org.apache.hadoop.hbase.security">TestEncryptionUtil</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/security/TestAsyncSecureIPC.html" title="class in org.apache.hadoop.hbase.security">TestAsyncSecureIPC</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/security/TestHBaseSaslRpcClient.html" title="class in org.apache.hadoop.hbase.security">TestHBaseSaslRpcClient</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/security/TestEncryptionUtil.html" title="class in org.apache.hadoop.hbase.security">TestEncryptionUtil</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/security/TestSaslUtil.html" title="class in org.apache.hadoop.hbase.security">TestSaslUtil</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/security/TestHBaseSaslRpcClient.html" title="class in org.apache.hadoop.hbase.security">TestHBaseSaslRpcClient</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/security/TestSecureIPC.html" title="class in org.apache.hadoop.hbase.security">TestSecureIPC</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/security/TestSaslUtil.html" title="class in org.apache.hadoop.hbase.security">TestSaslUtil</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/security/TestUser.html" title="class in org.apache.hadoop.hbase.security">TestUser</a></td>
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/security/TestSecureIPC.html" title="class in org.apache.hadoop.hbase.security">TestSecureIPC</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="altColor">
+<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/security/TestUser.html" title="class in org.apache.hadoop.hbase.security">TestUser</a></td>
+<td class="colLast">&nbsp;</td>
+</tr>
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/security/TestUsersOperationsWithSecureHadoop.html" title="class in org.apache.hadoop.hbase.security">TestUsersOperationsWithSecureHadoop</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/org/apache/hadoop/hbase/security/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/security/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/security/package-tree.html
index 31e4c07..c1a6d01 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/security/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/security/package-tree.html
@@ -85,6 +85,11 @@
 <li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/TestSaslUtil.html" title="class in org.apache.hadoop.hbase.security"><span class="strong">TestSaslUtil</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/TestUser.html" title="class in org.apache.hadoop.hbase.security"><span class="strong">TestUser</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/TestUsersOperationsWithSecureHadoop.html" title="class in org.apache.hadoop.hbase.security"><span class="strong">TestUsersOperationsWithSecureHadoop</span></a></li>
+<li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang"><span class="strong">Thread</span></a> (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)
+<ul>
+<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security"><span class="strong">AbstractTestSecureIPC.TestThread</span></a></li>
+</ul>
+</li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 cd0e6c5..a28606a 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/test/package-tree.html
@@ -234,9 +234,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/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/7/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/IntegrationTestLoadAndVerify.Counters.html" title="enum in org.apache.hadoop.hbase.test"><span class="strong">IntegrationTestLoadAndVerify.Counters</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="strong">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="strong">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="strong">IntegrationTestLoadAndVerify.Counters</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/overview-tree.html b/testdevapidocs/overview-tree.html
index 9942d32..f105268 100644
--- a/testdevapidocs/overview-tree.html
+++ b/testdevapidocs/overview-tree.html
@@ -349,7 +349,6 @@
 </li>
 <li type="circle">org.apache.log4j.AppenderSkeleton (implements org.apache.log4j.Appender, org.apache.log4j.spi.OptionHandler)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestDelayedRpc.ListAppender</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestFromClientSide.ListAppender.html" title="class in org.apache.hadoop.hbase.client"><span class="strong">TestFromClientSide.ListAppender</span></a></li>
 </ul>
 </li>
@@ -1985,12 +1984,6 @@
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="org/apache/hadoop/hbase/wal/TestDefaultWALProviderWithHLogKey.html" title="class in org.apache.hadoop.hbase.wal"><span class="strong">TestDefaultWALProviderWithHLogKey</span></a></li>
 </ul>
 </li>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestDelayedRpc</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestDelayedRpc.TestDelayedImplementation</span></a> (implements org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestDelayedService.BlockingInterface)
-<ul>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestDelayedRpc.FaultyTestDelayedImplementation</span></a></li>
-</ul>
-</li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestDelayingRunner.html" title="class in org.apache.hadoop.hbase.client"><span class="strong">TestDelayingRunner</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.procedure.<a href="org/apache/hadoop/hbase/master/procedure/TestDeleteColumnFamilyProcedure.html" title="class in org.apache.hadoop.hbase.master.procedure"><span class="strong">TestDeleteColumnFamilyProcedure</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestDeleteMobTable.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">TestDeleteMobTable</span></a></li>
@@ -2780,6 +2773,7 @@
 <li type="circle">org.apache.hadoop.hbase.zookeeper.<a href="org/apache/hadoop/hbase/zookeeper/TestZooKeeperWatcher.html" title="class in org.apache.hadoop.hbase.zookeeper"><span class="strong">TestZooKeeperWatcher</span></a></li>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang"><span class="strong">Thread</span></a> (implements java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.security.<a href="org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security"><span class="strong">AbstractTestSecureIPC.TestThread</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="org/apache/hadoop/hbase/IntegrationTestDDLMasterFailover.Worker.html" title="class in org.apache.hadoop.hbase"><span class="strong">IntegrationTestDDLMasterFailover.Worker</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.MiniChaosMonkey.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">IntegrationTestRpcClient.MiniChaosMonkey</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.SimpleClient.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">IntegrationTestRpcClient.SimpleClient</span></a></li>
@@ -2826,7 +2820,6 @@
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/TestBlockEvictionFromClient.ScanThread.html" title="class in org.apache.hadoop.hbase.client"><span class="strong">TestBlockEvictionFromClient.ScanThread</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.compactions.<a href="org/apache/hadoop/hbase/regionserver/compactions/TestCompactedHFilesDischarger.ScanThread.html" title="class in org.apache.hadoop.hbase.regionserver.compactions"><span class="strong">TestCompactedHFilesDischarger.ScanThread</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestDefaultMemStore.ReadOwnWritesTester.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">TestDefaultMemStore.ReadOwnWritesTester</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestDelayedRpc.TestThread</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestEndToEndSplitTransaction.RegionSplitter.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">TestEndToEndSplitTransaction.RegionSplitter</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestHRegion.FlushThread.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">TestHRegion.FlushThread</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/TestHRegion.GetTillDoneOrException.html" title="class in org.apache.hadoop.hbase.regionserver"><span class="strong">TestHRegion.GetTillDoneOrException</span></a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html
deleted file mode 100644
index c6a4fc3..0000000
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html
+++ /dev/null
@@ -1,439 +0,0 @@
-<!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> *<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * or more contributor license agreements.  See the NOTICE file<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * distributed with this work for additional information<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * to you under the Apache License, Version 2.0 (the<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * "License"); you may not use this file except in compliance<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * with the License.  You may obtain a copy of the License at<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * Unless required by applicable law or agreed to in writing, software<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * See the License for the specific language governing permissions and<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * limitations under the License.<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.ipc;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><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.assertTrue;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import static org.junit.Assert.fail;<a name="line.24"></a>
-<span class="sourceLineNo">025</span><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.net.InetSocketAddress;<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.List;<a name="line.29"></a>
-<span class="sourceLineNo">030</span><a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.commons.logging.Log;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.commons.logging.LogFactory;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.conf.Configuration;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.HBaseConfiguration;<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.testclassification.MediumTests;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.testclassification.RPCTests;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.ServerName;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestArg;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestResponse;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.security.User;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.log4j.AppenderSkeleton;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.log4j.Level;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.log4j.Logger;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.log4j.spi.LoggingEvent;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.junit.Test;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.junit.experimental.categories.Category;<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>import com.google.common.collect.Lists;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import com.google.protobuf.BlockingRpcChannel;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import com.google.protobuf.BlockingService;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import com.google.protobuf.RpcController;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import com.google.protobuf.ServiceException;<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> * Test that delayed RPCs work. Fire up three calls, the first of which should<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * be delayed. Check that the last two, which are undelayed, return before the<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * first one.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> */<a name="line.60"></a>
-<span class="sourceLineNo">061</span>@Category({RPCTests.class, MediumTests.class}) // Fails sometimes with small tests<a name="line.61"></a>
-<span class="sourceLineNo">062</span>public class TestDelayedRpc {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  private static final Log LOG = LogFactory.getLog(TestDelayedRpc.class);<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  public static RpcServerInterface rpcServer;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public static final int UNDELAYED = 0;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  public static final int DELAYED = 1;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  private static final int RPC_CLIENT_TIMEOUT = 30000;<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  @Test (timeout=60000)<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  public void testDelayedRpcImmediateReturnValue() throws Exception {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    testDelayedRpc(false);<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  }<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>  @Test (timeout=60000)<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  public void testDelayedRpcDelayedReturnValue() throws Exception {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    testDelayedRpc(true);<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>  private void testDelayedRpc(boolean delayReturnValue) throws Exception {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    LOG.info("Running testDelayedRpc delayReturnValue=" + delayReturnValue);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    Configuration conf = HBaseConfiguration.create();<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    InetSocketAddress isa = new InetSocketAddress("localhost", 0);<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    TestDelayedImplementation instance = new TestDelayedImplementation(delayReturnValue);<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    BlockingService service =<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      TestDelayedRpcProtos.TestDelayedService.newReflectiveBlockingService(instance);<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    rpcServer = new RpcServer(null, "testDelayedRpc",<a name="line.86"></a>
-<span class="sourceLineNo">087</span>        Lists.newArrayList(new RpcServer.BlockingServiceAndInterface(service, null)),<a name="line.87"></a>
-<span class="sourceLineNo">088</span>        isa,<a name="line.88"></a>
-<span class="sourceLineNo">089</span>        conf,<a name="line.89"></a>
-<span class="sourceLineNo">090</span>        new FifoRpcScheduler(conf, 1));<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    rpcServer.start();<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    RpcClient rpcClient = RpcClientFactory.createClient(<a name="line.92"></a>
-<span class="sourceLineNo">093</span>        conf, HConstants.DEFAULT_CLUSTER_ID.toString());<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    try {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      InetSocketAddress address = rpcServer.getListenerAddress();<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      if (address == null) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        throw new IOException("Listener channel is closed");<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      }<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      BlockingRpcChannel channel = rpcClient.createBlockingRpcChannel(<a name="line.99"></a>
-<span class="sourceLineNo">100</span>          ServerName.valueOf(address.getHostName(),address.getPort(), System.currentTimeMillis()),<a name="line.100"></a>
-<span class="sourceLineNo">101</span>          User.getCurrent(), RPC_CLIENT_TIMEOUT);<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub =<a name="line.102"></a>
-<span class="sourceLineNo">103</span>        TestDelayedRpcProtos.TestDelayedService.newBlockingStub(channel);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      List&lt;Integer&gt; results = new ArrayList&lt;Integer&gt;();<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      // Setting true sets 'delayed' on the client.<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      TestThread th1 = new TestThread(stub, true, results);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      // Setting 'false' means we will return UNDELAYED as response immediately.<a name="line.107"></a>
-<span class="sourceLineNo">108</span>      TestThread th2 = new TestThread(stub, false, results);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      TestThread th3 = new TestThread(stub, false, results);<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      th1.start();<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      Thread.sleep(100);<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      th2.start();<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      Thread.sleep(200);<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      th3.start();<a name="line.114"></a>
-<span class="sourceLineNo">115</span><a name="line.115"></a>
-<span class="sourceLineNo">116</span>      th1.join();<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      th2.join();<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      th3.join();<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>      // We should get the two undelayed responses first.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      assertEquals(UNDELAYED, results.get(0).intValue());<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      assertEquals(UNDELAYED, results.get(1).intValue());<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      assertEquals(results.get(2).intValue(), delayReturnValue ? DELAYED :  0xDEADBEEF);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    } finally {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      rpcClient.close();<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><a name="line.128"></a>
-<span class="sourceLineNo">129</span>  private static class ListAppender extends AppenderSkeleton {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    private final List&lt;String&gt; messages = new ArrayList&lt;String&gt;();<a name="line.130"></a>
-<span class="sourceLineNo">131</span><a name="line.131"></a>
-<span class="sourceLineNo">132</span>    @Override<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    protected void append(LoggingEvent event) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      messages.add(event.getMessage().toString());<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 void close() {<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>    @Override<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    public boolean requiresLayout() {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      return false;<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 List&lt;String&gt; getMessages() {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      return messages;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  }<a name="line.149"></a>
-<span class="sourceLineNo">150</span><a name="line.150"></a>
-<span class="sourceLineNo">151</span>  /**<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * Tests that we see a WARN message in the logs.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @throws Exception<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   */<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  @Test (timeout=60000)<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  public void testTooManyDelayedRpcs() throws Exception {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    Configuration conf = HBaseConfiguration.create();<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    final int MAX_DELAYED_RPC = 10;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    conf.setInt("hbase.ipc.warn.delayedrpc.number", MAX_DELAYED_RPC);<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    // Set up an appender to catch the "Too many delayed calls" that we expect.<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    ListAppender listAppender = new ListAppender();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    Logger log = Logger.getLogger(RpcServer.class);<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    log.addAppender(listAppender);<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    log.setLevel(Level.WARN);<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>    InetSocketAddress isa = new InetSocketAddress("localhost", 0);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    TestDelayedImplementation instance = new TestDelayedImplementation(true);<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    BlockingService service =<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      TestDelayedRpcProtos.TestDelayedService.newReflectiveBlockingService(instance);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    rpcServer = new RpcServer(null, "testTooManyDelayedRpcs",<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      Lists.newArrayList(new RpcServer.BlockingServiceAndInterface(service, null)),<a name="line.172"></a>
-<span class="sourceLineNo">173</span>        isa,<a name="line.173"></a>
-<span class="sourceLineNo">174</span>        conf,<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        new FifoRpcScheduler(conf, 1));<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    rpcServer.start();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    RpcClient rpcClient = RpcClientFactory.createClient(<a name="line.177"></a>
-<span class="sourceLineNo">178</span>        conf, HConstants.DEFAULT_CLUSTER_ID.toString());<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    try {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      InetSocketAddress address = rpcServer.getListenerAddress();<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      if (address == null) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        throw new IOException("Listener channel is closed");<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      }<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      BlockingRpcChannel channel = rpcClient.createBlockingRpcChannel(<a name="line.184"></a>
-<span class="sourceLineNo">185</span>          ServerName.valueOf(address.getHostName(),address.getPort(), System.currentTimeMillis()),<a name="line.185"></a>
-<span class="sourceLineNo">186</span>          User.getCurrent(), RPC_CLIENT_TIMEOUT);<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub =<a name="line.187"></a>
-<span class="sourceLineNo">188</span>        TestDelayedRpcProtos.TestDelayedService.newBlockingStub(channel);<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      Thread threads[] = new Thread[MAX_DELAYED_RPC + 1];<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      for (int i = 0; i &lt; MAX_DELAYED_RPC; i++) {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>        threads[i] = new TestThread(stub, true, null);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        threads[i].start();<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>      /* No warnings till here. */<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      assertTrue(listAppender.getMessages().isEmpty());<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>      /* This should give a warning. */<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      threads[MAX_DELAYED_RPC] = new TestThread(stub, true, null);<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      threads[MAX_DELAYED_RPC].start();<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>      for (int i = 0; i &lt; MAX_DELAYED_RPC; i++) {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        threads[i].join();<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      }<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>      assertFalse(listAppender.getMessages().isEmpty());<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      assertTrue(listAppender.getMessages().get(0).startsWith("Too many delayed calls"));<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>      log.removeAppender(listAppender);<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    } finally {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      rpcClient.close();<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>  public static class TestDelayedImplementation<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  implements TestDelayedRpcProtos.TestDelayedService.BlockingInterface {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    /**<a name="line.217"></a>
-<span class="sourceLineNo">218</span>     * Should the return value of delayed call be set at the end of the delay<a name="line.218"></a>
-<span class="sourceLineNo">219</span>     * or at call return.<a name="line.219"></a>
-<span class="sourceLineNo">220</span>     */<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    private final boolean delayReturnValue;<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>     * @param delayReturnValue Should the response to the delayed call be set<a name="line.224"></a>
-<span class="sourceLineNo">225</span>     * at the start or the end of the delay.<a name="line.225"></a>
-<span class="sourceLineNo">226</span>     */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    public TestDelayedImplementation(boolean delayReturnValue) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      this.delayReturnValue = delayReturnValue;<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
-<span class="sourceLineNo">230</span><a name="line.230"></a>
-<span class="sourceLineNo">231</span>    @Override<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    public TestResponse test(final RpcController rpcController, final TestArg testArg)<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    throws ServiceException {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      boolean delay = testArg.getDelay();<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      TestResponse.Builder responseBuilder = TestResponse.newBuilder();<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      if (!delay) {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        responseBuilder.setResponse(UNDELAYED);<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        return responseBuilder.build();<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      }<a name="line.239"></a>
-<span class="sourceLineNo">240</span>      final Delayable call = RpcServer.getCurrentCall();<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      call.startDelay(delayReturnValue);<a name="line.241"></a>
-<span class="sourceLineNo">242</span>      new Thread() {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        @Override<a name="line.243"></a>
-<span class="sourceLineNo">244</span>        public void run() {<a name="line.244"></a>
-<span class="sourceLineNo">245</span>          try {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>            Thread.sleep(500);<a name="line.246"></a>
-<span class="sourceLineNo">247</span>            TestResponse.Builder responseBuilder = TestResponse.newBuilder();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>            call.endDelay(delayReturnValue ?<a name="line.248"></a>
-<span class="sourceLineNo">249</span>                responseBuilder.setResponse(DELAYED).build() : null);<a name="line.249"></a>
-<span class="sourceLineNo">250</span>          } catch (Exception e) {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>            e.printStackTrace();<a name="line.251"></a>
-<span class="sourceLineNo">252</span>          }<a name="line.252"></a>
-<span class="sourceLineNo">253</span>        }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      }.start();<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      // This value should go back to client only if the response is set<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      // immediately at delay time.<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      responseBuilder.setResponse(0xDEADBEEF);<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      return responseBuilder.build();<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    }<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  }<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>  public static class TestThread extends Thread {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    private final TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    private final boolean delay;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    private final List&lt;Integer&gt; results;<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>    public TestThread(TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub,<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        boolean delay, List&lt;Integer&gt; results) {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      this.stub = stub;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      this.delay = delay;<a name="line.270"></a>
-<span class="sourceLineNo">271</span>      this.results = results;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    }<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    @Override<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    public void run() {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      Integer result;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      try {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>        result = new Integer(stub.test(null, TestArg.newBuilder().setDelay(delay).build()).<a name="line.278"></a>
-<span class="sourceLineNo">279</span>          getResponse());<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      } catch (ServiceException e) {<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        throw new RuntimeException(e);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      }<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      if (results != null) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span>        synchronized (results) {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>          results.add(result);<a name="line.285"></a>
-<span class="sourceLineNo">286</span>        }<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>  }<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>  @Test<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  public void testEndDelayThrowing() throws IOException {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    Configuration conf = HBaseConfiguration.create();<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    InetSocketAddress isa = new InetSocketAddress("localhost", 0);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    FaultyTestDelayedImplementation instance = new FaultyTestDelayedImplementation();<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    BlockingService service =<a name="line.296"></a>
-<span class="sourceLineNo">297</span>      TestDelayedRpcProtos.TestDelayedService.newReflectiveBlockingService(instance);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    rpcServer = new RpcServer(null, "testEndDelayThrowing",<a name="line.298"></a>
-<span class="sourceLineNo">299</span>        Lists.newArrayList(new RpcServer.BlockingServiceAndInterface(service, null)),<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        isa,<a name="line.300"></a>
-<span class="sourceLineNo">301</span>        conf,<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        new FifoRpcScheduler(conf, 1));<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    rpcServer.start();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    RpcClient rpcClient = RpcClientFactory.createClient(<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        conf, HConstants.DEFAULT_CLUSTER_ID.toString());<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    try {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      InetSocketAddress address = rpcServer.getListenerAddress();<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      if (address == null) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        throw new IOException("Listener channel is closed");<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      }<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      BlockingRpcChannel channel = rpcClient.createBlockingRpcChannel(<a name="line.311"></a>
-<span class="sourceLineNo">312</span>          ServerName.valueOf(address.getHostName(),address.getPort(), System.currentTimeMillis()),<a name="line.312"></a>
-<span class="sourceLineNo">313</span>        User.getCurrent(), 1000);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub =<a name="line.314"></a>
-<span class="sourceLineNo">315</span>        TestDelayedRpcProtos.TestDelayedService.newBlockingStub(channel);<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>      int result = 0xDEADBEEF;<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>      try {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        result = stub.test(null, TestArg.newBuilder().setDelay(false).build()).getResponse();<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      } catch (Exception e) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        fail("No exception should have been thrown.");<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      }<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      assertEquals(result, UNDELAYED);<a name="line.324"></a>
-<span class="sourceLineNo">325</span><a name="line.325"></a>
-<span class="sourceLineNo">326</span>      boolean caughtException = false;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      try {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>        result = stub.test(null, TestArg.newBuilder().setDelay(true).build()).getResponse();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      } catch(Exception e) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        // Exception thrown by server is enclosed in a RemoteException.<a name="line.330"></a>
-<span class="sourceLineNo">331</span>        if (e.getCause().getMessage().contains("java.lang.Exception: Something went wrong")) {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>          caughtException = true;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>        }<a name="line.333"></a>
-<span class="sourceLineNo">334</span>        LOG.warn("Caught exception, expected=" + caughtException);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      }<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      assertTrue(caughtException);<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    } finally {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      rpcClient.close();<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>   * Delayed calls to this class throw an exception.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  private static class FaultyTestDelayedImplementation extends TestDelayedImplementation {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    public FaultyTestDelayedImplementation() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      super(false);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    public TestResponse test(RpcController rpcController, TestArg arg)<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    throws ServiceException {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      LOG.info("In faulty test, delay=" + arg.getDelay());<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      if (!arg.getDelay()) return TestResponse.newBuilder().setResponse(UNDELAYED).build();<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      Delayable call = RpcServer.getCurrentCall();<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      call.startDelay(true);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      LOG.info("In faulty test, delaying");<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      try {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        call.endDelayThrowing(new Exception("Something went wrong"));<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      } catch (IOException e) {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        e.printStackTrace();<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      }<a name="line.362"></a>
-<span class="sourceLineNo">363</span>      // Client will receive the Exception, not this value.<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      return TestResponse.newBuilder().setResponse(DELAYED).build();<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>}<a name="line.367"></a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</pre>
-</div>
-</body>
-</html>


[23/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 993e8e7..875a056 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html
@@ -323,31 +323,31 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <!--   -->
 </a>
 <h3>Field Detail</h3>
-<a name="frags">
+<a name="deadServers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>frags</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/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/7/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/7/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.275">frags</a></pre>
+<h4>deadServers</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/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.275">deadServers</a></pre>
 </li>
 </ul>
-<a name="metaLocation">
+<a name="filter">
 <!--   -->
 </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.282">metaLocation</a></pre>
+<h4>filter</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.282">filter</a></pre>
 </li>
 </ul>
-<a name="assignmentManager">
+<a name="catalogJanitorEnabled">
 <!--   -->
 </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.289">assignmentManager</a></pre>
+<h4>catalogJanitorEnabled</h4>
+<pre>protected&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.289">catalogJanitorEnabled</a></pre>
 </li>
 </ul>
 <a name="serverManager">
@@ -359,31 +359,31 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <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.296">serverManager</a></pre>
 </li>
 </ul>
-<a name="catalogJanitorEnabled">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>catalogJanitorEnabled</h4>
-<pre>protected&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.html#line.303">catalogJanitorEnabled</a></pre>
+<h4>format</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.303">format</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="metaLocation">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>format</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.310">format</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.310">metaLocation</a></pre>
 </li>
 </ul>
-<a name="filter">
+<a name="assignmentManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>filter</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.317">filter</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.317">assignmentManager</a></pre>
 </li>
 </ul>
 <a name="servers">
@@ -395,13 +395,13 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/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.324">servers</a></pre>
 </li>
 </ul>
-<a name="deadServers">
+<a name="frags">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>deadServers</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/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.331">deadServers</a></pre>
+<h4>frags</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/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/7/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/7/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.331">frags</a></pre>
 </li>
 </ul>
 </li>
@@ -473,31 +473,31 @@ extends org.jamon.AbstractTemplateProxy</pre>
 </dl>
 </li>
 </ul>
-<a name="setFrags(java.util.Map)">
+<a name="setDeadServers(java.util.Set)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFrags</h4>
-<pre>public final&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.276">setFrags</a>(<a href="http://docs.oracle.com/javase/7/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/7/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/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;p_frags)</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.276">setDeadServers</a>(<a href="http://docs.oracle.com/javase/7/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)">
+<a name="setFilter(java.lang.String)">
 <!--   -->
 </a>
 <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.283">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;p_metaLocation)</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.283">setFilter</a>(<a href="http://docs.oracle.com/javase/7/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)">
+<a name="setCatalogJanitorEnabled(boolean)">
 <!--   -->
 </a>
 <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.290">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>
+<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.290">setCatalogJanitorEnabled</a>(boolean&nbsp;p_catalogJanitorEnabled)</pre>
 </li>
 </ul>
 <a name="setServerManager(org.apache.hadoop.hbase.master.ServerManager)">
@@ -509,31 +509,31 @@ 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.297">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="setCatalogJanitorEnabled(boolean)">
+<a name="setFormat(java.lang.String)">
 <!--   -->
 </a>
 <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.304">setCatalogJanitorEnabled</a>(boolean&nbsp;p_catalogJanitorEnabled)</pre>
+<h4>setFormat</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.304">setFormat</a>(<a href="http://docs.oracle.com/javase/7/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="setMetaLocation(org.apache.hadoop.hbase.ServerName)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</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.311">setFormat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_format)</pre>
+<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.311">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="setFilter(java.lang.String)">
+<a name="setAssignmentManager(org.apache.hadoop.hbase.master.AssignmentManager)">
 <!--   -->
 </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.318">setFilter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_filter)</pre>
+<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.318">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)">
@@ -545,13 +545,13 @@ 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.325">setServers</a>(<a href="http://docs.oracle.com/javase/7/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="setDeadServers(java.util.Set)">
+<a name="setFrags(java.util.Map)">
 <!--   -->
 </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.332">setDeadServers</a>(<a href="http://docs.oracle.com/javase/7/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>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.332">setFrags</a>(<a href="http://docs.oracle.com/javase/7/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/7/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/7/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="constructImpl(java.lang.Class)">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 ff2b88e..4589bd2 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html
@@ -264,31 +264,31 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Master
 <pre>private final&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.62">master</a></pre>
 </li>
 </ul>
-<a name="frags">
+<a name="deadServers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>frags</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/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/7/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/7/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.63">frags</a></pre>
+<h4>deadServers</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/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.63">deadServers</a></pre>
 </li>
 </ul>
-<a name="metaLocation">
+<a name="filter">
 <!--   -->
 </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.64">metaLocation</a></pre>
+<h4>filter</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.64">filter</a></pre>
 </li>
 </ul>
-<a name="assignmentManager">
+<a name="catalogJanitorEnabled">
 <!--   -->
 </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.65">assignmentManager</a></pre>
+<h4>catalogJanitorEnabled</h4>
+<pre>private final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.65">catalogJanitorEnabled</a></pre>
 </li>
 </ul>
 <a name="serverManager">
@@ -300,31 +300,31 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Master
 <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="catalogJanitorEnabled">
+<a name="format">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>catalogJanitorEnabled</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmplImpl.html#line.67">catalogJanitorEnabled</a></pre>
+<h4>format</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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">format</a></pre>
 </li>
 </ul>
-<a name="format">
+<a name="metaLocation">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>format</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.68">format</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.68">metaLocation</a></pre>
 </li>
 </ul>
-<a name="filter">
+<a name="assignmentManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>filter</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.69">filter</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.69">assignmentManager</a></pre>
 </li>
 </ul>
 <a name="servers">
@@ -336,13 +336,13 @@ implements <a href="../../../../../../org/apache/hadoop/hbase/tmpl/master/Master
 <pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/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>
 </li>
 </ul>
-<a name="deadServers">
+<a name="frags">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <li class="blockList">
-<h4>deadServers</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/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.71">deadServers</a></pre>
+<h4>frags</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/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/7/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/7/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.71">frags</a></pre>
 </li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 c6185e9..1058a36 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html
@@ -279,58 +279,58 @@ 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_filter">
+<a name="m_bcv">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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_filter</a></pre>
+<h4>m_bcv</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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>
 </li>
 </ul>
-<a name="m_filter__IsNotDefault">
+<a name="m_bcv__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/regionserver/RSStatusTmpl.ImplData.html#line.88">m_filter__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.88">m_bcv__IsNotDefault</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/7/docs/api/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>
+<h4>m_format</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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>
 </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.105">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.105">m_format__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_format">
+<a name="m_filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.117">m_format</a></pre>
+<h4>m_filter</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.117">m_filter</a></pre>
 </li>
 </ul>
-<a name="m_format__IsNotDefault">
+<a name="m_filter__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.122">m_format__IsNotDefault</a></pre>
+<h4>m_filter__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.122">m_filter__IsNotDefault</a></pre>
 </li>
 </ul>
 <a name="m_bcn">
@@ -394,85 +394,85 @@ 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="setFilter(java.lang.String)">
+<a name="setBcv(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.73">setFilter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filter)</pre>
+<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/7/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="getFilter()">
+<a name="getBcv()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFilter</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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">getFilter</a>()</pre>
+<h4>getBcv</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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>
 </li>
 </ul>
-<a name="getFilter__IsNotDefault()">
+<a name="getBcv__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/regionserver/RSStatusTmpl.ImplData.html#line.84">getFilter__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.84">getBcv__IsNotDefault</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.90">setBcv</a>(<a href="http://docs.oracle.com/javase/7/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.90">setFormat</a>(<a href="http://docs.oracle.com/javase/7/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/7/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>
+<h4>getFormat</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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>
 </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.101">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.101">getFormat__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFormat(java.lang.String)">
+<a name="setFilter(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.107">setFormat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</pre>
+<h4>setFilter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.107">setFilter</a>(<a href="http://docs.oracle.com/javase/7/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="getFormat()">
+<a name="getFilter()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.113">getFormat</a>()</pre>
+<h4>getFilter</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.113">getFilter</a>()</pre>
 </li>
 </ul>
-<a name="getFormat__IsNotDefault()">
+<a name="getFilter__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.118">getFormat__IsNotDefault</a>()</pre>
+<h4>getFilter__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.ImplData.html#line.118">getFilter__IsNotDefault</a>()</pre>
 </li>
 </ul>
 <a name="setBcn(java.lang.String)">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 f3e5162..584f59e 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html
@@ -283,31 +283,31 @@ extends org.jamon.AbstractTemplateProxy</pre>
 <!--   -->
 </a>
 <h3>Field Detail</h3>
-<a name="filter">
+<a name="bcv">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>filter</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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">filter</a></pre>
+<h4>bcv</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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>
 </li>
 </ul>
-<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/7/docs/api/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>
+<h4>format</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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>
 </li>
 </ul>
-<a name="format">
+<a name="filter">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>format</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.165">format</a></pre>
+<h4>filter</h4>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.html#line.165">filter</a></pre>
 </li>
 </ul>
 <a name="bcn">
@@ -388,31 +388,31 @@ extends org.jamon.AbstractTemplateProxy</pre>
 </dl>
 </li>
 </ul>
-<a name="setFilter(java.lang.String)">
+<a name="setBcv(java.lang.String)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFilter</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">setFilter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_filter)</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.152">setBcv</a>(<a href="http://docs.oracle.com/javase/7/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="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.159">setBcv</a>(<a href="http://docs.oracle.com/javase/7/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.159">setFormat</a>(<a href="http://docs.oracle.com/javase/7/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="setFilter(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.166">setFormat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;p_format)</pre>
+<h4>setFilter</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.166">setFilter</a>(<a href="http://docs.oracle.com/javase/7/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="setBcn(java.lang.String)">

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 9d2805d..0db1f41 100644
--- a/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/util/package-tree.html
@@ -456,13 +456,13 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/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/7/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/Bytes.LexicographicalComparerHolder.PureJavaComparer.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">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="strong">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/ChecksumType.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">ChecksumType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">Order</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="strong">HBaseFsck.ErrorReporter.ERROR_CODE</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="strong">PoolMap.PoolType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/HBaseFsck.ErrorReporter.ERROR_CODE.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">HBaseFsck.ErrorReporter.ERROR_CODE</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="strong">ChecksumType</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="strong">PrettyPrinter.Unit</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.util.<a href="../../../../../org/apache/hadoop/hbase/util/Order.html" title="enum in org.apache.hadoop.hbase.util"><span class="strong">Order</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="strong">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="strong">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>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
index 8260133..62ba729 100644
--- a/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/wal/package-tree.html
@@ -149,8 +149,8 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALFactory.Providers.html" title="enum in org.apache.hadoop.hbase.wal"><span class="strong">WALFactory.Providers</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="strong">RegionGroupingProvider.Strategies</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/WALKey.Version.html" title="enum in org.apache.hadoop.hbase.wal"><span class="strong">WALKey.Version</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.wal.<a href="../../../../../org/apache/hadoop/hbase/wal/RegionGroupingProvider.Strategies.html" title="enum in org.apache.hadoop.hbase.wal"><span class="strong">RegionGroupingProvider.Strategies</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/overview-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/overview-tree.html b/devapidocs/overview-tree.html
index fbd524b..e46a924 100644
--- a/devapidocs/overview-tree.html
+++ b/devapidocs/overview-tree.html
@@ -3799,11 +3799,6 @@
 <li type="circle">org.apache.hadoop.hbase.io.encoding.<a href="org/apache/hadoop/hbase/io/encoding/DataBlockEncoder.EncodedSeeker.html" title="interface in org.apache.hadoop.hbase.io.encoding"><span class="strong">DataBlockEncoder.EncodedSeeker</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.types.<a href="org/apache/hadoop/hbase/types/DataType.html" title="interface in org.apache.hadoop.hbase.types"><span class="strong">DataType</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.hadoop.hbase.io.crypto.<a href="org/apache/hadoop/hbase/io/crypto/Decryptor.html" title="interface in org.apache.hadoop.hbase.io.crypto"><span class="strong">Decryptor</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">Delayable</span></a>
-<ul>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">RpcCallContext</span></a></li>
-</ul>
-</li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/DeleteTracker.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="strong">DeleteTracker</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.io.util.<a href="org/apache/hadoop/hbase/io/util/Dictionary.html" title="interface in org.apache.hadoop.hbase.io.util"><span class="strong">Dictionary</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.codec.prefixtree.encode.<a href="org/apache/hadoop/hbase/codec/prefixtree/encode/EncoderPool.html" title="interface in org.apache.hadoop.hbase.codec.prefixtree.encode"><span class="strong">EncoderPool</span></a></li>
@@ -3977,6 +3972,7 @@
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RetryingCallable.html" title="interface in org.apache.hadoop.hbase.client"><span class="strong">RetryingCallable</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/RowProcessor.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="strong">RowProcessor</span></a>&lt;S,T&gt;</li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">RpcCallback</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">RpcCallContext</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.client.<a href="org/apache/hadoop/hbase/client/RpcRetryingCaller.html" title="interface in org.apache.hadoop.hbase.client"><span class="strong">RpcRetryingCaller</span></a>&lt;T&gt;</li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="org/apache/hadoop/hbase/regionserver/RpcSchedulerFactory.html" title="interface in org.apache.hadoop.hbase.regionserver"><span class="strong">RpcSchedulerFactory</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">RpcServerInterface</span></a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/src-html/org/apache/hadoop/hbase/ipc/CallRunner.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/CallRunner.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/CallRunner.html
index fc32a36..a76ec38 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/CallRunner.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/CallRunner.html
@@ -133,43 +133,40 @@
 <span class="sourceLineNo">125</span>          sucessful = true;<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>      // Set the response for undelayed calls and delayed calls with<a name="line.128"></a>
-<span class="sourceLineNo">129</span>      // undelayed responses.<a name="line.129"></a>
-<span class="sourceLineNo">130</span>      if (!call.isDelayed() || !call.isReturnValueDelayed()) {<a name="line.130"></a>
-<span class="sourceLineNo">131</span>        Message param = resultPair != null ? resultPair.getFirst() : null;<a name="line.131"></a>
-<span class="sourceLineNo">132</span>        CellScanner cells = resultPair != null ? resultPair.getSecond() : null;<a name="line.132"></a>
-<span class="sourceLineNo">133</span>        call.setResponse(param, cells, errorThrowable, error);<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      }<a name="line.134"></a>
-<span class="sourceLineNo">135</span>      call.sendResponseIfReady();<a name="line.135"></a>
-<span class="sourceLineNo">136</span>      this.status.markComplete("Sent response");<a name="line.136"></a>
-<span class="sourceLineNo">137</span>      this.status.pause("Waiting for a call");<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    } catch (OutOfMemoryError e) {<a name="line.138"></a>
-<span class="sourceLineNo">139</span>      if (this.rpcServer.getErrorHandler() != null) {<a name="line.139"></a>
-<span class="sourceLineNo">140</span>        if (this.rpcServer.getErrorHandler().checkOOME(e)) {<a name="line.140"></a>
-<span class="sourceLineNo">141</span>          RpcServer.LOG.info(Thread.currentThread().getName() + ": exiting on OutOfMemoryError");<a name="line.141"></a>
-<span class="sourceLineNo">142</span>          return;<a name="line.142"></a>
-<span class="sourceLineNo">143</span>        }<a name="line.143"></a>
-<span class="sourceLineNo">144</span>      } else {<a name="line.144"></a>
-<span class="sourceLineNo">145</span>        // rethrow if no handler<a name="line.145"></a>
-<span class="sourceLineNo">146</span>        throw e;<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      }<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    } catch (ClosedChannelException cce) {<a name="line.148"></a>
-<span class="sourceLineNo">149</span>      InetSocketAddress address = rpcServer.getListenerAddress();<a name="line.149"></a>
-<span class="sourceLineNo">150</span>      RpcServer.LOG.warn(Thread.currentThread().getName() + ": caught a ClosedChannelException, " +<a name="line.150"></a>
-<span class="sourceLineNo">151</span>          "this means that the server " + (address != null ? address : "(channel closed)") +<a name="line.151"></a>
-<span class="sourceLineNo">152</span>          " was processing a request but the client went away. The error message was: " +<a name="line.152"></a>
-<span class="sourceLineNo">153</span>          cce.getMessage());<a name="line.153"></a>
-<span class="sourceLineNo">154</span>    } catch (Exception e) {<a name="line.154"></a>
-<span class="sourceLineNo">155</span>      RpcServer.LOG.warn(Thread.currentThread().getName()<a name="line.155"></a>
-<span class="sourceLineNo">156</span>          + ": caught: " + StringUtils.stringifyException(e));<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    } finally {<a name="line.157"></a>
-<span class="sourceLineNo">158</span>      if (!sucessful) {<a name="line.158"></a>
-<span class="sourceLineNo">159</span>        this.rpcServer.addCallSize(call.getSize() * -1);<a name="line.159"></a>
-<span class="sourceLineNo">160</span>      }<a name="line.160"></a>
-<span class="sourceLineNo">161</span>      cleanup();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    }<a name="line.162"></a>
-<span class="sourceLineNo">163</span>  }<a name="line.163"></a>
-<span class="sourceLineNo">164</span>}<a name="line.164"></a>
+<span class="sourceLineNo">128</span>      // Set the response<a name="line.128"></a>
+<span class="sourceLineNo">129</span>      Message param = resultPair != null ? resultPair.getFirst() : null;<a name="line.129"></a>
+<span class="sourceLineNo">130</span>      CellScanner cells = resultPair != null ? resultPair.getSecond() : null;<a name="line.130"></a>
+<span class="sourceLineNo">131</span>      call.setResponse(param, cells, errorThrowable, error);<a name="line.131"></a>
+<span class="sourceLineNo">132</span>      call.sendResponseIfReady();<a name="line.132"></a>
+<span class="sourceLineNo">133</span>      this.status.markComplete("Sent response");<a name="line.133"></a>
+<span class="sourceLineNo">134</span>      this.status.pause("Waiting for a call");<a name="line.134"></a>
+<span class="sourceLineNo">135</span>    } catch (OutOfMemoryError e) {<a name="line.135"></a>
+<span class="sourceLineNo">136</span>      if (this.rpcServer.getErrorHandler() != null) {<a name="line.136"></a>
+<span class="sourceLineNo">137</span>        if (this.rpcServer.getErrorHandler().checkOOME(e)) {<a name="line.137"></a>
+<span class="sourceLineNo">138</span>          RpcServer.LOG.info(Thread.currentThread().getName() + ": exiting on OutOfMemoryError");<a name="line.138"></a>
+<span class="sourceLineNo">139</span>          return;<a name="line.139"></a>
+<span class="sourceLineNo">140</span>        }<a name="line.140"></a>
+<span class="sourceLineNo">141</span>      } else {<a name="line.141"></a>
+<span class="sourceLineNo">142</span>        // rethrow if no handler<a name="line.142"></a>
+<span class="sourceLineNo">143</span>        throw e;<a name="line.143"></a>
+<span class="sourceLineNo">144</span>      }<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    } catch (ClosedChannelException cce) {<a name="line.145"></a>
+<span class="sourceLineNo">146</span>      InetSocketAddress address = rpcServer.getListenerAddress();<a name="line.146"></a>
+<span class="sourceLineNo">147</span>      RpcServer.LOG.warn(Thread.currentThread().getName() + ": caught a ClosedChannelException, " +<a name="line.147"></a>
+<span class="sourceLineNo">148</span>          "this means that the server " + (address != null ? address : "(channel closed)") +<a name="line.148"></a>
+<span class="sourceLineNo">149</span>          " was processing a request but the client went away. The error message was: " +<a name="line.149"></a>
+<span class="sourceLineNo">150</span>          cce.getMessage());<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    } catch (Exception e) {<a name="line.151"></a>
+<span class="sourceLineNo">152</span>      RpcServer.LOG.warn(Thread.currentThread().getName()<a name="line.152"></a>
+<span class="sourceLineNo">153</span>          + ": caught: " + StringUtils.stringifyException(e));<a name="line.153"></a>
+<span class="sourceLineNo">154</span>    } finally {<a name="line.154"></a>
+<span class="sourceLineNo">155</span>      if (!sucessful) {<a name="line.155"></a>
+<span class="sourceLineNo">156</span>        this.rpcServer.addCallSize(call.getSize() * -1);<a name="line.156"></a>
+<span class="sourceLineNo">157</span>      }<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      cleanup();<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>}<a name="line.161"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/src-html/org/apache/hadoop/hbase/ipc/Delayable.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/Delayable.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/Delayable.html
deleted file mode 100644
index 816f477..0000000
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/Delayable.html
+++ /dev/null
@@ -1,145 +0,0 @@
-<!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> *<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * or more contributor license agreements.  See the NOTICE file<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * distributed with this work for additional information<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * to you under the Apache License, Version 2.0 (the<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * "License"); you may not use this file except in compliance<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * with the License.  You may obtain a copy of the License at<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * Unless required by applicable law or agreed to in writing, software<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * See the License for the specific language governing permissions and<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * limitations under the License.<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.ipc;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><a name="line.20"></a>
-<span class="sourceLineNo">021</span>import java.io.IOException;<a name="line.21"></a>
-<span class="sourceLineNo">022</span><a name="line.22"></a>
-<span class="sourceLineNo">023</span>import org.apache.hadoop.hbase.classification.InterfaceAudience;<a name="line.23"></a>
-<span class="sourceLineNo">024</span><a name="line.24"></a>
-<span class="sourceLineNo">025</span>/**<a name="line.25"></a>
-<span class="sourceLineNo">026</span> * A call whose response can be delayed by the server.<a name="line.26"></a>
-<span class="sourceLineNo">027</span> */<a name="line.27"></a>
-<span class="sourceLineNo">028</span>@InterfaceAudience.Private<a name="line.28"></a>
-<span class="sourceLineNo">029</span>public interface Delayable {<a name="line.29"></a>
-<span class="sourceLineNo">030</span>  /**<a name="line.30"></a>
-<span class="sourceLineNo">031</span>   * Signal that the call response should be delayed, thus freeing the RPC<a name="line.31"></a>
-<span class="sourceLineNo">032</span>   * server to handle different requests.<a name="line.32"></a>
-<span class="sourceLineNo">033</span>   *<a name="line.33"></a>
-<span class="sourceLineNo">034</span>   * @param delayReturnValue Controls whether the return value of the call<a name="line.34"></a>
-<span class="sourceLineNo">035</span>   * should be set when ending the delay or right away.  There are cases when<a name="line.35"></a>
-<span class="sourceLineNo">036</span>   * the return value can be set right away, even if the call is delayed.<a name="line.36"></a>
-<span class="sourceLineNo">037</span>   */<a name="line.37"></a>
-<span class="sourceLineNo">038</span>  void startDelay(boolean delayReturnValue);<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>   * @return is the call delayed?<a name="line.41"></a>
-<span class="sourceLineNo">042</span>   */<a name="line.42"></a>
-<span class="sourceLineNo">043</span>  boolean isDelayed();<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>   * @return is the return value delayed?<a name="line.46"></a>
-<span class="sourceLineNo">047</span>   */<a name="line.47"></a>
-<span class="sourceLineNo">048</span>  boolean isReturnValueDelayed();<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>   * Signal that the  RPC server is now allowed to send the response.<a name="line.51"></a>
-<span class="sourceLineNo">052</span>   * @param result The value to return to the caller.  If the corresponding<a name="line.52"></a>
-<span class="sourceLineNo">053</span>   * delay response specified that the return value should<a name="line.53"></a>
-<span class="sourceLineNo">054</span>   * not be delayed, this parameter must be null.<a name="line.54"></a>
-<span class="sourceLineNo">055</span>   * @throws IOException<a name="line.55"></a>
-<span class="sourceLineNo">056</span>   */<a name="line.56"></a>
-<span class="sourceLineNo">057</span>  void endDelay(Object result) throws IOException;<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>   * Signal the end of a delayed RPC, without specifying the return value.  Use<a name="line.60"></a>
-<span class="sourceLineNo">061</span>   * this only if the return value was not delayed<a name="line.61"></a>
-<span class="sourceLineNo">062</span>   * @throws IOException<a name="line.62"></a>
-<span class="sourceLineNo">063</span>   */<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  void endDelay() throws IOException;<a name="line.64"></a>
-<span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>  /**<a name="line.66"></a>
-<span class="sourceLineNo">067</span>   * End the call, throwing and exception to the caller.  This works regardless<a name="line.67"></a>
-<span class="sourceLineNo">068</span>   * of the return value being delayed.<a name="line.68"></a>
-<span class="sourceLineNo">069</span>   * @param t Object to throw to the client.<a name="line.69"></a>
-<span class="sourceLineNo">070</span>   * @throws IOException<a name="line.70"></a>
-<span class="sourceLineNo">071</span>   */<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  void endDelayThrowing(Throwable t) throws IOException;<a name="line.72"></a>
-<span class="sourceLineNo">073</span>}<a name="line.73"></a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</pre>
-</div>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcCallContext.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcCallContext.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcCallContext.html
index a60b019..9ba1aba 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcCallContext.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcCallContext.html
@@ -32,7 +32,7 @@
 <span class="sourceLineNo">024</span>import org.apache.hadoop.hbase.security.User;<a name="line.24"></a>
 <span class="sourceLineNo">025</span><a name="line.25"></a>
 <span class="sourceLineNo">026</span>@InterfaceAudience.Private<a name="line.26"></a>
-<span class="sourceLineNo">027</span>public interface RpcCallContext extends Delayable {<a name="line.27"></a>
+<span class="sourceLineNo">027</span>public interface RpcCallContext {<a name="line.27"></a>
 <span class="sourceLineNo">028</span>  /**<a name="line.28"></a>
 <span class="sourceLineNo">029</span>   * Check if the caller who made this IPC call has disconnected.<a name="line.29"></a>
 <span class="sourceLineNo">030</span>   * If called from outside the context of IPC, this does nothing.<a name="line.30"></a>


[03/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/xref-test/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html
----------------------------------------------------------------------
diff --git a/xref-test/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html b/xref-test/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html
index ec241f8..9a62c7b 100644
--- a/xref-test/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html
+++ b/xref-test/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html
@@ -42,217 +42,291 @@
 <a class="jxr_linenumber" name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> java.util.Collections;
 <a class="jxr_linenumber" name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> java.util.List;
 <a class="jxr_linenumber" name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> java.util.Properties;
-<a class="jxr_linenumber" name="35" href="#35">35</a>  
-<a class="jxr_linenumber" name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.conf.Configuration;
-<a class="jxr_linenumber" name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.fs.CommonConfigurationKeys;
-<a class="jxr_linenumber" name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.HBaseTestingUtility;
-<a class="jxr_linenumber" name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.HConstants;
-<a class="jxr_linenumber" name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ServerName;
-<a class="jxr_linenumber" name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ipc.FifoRpcScheduler;
-<a class="jxr_linenumber" name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ipc.RpcClient;
-<a class="jxr_linenumber" name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ipc.RpcClientFactory;
-<a class="jxr_linenumber" name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ipc.RpcServer;
-<a class="jxr_linenumber" name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ipc.RpcServerInterface;
-<a class="jxr_linenumber" name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ipc.TestDelayedRpc.TestDelayedImplementation;
-<a class="jxr_linenumber" name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ipc.TestDelayedRpc.TestThread;
-<a class="jxr_linenumber" name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos;
-<a class="jxr_linenumber" name="49" href="#49">49</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.minikdc.MiniKdc;
-<a class="jxr_linenumber" name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.security.UserGroupInformation;
-<a class="jxr_linenumber" name="51" href="#51">51</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;
-<a class="jxr_linenumber" name="52" href="#52">52</a>  <strong class="jxr_keyword">import</strong> org.junit.AfterClass;
-<a class="jxr_linenumber" name="53" href="#53">53</a>  <strong class="jxr_keyword">import</strong> org.junit.Before;
-<a class="jxr_linenumber" name="54" href="#54">54</a>  <strong class="jxr_keyword">import</strong> org.junit.BeforeClass;
-<a class="jxr_linenumber" name="55" href="#55">55</a>  <strong class="jxr_keyword">import</strong> org.junit.Rule;
-<a class="jxr_linenumber" name="56" href="#56">56</a>  <strong class="jxr_keyword">import</strong> org.junit.Test;
-<a class="jxr_linenumber" name="57" href="#57">57</a>  <strong class="jxr_keyword">import</strong> org.junit.rules.ExpectedException;
-<a class="jxr_linenumber" name="58" href="#58">58</a>  <strong class="jxr_keyword">import</strong> org.mockito.Mockito;
-<a class="jxr_linenumber" name="59" href="#59">59</a>  
-<a class="jxr_linenumber" name="60" href="#60">60</a>  <strong class="jxr_keyword">import</strong> com.google.common.collect.Lists;
-<a class="jxr_linenumber" name="61" href="#61">61</a>  <strong class="jxr_keyword">import</strong> com.google.protobuf.BlockingRpcChannel;
-<a class="jxr_linenumber" name="62" href="#62">62</a>  <strong class="jxr_keyword">import</strong> com.google.protobuf.BlockingService;
-<a class="jxr_linenumber" name="63" href="#63">63</a>  
-<a class="jxr_linenumber" name="64" href="#64">64</a>  <strong class="jxr_keyword">import</strong> javax.security.sasl.SaslException;
+<a class="jxr_linenumber" name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> java.util.concurrent.ThreadLocalRandom;
+<a class="jxr_linenumber" name="36" href="#36">36</a>  
+<a class="jxr_linenumber" name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> com.google.protobuf.RpcController;
+<a class="jxr_linenumber" name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> com.google.protobuf.ServiceException;
+<a class="jxr_linenumber" name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.conf.Configuration;
+<a class="jxr_linenumber" name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.fs.CommonConfigurationKeys;
+<a class="jxr_linenumber" name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.Cell;
+<a class="jxr_linenumber" name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.CellScanner;
+<a class="jxr_linenumber" name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.CellUtil;
+<a class="jxr_linenumber" name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.HBaseTestingUtility;
+<a class="jxr_linenumber" name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.HConstants;
+<a class="jxr_linenumber" name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ServerName;
+<a class="jxr_linenumber" name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ipc.FifoRpcScheduler;
+<a class="jxr_linenumber" name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ipc.PayloadCarryingRpcController;
+<a class="jxr_linenumber" name="49" href="#49">49</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ipc.RpcClient;
+<a class="jxr_linenumber" name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ipc.RpcClientFactory;
+<a class="jxr_linenumber" name="51" href="#51">51</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ipc.RpcServer;
+<a class="jxr_linenumber" name="52" href="#52">52</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ipc.RpcServerInterface;
+<a class="jxr_linenumber" name="53" href="#53">53</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ipc.protobuf.generated.TestProtos;
+<a class="jxr_linenumber" name="54" href="#54">54</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ipc.protobuf.generated.TestRpcServiceProtos;
+<a class="jxr_linenumber" name="55" href="#55">55</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.minikdc.MiniKdc;
+<a class="jxr_linenumber" name="56" href="#56">56</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.security.UserGroupInformation;
+<a class="jxr_linenumber" name="57" href="#57">57</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;
+<a class="jxr_linenumber" name="58" href="#58">58</a>  <strong class="jxr_keyword">import</strong> org.junit.AfterClass;
+<a class="jxr_linenumber" name="59" href="#59">59</a>  <strong class="jxr_keyword">import</strong> org.junit.Before;
+<a class="jxr_linenumber" name="60" href="#60">60</a>  <strong class="jxr_keyword">import</strong> org.junit.BeforeClass;
+<a class="jxr_linenumber" name="61" href="#61">61</a>  <strong class="jxr_keyword">import</strong> org.junit.Rule;
+<a class="jxr_linenumber" name="62" href="#62">62</a>  <strong class="jxr_keyword">import</strong> org.junit.Test;
+<a class="jxr_linenumber" name="63" href="#63">63</a>  <strong class="jxr_keyword">import</strong> org.junit.rules.ExpectedException;
+<a class="jxr_linenumber" name="64" href="#64">64</a>  <strong class="jxr_keyword">import</strong> org.mockito.Mockito;
 <a class="jxr_linenumber" name="65" href="#65">65</a>  
-<a class="jxr_linenumber" name="66" href="#66">66</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html">AbstractTestSecureIPC</a> {
-<a class="jxr_linenumber" name="67" href="#67">67</a>  
-<a class="jxr_linenumber" name="68" href="#68">68</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html">HBaseTestingUtility</a> TEST_UTIL = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html">HBaseTestingUtility</a>();
+<a class="jxr_linenumber" name="66" href="#66">66</a>  <strong class="jxr_keyword">import</strong> com.google.common.collect.Lists;
+<a class="jxr_linenumber" name="67" href="#67">67</a>  <strong class="jxr_keyword">import</strong> com.google.protobuf.BlockingRpcChannel;
+<a class="jxr_linenumber" name="68" href="#68">68</a>  <strong class="jxr_keyword">import</strong> com.google.protobuf.BlockingService;
 <a class="jxr_linenumber" name="69" href="#69">69</a>  
-<a class="jxr_linenumber" name="70" href="#70">70</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> File KEYTAB_FILE = <strong class="jxr_keyword">new</strong> File(TEST_UTIL.getDataTestDir(<span class="jxr_string">"keytab"</span>).toUri()
-<a class="jxr_linenumber" name="71" href="#71">71</a>        .getPath());
-<a class="jxr_linenumber" name="72" href="#72">72</a>  
-<a class="jxr_linenumber" name="73" href="#73">73</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> MiniKdc KDC;
-<a class="jxr_linenumber" name="74" href="#74">74</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String HOST = <span class="jxr_string">"localhost"</span>;
-<a class="jxr_linenumber" name="75" href="#75">75</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String PRINCIPAL;
-<a class="jxr_linenumber" name="76" href="#76">76</a>  
-<a class="jxr_linenumber" name="77" href="#77">77</a>    String krbKeytab;
-<a class="jxr_linenumber" name="78" href="#78">78</a>    String krbPrincipal;
-<a class="jxr_linenumber" name="79" href="#79">79</a>    UserGroupInformation ugi;
-<a class="jxr_linenumber" name="80" href="#80">80</a>    Configuration clientConf;
-<a class="jxr_linenumber" name="81" href="#81">81</a>    Configuration serverConf;
+<a class="jxr_linenumber" name="70" href="#70">70</a>  <strong class="jxr_keyword">import</strong> javax.security.sasl.SaslException;
+<a class="jxr_linenumber" name="71" href="#71">71</a>  
+<a class="jxr_linenumber" name="72" href="#72">72</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">abstract</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html">AbstractTestSecureIPC</a> {
+<a class="jxr_linenumber" name="73" href="#73">73</a>  
+<a class="jxr_linenumber" name="74" href="#74">74</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html">HBaseTestingUtility</a> TEST_UTIL = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/HBaseTestingUtility.html">HBaseTestingUtility</a>();
+<a class="jxr_linenumber" name="75" href="#75">75</a>  
+<a class="jxr_linenumber" name="76" href="#76">76</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> File KEYTAB_FILE = <strong class="jxr_keyword">new</strong> File(TEST_UTIL.getDataTestDir(<span class="jxr_string">"keytab"</span>).toUri()
+<a class="jxr_linenumber" name="77" href="#77">77</a>        .getPath());
+<a class="jxr_linenumber" name="78" href="#78">78</a>  
+<a class="jxr_linenumber" name="79" href="#79">79</a>    <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> BlockingService SERVICE =
+<a class="jxr_linenumber" name="80" href="#80">80</a>        TestRpcServiceProtos.TestProtobufRpcProto.newReflectiveBlockingService(
+<a class="jxr_linenumber" name="81" href="#81">81</a>            <strong class="jxr_keyword">new</strong> TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface() {
 <a class="jxr_linenumber" name="82" href="#82">82</a>  
-<a class="jxr_linenumber" name="83" href="#83">83</a>    <strong class="jxr_keyword">abstract</strong> Class&lt;? <strong class="jxr_keyword">extends</strong> RpcClient&gt; getRpcClientClass();
-<a class="jxr_linenumber" name="84" href="#84">84</a>  
-<a class="jxr_linenumber" name="85" href="#85">85</a>    @Rule
-<a class="jxr_linenumber" name="86" href="#86">86</a>    <strong class="jxr_keyword">public</strong> ExpectedException exception = ExpectedException.none();
-<a class="jxr_linenumber" name="87" href="#87">87</a>  
-<a class="jxr_linenumber" name="88" href="#88">88</a>    @BeforeClass
-<a class="jxr_linenumber" name="89" href="#89">89</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> setUp() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="90" href="#90">90</a>      Properties conf = MiniKdc.createConf();
-<a class="jxr_linenumber" name="91" href="#91">91</a>      conf.put(MiniKdc.DEBUG, <strong class="jxr_keyword">true</strong>);
-<a class="jxr_linenumber" name="92" href="#92">92</a>      KDC = <strong class="jxr_keyword">new</strong> MiniKdc(conf, <strong class="jxr_keyword">new</strong> File(TEST_UTIL.getDataTestDir(<span class="jxr_string">"kdc"</span>).toUri().getPath()));
-<a class="jxr_linenumber" name="93" href="#93">93</a>      KDC.start();
-<a class="jxr_linenumber" name="94" href="#94">94</a>      PRINCIPAL = <span class="jxr_string">"hbase/"</span> + HOST;
-<a class="jxr_linenumber" name="95" href="#95">95</a>      KDC.createPrincipal(KEYTAB_FILE, PRINCIPAL);
-<a class="jxr_linenumber" name="96" href="#96">96</a>      HBaseKerberosUtils.setKeytabFileForTesting(KEYTAB_FILE.getAbsolutePath());
-<a class="jxr_linenumber" name="97" href="#97">97</a>      HBaseKerberosUtils.setPrincipalForTesting(PRINCIPAL + <span class="jxr_string">"@"</span> + KDC.getRealm());
-<a class="jxr_linenumber" name="98" href="#98">98</a>    }
-<a class="jxr_linenumber" name="99" href="#99">99</a>  
-<a class="jxr_linenumber" name="100" href="#100">100</a>   @AfterClass
-<a class="jxr_linenumber" name="101" href="#101">101</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> tearDown() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="102" href="#102">102</a>     <strong class="jxr_keyword">if</strong> (KDC != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="103" href="#103">103</a>       KDC.stop();
-<a class="jxr_linenumber" name="104" href="#104">104</a>     }
-<a class="jxr_linenumber" name="105" href="#105">105</a>     TEST_UTIL.cleanupTestDir();
-<a class="jxr_linenumber" name="106" href="#106">106</a>   }
-<a class="jxr_linenumber" name="107" href="#107">107</a> 
-<a class="jxr_linenumber" name="108" href="#108">108</a>   @Before
-<a class="jxr_linenumber" name="109" href="#109">109</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUpTest() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="110" href="#110">110</a>     krbKeytab = getKeytabFileForTesting();
-<a class="jxr_linenumber" name="111" href="#111">111</a>     krbPrincipal = getPrincipalForTesting();
-<a class="jxr_linenumber" name="112" href="#112">112</a>     ugi = loginKerberosPrincipal(krbKeytab, krbPrincipal);
-<a class="jxr_linenumber" name="113" href="#113">113</a>     clientConf = getSecuredConfiguration();
-<a class="jxr_linenumber" name="114" href="#114">114</a>     clientConf.set(RpcClientFactory.CUSTOM_RPC_CLIENT_IMPL_CONF_KEY, getRpcClientClass().getName());
-<a class="jxr_linenumber" name="115" href="#115">115</a>     serverConf = getSecuredConfiguration();
-<a class="jxr_linenumber" name="116" href="#116">116</a>   }
-<a class="jxr_linenumber" name="117" href="#117">117</a> 
-<a class="jxr_linenumber" name="118" href="#118">118</a>   @Test
-<a class="jxr_linenumber" name="119" href="#119">119</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testRpcCallWithEnabledKerberosSaslAuth() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="120" href="#120">120</a>     UserGroupInformation ugi2 = UserGroupInformation.getCurrentUser();
-<a class="jxr_linenumber" name="121" href="#121">121</a> 
-<a class="jxr_linenumber" name="122" href="#122">122</a>     <em class="jxr_comment">// check that the login user is okay:</em>
-<a class="jxr_linenumber" name="123" href="#123">123</a>     assertSame(ugi, ugi2);
-<a class="jxr_linenumber" name="124" href="#124">124</a>     assertEquals(AuthenticationMethod.KERBEROS, ugi.getAuthenticationMethod());
-<a class="jxr_linenumber" name="125" href="#125">125</a>     assertEquals(krbPrincipal, ugi.getUserName());
-<a class="jxr_linenumber" name="126" href="#126">126</a> 
-<a class="jxr_linenumber" name="127" href="#127">127</a>     callRpcService(User.create(ugi2));
-<a class="jxr_linenumber" name="128" href="#128">128</a>   }
-<a class="jxr_linenumber" name="129" href="#129">129</a> 
-<a class="jxr_linenumber" name="130" href="#130">130</a>   @Test
-<a class="jxr_linenumber" name="131" href="#131">131</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testRpcFallbackToSimpleAuth() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="132" href="#132">132</a>     String clientUsername = <span class="jxr_string">"testuser"</span>;
-<a class="jxr_linenumber" name="133" href="#133">133</a>     UserGroupInformation clientUgi = UserGroupInformation.createUserForTesting(clientUsername,
-<a class="jxr_linenumber" name="134" href="#134">134</a>         <strong class="jxr_keyword">new</strong> String[]{clientUsername});
-<a class="jxr_linenumber" name="135" href="#135">135</a> 
-<a class="jxr_linenumber" name="136" href="#136">136</a>     <em class="jxr_comment">// check that the client user is insecure</em>
-<a class="jxr_linenumber" name="137" href="#137">137</a>     assertNotSame(ugi, clientUgi);
-<a class="jxr_linenumber" name="138" href="#138">138</a>     assertEquals(AuthenticationMethod.SIMPLE, clientUgi.getAuthenticationMethod());
-<a class="jxr_linenumber" name="139" href="#139">139</a>     assertEquals(clientUsername, clientUgi.getUserName());
-<a class="jxr_linenumber" name="140" href="#140">140</a> 
-<a class="jxr_linenumber" name="141" href="#141">141</a>     clientConf.set(User.HBASE_SECURITY_CONF_KEY, <span class="jxr_string">"simple"</span>);
-<a class="jxr_linenumber" name="142" href="#142">142</a>     serverConf.setBoolean(RpcServer.FALLBACK_TO_INSECURE_CLIENT_AUTH, <strong class="jxr_keyword">true</strong>);
-<a class="jxr_linenumber" name="143" href="#143">143</a>     callRpcService(User.create(clientUgi));
-<a class="jxr_linenumber" name="144" href="#144">144</a>   }
-<a class="jxr_linenumber" name="145" href="#145">145</a> 
-<a class="jxr_linenumber" name="146" href="#146">146</a>   <strong class="jxr_keyword">void</strong> setRpcProtection(String clientProtection, String serverProtection) {
-<a class="jxr_linenumber" name="147" href="#147">147</a>     clientConf.set(<span class="jxr_string">"hbase.rpc.protection"</span>, clientProtection);
-<a class="jxr_linenumber" name="148" href="#148">148</a>     serverConf.set(<span class="jxr_string">"hbase.rpc.protection"</span>, serverProtection);
-<a class="jxr_linenumber" name="149" href="#149">149</a>   }
-<a class="jxr_linenumber" name="150" href="#150">150</a> 
-<a class="jxr_linenumber" name="151" href="#151">151</a>   <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="152" href="#152">152</a> <em class="jxr_javadoccomment">   * Test various combinations of Server and Client qops.</em>
-<a class="jxr_linenumber" name="153" href="#153">153</a> <em class="jxr_javadoccomment">   * @throws Exception</em>
-<a class="jxr_linenumber" name="154" href="#154">154</a> <em class="jxr_javadoccomment">   */</em>
-<a class="jxr_linenumber" name="155" href="#155">155</a>   @Test
-<a class="jxr_linenumber" name="156" href="#156">156</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSaslWithCommonQop() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="157" href="#157">157</a>     setRpcProtection(<span class="jxr_string">"privacy,authentication"</span>, <span class="jxr_string">"authentication"</span>);
-<a class="jxr_linenumber" name="158" href="#158">158</a>     callRpcService(User.create(ugi));
-<a class="jxr_linenumber" name="159" href="#159">159</a> 
-<a class="jxr_linenumber" name="160" href="#160">160</a>     setRpcProtection(<span class="jxr_string">"authentication"</span>, <span class="jxr_string">"privacy,authentication"</span>);
-<a class="jxr_linenumber" name="161" href="#161">161</a>     callRpcService(User.create(ugi));
+<a class="jxr_linenumber" name="83" href="#83">83</a>              @Override
+<a class="jxr_linenumber" name="84" href="#84">84</a>              <strong class="jxr_keyword">public</strong> TestProtos.EmptyResponseProto ping(RpcController controller,
+<a class="jxr_linenumber" name="85" href="#85">85</a>                                                        TestProtos.EmptyRequestProto request)
+<a class="jxr_linenumber" name="86" href="#86">86</a>                  <strong class="jxr_keyword">throws</strong> ServiceException {
+<a class="jxr_linenumber" name="87" href="#87">87</a>                <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="88" href="#88">88</a>              }
+<a class="jxr_linenumber" name="89" href="#89">89</a>  
+<a class="jxr_linenumber" name="90" href="#90">90</a>              @Override
+<a class="jxr_linenumber" name="91" href="#91">91</a>              <strong class="jxr_keyword">public</strong> TestProtos.EmptyResponseProto error(RpcController controller,
+<a class="jxr_linenumber" name="92" href="#92">92</a>                                                         TestProtos.EmptyRequestProto request)
+<a class="jxr_linenumber" name="93" href="#93">93</a>                  <strong class="jxr_keyword">throws</strong> ServiceException {
+<a class="jxr_linenumber" name="94" href="#94">94</a>                <strong class="jxr_keyword">return</strong> <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="95" href="#95">95</a>              }
+<a class="jxr_linenumber" name="96" href="#96">96</a>  
+<a class="jxr_linenumber" name="97" href="#97">97</a>              @Override
+<a class="jxr_linenumber" name="98" href="#98">98</a>              <strong class="jxr_keyword">public</strong> TestProtos.EchoResponseProto echo(RpcController controller,
+<a class="jxr_linenumber" name="99" href="#99">99</a>                                                       TestProtos.EchoRequestProto request)
+<a class="jxr_linenumber" name="100" href="#100">100</a>                 <strong class="jxr_keyword">throws</strong> ServiceException {
+<a class="jxr_linenumber" name="101" href="#101">101</a>               <strong class="jxr_keyword">if</strong> (controller instanceof PayloadCarryingRpcController) {
+<a class="jxr_linenumber" name="102" href="#102">102</a>                 PayloadCarryingRpcController pcrc = (PayloadCarryingRpcController) controller;
+<a class="jxr_linenumber" name="103" href="#103">103</a>                 <em class="jxr_comment">// If cells, scan them to check we are able to iterate what we were given and since</em>
+<a class="jxr_linenumber" name="104" href="#104">104</a>                 <em class="jxr_comment">// this is</em>
+<a class="jxr_linenumber" name="105" href="#105">105</a>                 <em class="jxr_comment">// an echo, just put them back on the controller creating a new block. Tests our</em>
+<a class="jxr_linenumber" name="106" href="#106">106</a>                 <em class="jxr_comment">// block</em>
+<a class="jxr_linenumber" name="107" href="#107">107</a>                 <em class="jxr_comment">// building.</em>
+<a class="jxr_linenumber" name="108" href="#108">108</a>                 CellScanner cellScanner = pcrc.cellScanner();
+<a class="jxr_linenumber" name="109" href="#109">109</a>                 List&lt;Cell&gt; list = <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="110" href="#110">110</a>                 <strong class="jxr_keyword">if</strong> (cellScanner != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="111" href="#111">111</a>                   list = <strong class="jxr_keyword">new</strong> ArrayList&lt;Cell&gt;();
+<a class="jxr_linenumber" name="112" href="#112">112</a>                   <strong class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="113" href="#113">113</a>                     <strong class="jxr_keyword">while</strong> (cellScanner.advance()) {
+<a class="jxr_linenumber" name="114" href="#114">114</a>                       list.add(cellScanner.current());
+<a class="jxr_linenumber" name="115" href="#115">115</a>                     }
+<a class="jxr_linenumber" name="116" href="#116">116</a>                   } <strong class="jxr_keyword">catch</strong> (IOException e) {
+<a class="jxr_linenumber" name="117" href="#117">117</a>                     <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> ServiceException(e);
+<a class="jxr_linenumber" name="118" href="#118">118</a>                   }
+<a class="jxr_linenumber" name="119" href="#119">119</a>                 }
+<a class="jxr_linenumber" name="120" href="#120">120</a>                 cellScanner = CellUtil.createCellScanner(list);
+<a class="jxr_linenumber" name="121" href="#121">121</a>                 ((PayloadCarryingRpcController) controller).setCellScanner(cellScanner);
+<a class="jxr_linenumber" name="122" href="#122">122</a>               }
+<a class="jxr_linenumber" name="123" href="#123">123</a>               <strong class="jxr_keyword">return</strong> TestProtos.EchoResponseProto.newBuilder()
+<a class="jxr_linenumber" name="124" href="#124">124</a>                   .setMessage(request.getMessage()).build();
+<a class="jxr_linenumber" name="125" href="#125">125</a>             }
+<a class="jxr_linenumber" name="126" href="#126">126</a>           });
+<a class="jxr_linenumber" name="127" href="#127">127</a> 
+<a class="jxr_linenumber" name="128" href="#128">128</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> MiniKdc KDC;
+<a class="jxr_linenumber" name="129" href="#129">129</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String HOST = <span class="jxr_string">"localhost"</span>;
+<a class="jxr_linenumber" name="130" href="#130">130</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> String PRINCIPAL;
+<a class="jxr_linenumber" name="131" href="#131">131</a> 
+<a class="jxr_linenumber" name="132" href="#132">132</a>   String krbKeytab;
+<a class="jxr_linenumber" name="133" href="#133">133</a>   String krbPrincipal;
+<a class="jxr_linenumber" name="134" href="#134">134</a>   UserGroupInformation ugi;
+<a class="jxr_linenumber" name="135" href="#135">135</a>   Configuration clientConf;
+<a class="jxr_linenumber" name="136" href="#136">136</a>   Configuration serverConf;
+<a class="jxr_linenumber" name="137" href="#137">137</a> 
+<a class="jxr_linenumber" name="138" href="#138">138</a>   <strong class="jxr_keyword">abstract</strong> Class&lt;? <strong class="jxr_keyword">extends</strong> RpcClient&gt; getRpcClientClass();
+<a class="jxr_linenumber" name="139" href="#139">139</a> 
+<a class="jxr_linenumber" name="140" href="#140">140</a>   @Rule
+<a class="jxr_linenumber" name="141" href="#141">141</a>   <strong class="jxr_keyword">public</strong> ExpectedException exception = ExpectedException.none();
+<a class="jxr_linenumber" name="142" href="#142">142</a> 
+<a class="jxr_linenumber" name="143" href="#143">143</a>   @BeforeClass
+<a class="jxr_linenumber" name="144" href="#144">144</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> setUp() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="145" href="#145">145</a>     Properties conf = MiniKdc.createConf();
+<a class="jxr_linenumber" name="146" href="#146">146</a>     conf.put(MiniKdc.DEBUG, <strong class="jxr_keyword">true</strong>);
+<a class="jxr_linenumber" name="147" href="#147">147</a>     KDC = <strong class="jxr_keyword">new</strong> MiniKdc(conf, <strong class="jxr_keyword">new</strong> File(TEST_UTIL.getDataTestDir(<span class="jxr_string">"kdc"</span>).toUri().getPath()));
+<a class="jxr_linenumber" name="148" href="#148">148</a>     KDC.start();
+<a class="jxr_linenumber" name="149" href="#149">149</a>     PRINCIPAL = <span class="jxr_string">"hbase/"</span> + HOST;
+<a class="jxr_linenumber" name="150" href="#150">150</a>     KDC.createPrincipal(KEYTAB_FILE, PRINCIPAL);
+<a class="jxr_linenumber" name="151" href="#151">151</a>     HBaseKerberosUtils.setKeytabFileForTesting(KEYTAB_FILE.getAbsolutePath());
+<a class="jxr_linenumber" name="152" href="#152">152</a>     HBaseKerberosUtils.setPrincipalForTesting(PRINCIPAL + <span class="jxr_string">"@"</span> + KDC.getRealm());
+<a class="jxr_linenumber" name="153" href="#153">153</a>   }
+<a class="jxr_linenumber" name="154" href="#154">154</a> 
+<a class="jxr_linenumber" name="155" href="#155">155</a>   @AfterClass
+<a class="jxr_linenumber" name="156" href="#156">156</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">void</strong> tearDown() <strong class="jxr_keyword">throws</strong> IOException {
+<a class="jxr_linenumber" name="157" href="#157">157</a>     <strong class="jxr_keyword">if</strong> (KDC != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="158" href="#158">158</a>       KDC.stop();
+<a class="jxr_linenumber" name="159" href="#159">159</a>     }
+<a class="jxr_linenumber" name="160" href="#160">160</a>     TEST_UTIL.cleanupTestDir();
+<a class="jxr_linenumber" name="161" href="#161">161</a>   }
 <a class="jxr_linenumber" name="162" href="#162">162</a> 
-<a class="jxr_linenumber" name="163" href="#163">163</a>     setRpcProtection(<span class="jxr_string">"integrity,authentication"</span>, <span class="jxr_string">"privacy,authentication"</span>);
-<a class="jxr_linenumber" name="164" href="#164">164</a>     callRpcService(User.create(ugi));
-<a class="jxr_linenumber" name="165" href="#165">165</a>   }
-<a class="jxr_linenumber" name="166" href="#166">166</a> 
-<a class="jxr_linenumber" name="167" href="#167">167</a>   @Test
-<a class="jxr_linenumber" name="168" href="#168">168</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSaslNoCommonQop() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="169" href="#169">169</a>     exception.expect(SaslException.<strong class="jxr_keyword">class</strong>);
-<a class="jxr_linenumber" name="170" href="#170">170</a>     exception.expectMessage(<span class="jxr_string">"No common protection layer between client and server"</span>);
-<a class="jxr_linenumber" name="171" href="#171">171</a>     setRpcProtection(<span class="jxr_string">"integrity"</span>, <span class="jxr_string">"privacy"</span>);
-<a class="jxr_linenumber" name="172" href="#172">172</a>     callRpcService(User.create(ugi));
-<a class="jxr_linenumber" name="173" href="#173">173</a>   }
-<a class="jxr_linenumber" name="174" href="#174">174</a> 
-<a class="jxr_linenumber" name="175" href="#175">175</a>   <strong class="jxr_keyword">private</strong> UserGroupInformation loginKerberosPrincipal(String krbKeytab, String krbPrincipal)
-<a class="jxr_linenumber" name="176" href="#176">176</a>       <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="177" href="#177">177</a>     Configuration cnf = <strong class="jxr_keyword">new</strong> Configuration();
-<a class="jxr_linenumber" name="178" href="#178">178</a>     cnf.set(CommonConfigurationKeys.HADOOP_SECURITY_AUTHENTICATION, <span class="jxr_string">"kerberos"</span>);
-<a class="jxr_linenumber" name="179" href="#179">179</a>     UserGroupInformation.setConfiguration(cnf);
-<a class="jxr_linenumber" name="180" href="#180">180</a>     UserGroupInformation.loginUserFromKeytab(krbPrincipal, krbKeytab);
-<a class="jxr_linenumber" name="181" href="#181">181</a>     <strong class="jxr_keyword">return</strong> UserGroupInformation.getLoginUser();
-<a class="jxr_linenumber" name="182" href="#182">182</a>   }
-<a class="jxr_linenumber" name="183" href="#183">183</a> 
-<a class="jxr_linenumber" name="184" href="#184">184</a>   <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="185" href="#185">185</a> <em class="jxr_javadoccomment">   * Sets up a RPC Server and a Client. Does a RPC checks the result. If an exception is thrown</em>
-<a class="jxr_linenumber" name="186" href="#186">186</a> <em class="jxr_javadoccomment">   * from the stub, this function will throw root cause of that exception.</em>
-<a class="jxr_linenumber" name="187" href="#187">187</a> <em class="jxr_javadoccomment">   */</em>
-<a class="jxr_linenumber" name="188" href="#188">188</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> callRpcService(User clientUser) <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="189" href="#189">189</a>     SecurityInfo securityInfoMock = Mockito.mock(SecurityInfo.<strong class="jxr_keyword">class</strong>);
-<a class="jxr_linenumber" name="190" href="#190">190</a>     Mockito.when(securityInfoMock.getServerPrincipal())
-<a class="jxr_linenumber" name="191" href="#191">191</a>         .thenReturn(HBaseKerberosUtils.KRB_PRINCIPAL);
-<a class="jxr_linenumber" name="192" href="#192">192</a>     SecurityInfo.addInfo(<span class="jxr_string">"TestDelayedService"</span>, securityInfoMock);
-<a class="jxr_linenumber" name="193" href="#193">193</a> 
-<a class="jxr_linenumber" name="194" href="#194">194</a>     <strong class="jxr_keyword">boolean</strong> delayReturnValue = false;
-<a class="jxr_linenumber" name="195" href="#195">195</a>     InetSocketAddress isa = <strong class="jxr_keyword">new</strong> InetSocketAddress(HOST, 0);
-<a class="jxr_linenumber" name="196" href="#196">196</a>     <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">TestDelayedImplementation</a> instance = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">TestDelayedImplementation</a>(delayReturnValue);
-<a class="jxr_linenumber" name="197" href="#197">197</a>     BlockingService service =
-<a class="jxr_linenumber" name="198" href="#198">198</a>         TestDelayedRpcProtos.TestDelayedService.newReflectiveBlockingService(instance);
-<a class="jxr_linenumber" name="199" href="#199">199</a> 
-<a class="jxr_linenumber" name="200" href="#200">200</a>     RpcServerInterface rpcServer =
-<a class="jxr_linenumber" name="201" href="#201">201</a>         <strong class="jxr_keyword">new</strong> RpcServer(<strong class="jxr_keyword">null</strong>, <span class="jxr_string">"testSecuredDelayedRpc"</span>,
-<a class="jxr_linenumber" name="202" href="#202">202</a>             Lists.newArrayList(<strong class="jxr_keyword">new</strong> RpcServer.BlockingServiceAndInterface(service, <strong class="jxr_keyword">null</strong>)), isa,
-<a class="jxr_linenumber" name="203" href="#203">203</a>             serverConf, <strong class="jxr_keyword">new</strong> FifoRpcScheduler(serverConf, 1));
-<a class="jxr_linenumber" name="204" href="#204">204</a>     rpcServer.start();
-<a class="jxr_linenumber" name="205" href="#205">205</a>     RpcClient rpcClient =
-<a class="jxr_linenumber" name="206" href="#206">206</a>         RpcClientFactory.createClient(clientConf, HConstants.DEFAULT_CLUSTER_ID.toString());
-<a class="jxr_linenumber" name="207" href="#207">207</a>     <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="208" href="#208">208</a>       InetSocketAddress address = rpcServer.getListenerAddress();
-<a class="jxr_linenumber" name="209" href="#209">209</a>       <strong class="jxr_keyword">if</strong> (address == <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="210" href="#210">210</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IOException(<span class="jxr_string">"Listener channel is closed"</span>);
-<a class="jxr_linenumber" name="211" href="#211">211</a>       }
-<a class="jxr_linenumber" name="212" href="#212">212</a>       BlockingRpcChannel channel =
-<a class="jxr_linenumber" name="213" href="#213">213</a>           rpcClient.createBlockingRpcChannel(
-<a class="jxr_linenumber" name="214" href="#214">214</a>             ServerName.valueOf(address.getHostName(), address.getPort(),
-<a class="jxr_linenumber" name="215" href="#215">215</a>             System.currentTimeMillis()), clientUser, 0);
-<a class="jxr_linenumber" name="216" href="#216">216</a>       TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub =
-<a class="jxr_linenumber" name="217" href="#217">217</a>           TestDelayedRpcProtos.TestDelayedService.newBlockingStub(channel);
-<a class="jxr_linenumber" name="218" href="#218">218</a>       List&lt;Integer&gt; results = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
-<a class="jxr_linenumber" name="219" href="#219">219</a>       <a href="../../../../../org/apache/hadoop/hbase/MultithreadedTestUtil.html">TestThread</a> th1 = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/MultithreadedTestUtil.html">TestThread</a>(stub, <strong class="jxr_keyword">true</strong>, results);
-<a class="jxr_linenumber" name="220" href="#220">220</a>       <strong class="jxr_keyword">final</strong> Throwable exception[] = <strong class="jxr_keyword">new</strong> Throwable[1];
-<a class="jxr_linenumber" name="221" href="#221">221</a>           Collections.synchronizedList(<strong class="jxr_keyword">new</strong> ArrayList&lt;Throwable&gt;());
-<a class="jxr_linenumber" name="222" href="#222">222</a>       Thread.UncaughtExceptionHandler exceptionHandler =
-<a class="jxr_linenumber" name="223" href="#223">223</a>           <strong class="jxr_keyword">new</strong> Thread.UncaughtExceptionHandler() {
-<a class="jxr_linenumber" name="224" href="#224">224</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> uncaughtException(Thread th, Throwable ex) {
-<a class="jxr_linenumber" name="225" href="#225">225</a>               exception[0] = ex;
-<a class="jxr_linenumber" name="226" href="#226">226</a>             }
-<a class="jxr_linenumber" name="227" href="#227">227</a>           };
-<a class="jxr_linenumber" name="228" href="#228">228</a>       th1.setUncaughtExceptionHandler(exceptionHandler);
-<a class="jxr_linenumber" name="229" href="#229">229</a>       th1.start();
-<a class="jxr_linenumber" name="230" href="#230">230</a>       th1.join();
-<a class="jxr_linenumber" name="231" href="#231">231</a>       <strong class="jxr_keyword">if</strong> (exception[0] != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="232" href="#232">232</a>         <em class="jxr_comment">// throw root cause.</em>
-<a class="jxr_linenumber" name="233" href="#233">233</a>         <strong class="jxr_keyword">while</strong> (exception[0].getCause() != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="234" href="#234">234</a>           exception[0] = exception[0].getCause();
-<a class="jxr_linenumber" name="235" href="#235">235</a>         }
-<a class="jxr_linenumber" name="236" href="#236">236</a>         <strong class="jxr_keyword">throw</strong> (Exception) exception[0];
-<a class="jxr_linenumber" name="237" href="#237">237</a>       }
+<a class="jxr_linenumber" name="163" href="#163">163</a>   @Before
+<a class="jxr_linenumber" name="164" href="#164">164</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> setUpTest() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="165" href="#165">165</a>     krbKeytab = getKeytabFileForTesting();
+<a class="jxr_linenumber" name="166" href="#166">166</a>     krbPrincipal = getPrincipalForTesting();
+<a class="jxr_linenumber" name="167" href="#167">167</a>     ugi = loginKerberosPrincipal(krbKeytab, krbPrincipal);
+<a class="jxr_linenumber" name="168" href="#168">168</a>     clientConf = getSecuredConfiguration();
+<a class="jxr_linenumber" name="169" href="#169">169</a>     clientConf.set(RpcClientFactory.CUSTOM_RPC_CLIENT_IMPL_CONF_KEY, getRpcClientClass().getName());
+<a class="jxr_linenumber" name="170" href="#170">170</a>     serverConf = getSecuredConfiguration();
+<a class="jxr_linenumber" name="171" href="#171">171</a>   }
+<a class="jxr_linenumber" name="172" href="#172">172</a> 
+<a class="jxr_linenumber" name="173" href="#173">173</a>   @Test
+<a class="jxr_linenumber" name="174" href="#174">174</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testRpcCallWithEnabledKerberosSaslAuth() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="175" href="#175">175</a>     UserGroupInformation ugi2 = UserGroupInformation.getCurrentUser();
+<a class="jxr_linenumber" name="176" href="#176">176</a> 
+<a class="jxr_linenumber" name="177" href="#177">177</a>     <em class="jxr_comment">// check that the login user is okay:</em>
+<a class="jxr_linenumber" name="178" href="#178">178</a>     assertSame(ugi, ugi2);
+<a class="jxr_linenumber" name="179" href="#179">179</a>     assertEquals(AuthenticationMethod.KERBEROS, ugi.getAuthenticationMethod());
+<a class="jxr_linenumber" name="180" href="#180">180</a>     assertEquals(krbPrincipal, ugi.getUserName());
+<a class="jxr_linenumber" name="181" href="#181">181</a> 
+<a class="jxr_linenumber" name="182" href="#182">182</a>     callRpcService(User.create(ugi2));
+<a class="jxr_linenumber" name="183" href="#183">183</a>   }
+<a class="jxr_linenumber" name="184" href="#184">184</a> 
+<a class="jxr_linenumber" name="185" href="#185">185</a>   @Test
+<a class="jxr_linenumber" name="186" href="#186">186</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testRpcFallbackToSimpleAuth() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="187" href="#187">187</a>     String clientUsername = <span class="jxr_string">"testuser"</span>;
+<a class="jxr_linenumber" name="188" href="#188">188</a>     UserGroupInformation clientUgi = UserGroupInformation.createUserForTesting(clientUsername,
+<a class="jxr_linenumber" name="189" href="#189">189</a>         <strong class="jxr_keyword">new</strong> String[]{clientUsername});
+<a class="jxr_linenumber" name="190" href="#190">190</a> 
+<a class="jxr_linenumber" name="191" href="#191">191</a>     <em class="jxr_comment">// check that the client user is insecure</em>
+<a class="jxr_linenumber" name="192" href="#192">192</a>     assertNotSame(ugi, clientUgi);
+<a class="jxr_linenumber" name="193" href="#193">193</a>     assertEquals(AuthenticationMethod.SIMPLE, clientUgi.getAuthenticationMethod());
+<a class="jxr_linenumber" name="194" href="#194">194</a>     assertEquals(clientUsername, clientUgi.getUserName());
+<a class="jxr_linenumber" name="195" href="#195">195</a> 
+<a class="jxr_linenumber" name="196" href="#196">196</a>     clientConf.set(User.HBASE_SECURITY_CONF_KEY, <span class="jxr_string">"simple"</span>);
+<a class="jxr_linenumber" name="197" href="#197">197</a>     serverConf.setBoolean(RpcServer.FALLBACK_TO_INSECURE_CLIENT_AUTH, <strong class="jxr_keyword">true</strong>);
+<a class="jxr_linenumber" name="198" href="#198">198</a>     callRpcService(User.create(clientUgi));
+<a class="jxr_linenumber" name="199" href="#199">199</a>   }
+<a class="jxr_linenumber" name="200" href="#200">200</a> 
+<a class="jxr_linenumber" name="201" href="#201">201</a>   <strong class="jxr_keyword">void</strong> setRpcProtection(String clientProtection, String serverProtection) {
+<a class="jxr_linenumber" name="202" href="#202">202</a>     clientConf.set(<span class="jxr_string">"hbase.rpc.protection"</span>, clientProtection);
+<a class="jxr_linenumber" name="203" href="#203">203</a>     serverConf.set(<span class="jxr_string">"hbase.rpc.protection"</span>, serverProtection);
+<a class="jxr_linenumber" name="204" href="#204">204</a>   }
+<a class="jxr_linenumber" name="205" href="#205">205</a> 
+<a class="jxr_linenumber" name="206" href="#206">206</a>   <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="207" href="#207">207</a> <em class="jxr_javadoccomment">   * Test various combinations of Server and Client qops.</em>
+<a class="jxr_linenumber" name="208" href="#208">208</a> <em class="jxr_javadoccomment">   * @throws Exception</em>
+<a class="jxr_linenumber" name="209" href="#209">209</a> <em class="jxr_javadoccomment">   */</em>
+<a class="jxr_linenumber" name="210" href="#210">210</a>   @Test
+<a class="jxr_linenumber" name="211" href="#211">211</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSaslWithCommonQop() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="212" href="#212">212</a>     setRpcProtection(<span class="jxr_string">"privacy,authentication"</span>, <span class="jxr_string">"authentication"</span>);
+<a class="jxr_linenumber" name="213" href="#213">213</a>     callRpcService(User.create(ugi));
+<a class="jxr_linenumber" name="214" href="#214">214</a> 
+<a class="jxr_linenumber" name="215" href="#215">215</a>     setRpcProtection(<span class="jxr_string">"authentication"</span>, <span class="jxr_string">"privacy,authentication"</span>);
+<a class="jxr_linenumber" name="216" href="#216">216</a>     callRpcService(User.create(ugi));
+<a class="jxr_linenumber" name="217" href="#217">217</a> 
+<a class="jxr_linenumber" name="218" href="#218">218</a>     setRpcProtection(<span class="jxr_string">"integrity,authentication"</span>, <span class="jxr_string">"privacy,authentication"</span>);
+<a class="jxr_linenumber" name="219" href="#219">219</a>     callRpcService(User.create(ugi));
+<a class="jxr_linenumber" name="220" href="#220">220</a>   }
+<a class="jxr_linenumber" name="221" href="#221">221</a> 
+<a class="jxr_linenumber" name="222" href="#222">222</a>   @Test
+<a class="jxr_linenumber" name="223" href="#223">223</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testSaslNoCommonQop() <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="224" href="#224">224</a>     exception.expect(SaslException.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="225" href="#225">225</a>     exception.expectMessage(<span class="jxr_string">"No common protection layer between client and server"</span>);
+<a class="jxr_linenumber" name="226" href="#226">226</a>     setRpcProtection(<span class="jxr_string">"integrity"</span>, <span class="jxr_string">"privacy"</span>);
+<a class="jxr_linenumber" name="227" href="#227">227</a>     callRpcService(User.create(ugi));
+<a class="jxr_linenumber" name="228" href="#228">228</a>   }
+<a class="jxr_linenumber" name="229" href="#229">229</a> 
+<a class="jxr_linenumber" name="230" href="#230">230</a>   <strong class="jxr_keyword">private</strong> UserGroupInformation loginKerberosPrincipal(String krbKeytab, String krbPrincipal)
+<a class="jxr_linenumber" name="231" href="#231">231</a>       <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="232" href="#232">232</a>     Configuration cnf = <strong class="jxr_keyword">new</strong> Configuration();
+<a class="jxr_linenumber" name="233" href="#233">233</a>     cnf.set(CommonConfigurationKeys.HADOOP_SECURITY_AUTHENTICATION, <span class="jxr_string">"kerberos"</span>);
+<a class="jxr_linenumber" name="234" href="#234">234</a>     UserGroupInformation.setConfiguration(cnf);
+<a class="jxr_linenumber" name="235" href="#235">235</a>     UserGroupInformation.loginUserFromKeytab(krbPrincipal, krbKeytab);
+<a class="jxr_linenumber" name="236" href="#236">236</a>     <strong class="jxr_keyword">return</strong> UserGroupInformation.getLoginUser();
+<a class="jxr_linenumber" name="237" href="#237">237</a>   }
 <a class="jxr_linenumber" name="238" href="#238">238</a> 
-<a class="jxr_linenumber" name="239" href="#239">239</a>       assertEquals(0xDEADBEEF, results.get(0).intValue());
-<a class="jxr_linenumber" name="240" href="#240">240</a>     } <strong class="jxr_keyword">finally</strong> {
-<a class="jxr_linenumber" name="241" href="#241">241</a>       rpcClient.close();
-<a class="jxr_linenumber" name="242" href="#242">242</a>       rpcServer.stop();
-<a class="jxr_linenumber" name="243" href="#243">243</a>     }
-<a class="jxr_linenumber" name="244" href="#244">244</a>   }
-<a class="jxr_linenumber" name="245" href="#245">245</a> }
+<a class="jxr_linenumber" name="239" href="#239">239</a>   <em class="jxr_javadoccomment">/**</em>
+<a class="jxr_linenumber" name="240" href="#240">240</a> <em class="jxr_javadoccomment">   * Sets up a RPC Server and a Client. Does a RPC checks the result. If an exception is thrown</em>
+<a class="jxr_linenumber" name="241" href="#241">241</a> <em class="jxr_javadoccomment">   * from the stub, this function will throw root cause of that exception.</em>
+<a class="jxr_linenumber" name="242" href="#242">242</a> <em class="jxr_javadoccomment">   */</em>
+<a class="jxr_linenumber" name="243" href="#243">243</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> callRpcService(User clientUser) <strong class="jxr_keyword">throws</strong> Exception {
+<a class="jxr_linenumber" name="244" href="#244">244</a>     SecurityInfo securityInfoMock = Mockito.mock(SecurityInfo.<strong class="jxr_keyword">class</strong>);
+<a class="jxr_linenumber" name="245" href="#245">245</a>     Mockito.when(securityInfoMock.getServerPrincipal())
+<a class="jxr_linenumber" name="246" href="#246">246</a>         .thenReturn(HBaseKerberosUtils.KRB_PRINCIPAL);
+<a class="jxr_linenumber" name="247" href="#247">247</a>     SecurityInfo.addInfo(<span class="jxr_string">"TestProtobufRpcProto"</span>, securityInfoMock);
+<a class="jxr_linenumber" name="248" href="#248">248</a> 
+<a class="jxr_linenumber" name="249" href="#249">249</a>     InetSocketAddress isa = <strong class="jxr_keyword">new</strong> InetSocketAddress(HOST, 0);
+<a class="jxr_linenumber" name="250" href="#250">250</a> 
+<a class="jxr_linenumber" name="251" href="#251">251</a>     RpcServerInterface rpcServer =
+<a class="jxr_linenumber" name="252" href="#252">252</a>         <strong class="jxr_keyword">new</strong> RpcServer(<strong class="jxr_keyword">null</strong>, <span class="jxr_string">"AbstractTestSecureIPC"</span>,
+<a class="jxr_linenumber" name="253" href="#253">253</a>             Lists.newArrayList(<strong class="jxr_keyword">new</strong> RpcServer.BlockingServiceAndInterface(SERVICE, <strong class="jxr_keyword">null</strong>)), isa,
+<a class="jxr_linenumber" name="254" href="#254">254</a>             serverConf, <strong class="jxr_keyword">new</strong> FifoRpcScheduler(serverConf, 1));
+<a class="jxr_linenumber" name="255" href="#255">255</a>     rpcServer.start();
+<a class="jxr_linenumber" name="256" href="#256">256</a>     <strong class="jxr_keyword">try</strong> (RpcClient rpcClient = RpcClientFactory.createClient(clientConf,
+<a class="jxr_linenumber" name="257" href="#257">257</a>         HConstants.DEFAULT_CLUSTER_ID.toString())) {
+<a class="jxr_linenumber" name="258" href="#258">258</a>       InetSocketAddress address = rpcServer.getListenerAddress();
+<a class="jxr_linenumber" name="259" href="#259">259</a>       <strong class="jxr_keyword">if</strong> (address == <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="260" href="#260">260</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IOException(<span class="jxr_string">"Listener channel is closed"</span>);
+<a class="jxr_linenumber" name="261" href="#261">261</a>       }
+<a class="jxr_linenumber" name="262" href="#262">262</a>       BlockingRpcChannel channel =
+<a class="jxr_linenumber" name="263" href="#263">263</a>           rpcClient.createBlockingRpcChannel(
+<a class="jxr_linenumber" name="264" href="#264">264</a>               ServerName.valueOf(address.getHostName(), address.getPort(),
+<a class="jxr_linenumber" name="265" href="#265">265</a>                   System.currentTimeMillis()), clientUser, 0);
+<a class="jxr_linenumber" name="266" href="#266">266</a>       TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface stub =
+<a class="jxr_linenumber" name="267" href="#267">267</a>           TestRpcServiceProtos.TestProtobufRpcProto.newBlockingStub(channel);
+<a class="jxr_linenumber" name="268" href="#268">268</a>       List&lt;String&gt; results = <strong class="jxr_keyword">new</strong> ArrayList&lt;&gt;();
+<a class="jxr_linenumber" name="269" href="#269">269</a>       <a href="../../../../../org/apache/hadoop/hbase/MultithreadedTestUtil.html">TestThread</a> th1 = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/MultithreadedTestUtil.html">TestThread</a>(stub, results);
+<a class="jxr_linenumber" name="270" href="#270">270</a>       <strong class="jxr_keyword">final</strong> Throwable exception[] = <strong class="jxr_keyword">new</strong> Throwable[1];
+<a class="jxr_linenumber" name="271" href="#271">271</a>       Collections.synchronizedList(<strong class="jxr_keyword">new</strong> ArrayList&lt;Throwable&gt;());
+<a class="jxr_linenumber" name="272" href="#272">272</a>       Thread.UncaughtExceptionHandler exceptionHandler =
+<a class="jxr_linenumber" name="273" href="#273">273</a>           <strong class="jxr_keyword">new</strong> Thread.UncaughtExceptionHandler() {
+<a class="jxr_linenumber" name="274" href="#274">274</a>             <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> uncaughtException(Thread th, Throwable ex) {
+<a class="jxr_linenumber" name="275" href="#275">275</a>               exception[0] = ex;
+<a class="jxr_linenumber" name="276" href="#276">276</a>             }
+<a class="jxr_linenumber" name="277" href="#277">277</a>           };
+<a class="jxr_linenumber" name="278" href="#278">278</a>       th1.setUncaughtExceptionHandler(exceptionHandler);
+<a class="jxr_linenumber" name="279" href="#279">279</a>       th1.start();
+<a class="jxr_linenumber" name="280" href="#280">280</a>       th1.join();
+<a class="jxr_linenumber" name="281" href="#281">281</a>       <strong class="jxr_keyword">if</strong> (exception[0] != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="282" href="#282">282</a>         <em class="jxr_comment">// throw root cause.</em>
+<a class="jxr_linenumber" name="283" href="#283">283</a>         <strong class="jxr_keyword">while</strong> (exception[0].getCause() != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="284" href="#284">284</a>           exception[0] = exception[0].getCause();
+<a class="jxr_linenumber" name="285" href="#285">285</a>         }
+<a class="jxr_linenumber" name="286" href="#286">286</a>         <strong class="jxr_keyword">throw</strong> (Exception) exception[0];
+<a class="jxr_linenumber" name="287" href="#287">287</a>       }
+<a class="jxr_linenumber" name="288" href="#288">288</a>     } <strong class="jxr_keyword">finally</strong> {
+<a class="jxr_linenumber" name="289" href="#289">289</a>       rpcServer.stop();
+<a class="jxr_linenumber" name="290" href="#290">290</a>     }
+<a class="jxr_linenumber" name="291" href="#291">291</a>   }
+<a class="jxr_linenumber" name="292" href="#292">292</a> 
+<a class="jxr_linenumber" name="293" href="#293">293</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/hadoop/hbase/MultithreadedTestUtil.html">TestThread</a> <strong class="jxr_keyword">extends</strong> Thread {
+<a class="jxr_linenumber" name="294" href="#294">294</a>       <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface stub;
+<a class="jxr_linenumber" name="295" href="#295">295</a> 
+<a class="jxr_linenumber" name="296" href="#296">296</a>       <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> List&lt;String&gt; results;
+<a class="jxr_linenumber" name="297" href="#297">297</a> 
+<a class="jxr_linenumber" name="298" href="#298">298</a>           <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/hadoop/hbase/MultithreadedTestUtil.html">TestThread</a>(TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface stub, List&lt;String&gt; results) {
+<a class="jxr_linenumber" name="299" href="#299">299</a>           <strong class="jxr_keyword">this</strong>.stub = stub;
+<a class="jxr_linenumber" name="300" href="#300">300</a>           <strong class="jxr_keyword">this</strong>.results = results;
+<a class="jxr_linenumber" name="301" href="#301">301</a>         }
+<a class="jxr_linenumber" name="302" href="#302">302</a> 
+<a class="jxr_linenumber" name="303" href="#303">303</a>           @Override
+<a class="jxr_linenumber" name="304" href="#304">304</a>       <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() {
+<a class="jxr_linenumber" name="305" href="#305">305</a>           String result;
+<a class="jxr_linenumber" name="306" href="#306">306</a>           <strong class="jxr_keyword">try</strong> {
+<a class="jxr_linenumber" name="307" href="#307">307</a>               result = stub.echo(<strong class="jxr_keyword">null</strong>, TestProtos.EchoRequestProto.newBuilder().setMessage(String.valueOf(
+<a class="jxr_linenumber" name="308" href="#308">308</a>                   ThreadLocalRandom.current().nextInt())).build()).getMessage();
+<a class="jxr_linenumber" name="309" href="#309">309</a>             } <strong class="jxr_keyword">catch</strong> (ServiceException e) {
+<a class="jxr_linenumber" name="310" href="#310">310</a>               <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeException(e);
+<a class="jxr_linenumber" name="311" href="#311">311</a>             }
+<a class="jxr_linenumber" name="312" href="#312">312</a>           <strong class="jxr_keyword">if</strong> (results != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="313" href="#313">313</a>               <strong class="jxr_keyword">synchronized</strong> (results) {
+<a class="jxr_linenumber" name="314" href="#314">314</a>                   results.add(result);
+<a class="jxr_linenumber" name="315" href="#315">315</a>                 }
+<a class="jxr_linenumber" name="316" href="#316">316</a>             }
+<a class="jxr_linenumber" name="317" href="#317">317</a>         }
+<a class="jxr_linenumber" name="318" href="#318">318</a>     }
+<a class="jxr_linenumber" name="319" href="#319">319</a> }
 </pre>
 <hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
 </html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/xref-test/org/apache/hadoop/hbase/security/package-frame.html
----------------------------------------------------------------------
diff --git a/xref-test/org/apache/hadoop/hbase/security/package-frame.html b/xref-test/org/apache/hadoop/hbase/security/package-frame.html
index 2af1fa3..103d66b 100644
--- a/xref-test/org/apache/hadoop/hbase/security/package-frame.html
+++ b/xref-test/org/apache/hadoop/hbase/security/package-frame.html
@@ -40,6 +40,9 @@
             	<a href="TestSecureIPC.html" target="classFrame">TestSecureIPC</a>
           	</li>
           	          	<li>
+            	<a href="AbstractTestSecureIPC.html" target="classFrame">TestThread</a>
+          	</li>
+          	          	<li>
             	<a href="TestUser.html" target="classFrame">TestUser</a>
           	</li>
           	          	<li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/xref-test/org/apache/hadoop/hbase/security/package-summary.html
----------------------------------------------------------------------
diff --git a/xref-test/org/apache/hadoop/hbase/security/package-summary.html b/xref-test/org/apache/hadoop/hbase/security/package-summary.html
index 8d23163..3c49e31 100644
--- a/xref-test/org/apache/hadoop/hbase/security/package-summary.html
+++ b/xref-test/org/apache/hadoop/hbase/security/package-summary.html
@@ -77,6 +77,11 @@
             	</tr>
 				            	<tr>
               		<td>
+                		<a href="AbstractTestSecureIPC.html" target="classFrame">TestThread</a>
+              		</td>
+            	</tr>
+				            	<tr>
+              		<td>
                 		<a href="TestUser.html" target="classFrame">TestUser</a>
               		</td>
             	</tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/xref/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/xref/allclasses-frame.html b/xref/allclasses-frame.html
index ab511f7..b88e295 100644
--- a/xref/allclasses-frame.html
+++ b/xref/allclasses-frame.html
@@ -1434,9 +1434,6 @@
 				<a href="org/apache/hadoop/hbase/security/visibility/DefinedSetFilterScanLabelGenerator.html" target="classFrame">DefinedSetFilterScanLabelGenerator</a>
 			</li>
 						<li>
-				<a href="org/apache/hadoop/hbase/ipc/Delayable.html" target="classFrame">Delayable</a>
-			</li>
-						<li>
 				<a href="org/apache/hadoop/hbase/client/DelayingRunner.html" target="classFrame">DelayingRunner</a>
 			</li>
 						<li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/xref/org/apache/hadoop/hbase/ipc/CallRunner.html
----------------------------------------------------------------------
diff --git a/xref/org/apache/hadoop/hbase/ipc/CallRunner.html b/xref/org/apache/hadoop/hbase/ipc/CallRunner.html
index 3b91eee..850adbe 100644
--- a/xref/org/apache/hadoop/hbase/ipc/CallRunner.html
+++ b/xref/org/apache/hadoop/hbase/ipc/CallRunner.html
@@ -135,43 +135,40 @@
 <a class="jxr_linenumber" name="125" href="#125">125</a>           sucessful = <strong class="jxr_keyword">true</strong>;
 <a class="jxr_linenumber" name="126" href="#126">126</a>         }
 <a class="jxr_linenumber" name="127" href="#127">127</a>       }
-<a class="jxr_linenumber" name="128" href="#128">128</a>       <em class="jxr_comment">// Set the response for undelayed calls and delayed calls with</em>
-<a class="jxr_linenumber" name="129" href="#129">129</a>       <em class="jxr_comment">// undelayed responses.</em>
-<a class="jxr_linenumber" name="130" href="#130">130</a>       <strong class="jxr_keyword">if</strong> (!call.isDelayed() || !call.isReturnValueDelayed()) {
-<a class="jxr_linenumber" name="131" href="#131">131</a>         Message param = resultPair != <strong class="jxr_keyword">null</strong> ? resultPair.getFirst() : <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="132" href="#132">132</a>         <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html">CellScanner</a> cells = resultPair != <strong class="jxr_keyword">null</strong> ? resultPair.getSecond() : <strong class="jxr_keyword">null</strong>;
-<a class="jxr_linenumber" name="133" href="#133">133</a>         call.setResponse(param, cells, errorThrowable, error);
-<a class="jxr_linenumber" name="134" href="#134">134</a>       }
-<a class="jxr_linenumber" name="135" href="#135">135</a>       call.sendResponseIfReady();
-<a class="jxr_linenumber" name="136" href="#136">136</a>       <strong class="jxr_keyword">this</strong>.status.markComplete(<span class="jxr_string">"Sent response"</span>);
-<a class="jxr_linenumber" name="137" href="#137">137</a>       <strong class="jxr_keyword">this</strong>.status.pause(<span class="jxr_string">"Waiting for a call"</span>);
-<a class="jxr_linenumber" name="138" href="#138">138</a>     } <strong class="jxr_keyword">catch</strong> (OutOfMemoryError e) {
-<a class="jxr_linenumber" name="139" href="#139">139</a>       <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.rpcServer.getErrorHandler() != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="140" href="#140">140</a>         <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.rpcServer.getErrorHandler().checkOOME(e)) {
-<a class="jxr_linenumber" name="141" href="#141">141</a>           RpcServer.LOG.info(Thread.currentThread().getName() + <span class="jxr_string">": exiting on OutOfMemoryError"</span>);
-<a class="jxr_linenumber" name="142" href="#142">142</a>           <strong class="jxr_keyword">return</strong>;
-<a class="jxr_linenumber" name="143" href="#143">143</a>         }
-<a class="jxr_linenumber" name="144" href="#144">144</a>       } <strong class="jxr_keyword">else</strong> {
-<a class="jxr_linenumber" name="145" href="#145">145</a>         <em class="jxr_comment">// rethrow if no handler</em>
-<a class="jxr_linenumber" name="146" href="#146">146</a>         <strong class="jxr_keyword">throw</strong> e;
-<a class="jxr_linenumber" name="147" href="#147">147</a>       }
-<a class="jxr_linenumber" name="148" href="#148">148</a>     } <strong class="jxr_keyword">catch</strong> (ClosedChannelException cce) {
-<a class="jxr_linenumber" name="149" href="#149">149</a>       InetSocketAddress address = rpcServer.getListenerAddress();
-<a class="jxr_linenumber" name="150" href="#150">150</a>       RpcServer.LOG.warn(Thread.currentThread().getName() + <span class="jxr_string">": caught a ClosedChannelException, "</span> +
-<a class="jxr_linenumber" name="151" href="#151">151</a>           <span class="jxr_string">"this means that the server "</span> + (address != <strong class="jxr_keyword">null</strong> ? address : <span class="jxr_string">"(channel closed)"</span>) +
-<a class="jxr_linenumber" name="152" href="#152">152</a>           <span class="jxr_string">" was processing a request but the client went away. The error message was: "</span> +
-<a class="jxr_linenumber" name="153" href="#153">153</a>           cce.getMessage());
-<a class="jxr_linenumber" name="154" href="#154">154</a>     } <strong class="jxr_keyword">catch</strong> (Exception e) {
-<a class="jxr_linenumber" name="155" href="#155">155</a>       RpcServer.LOG.warn(Thread.currentThread().getName()
-<a class="jxr_linenumber" name="156" href="#156">156</a>           + <span class="jxr_string">": caught: "</span> + StringUtils.stringifyException(e));
-<a class="jxr_linenumber" name="157" href="#157">157</a>     } <strong class="jxr_keyword">finally</strong> {
-<a class="jxr_linenumber" name="158" href="#158">158</a>       <strong class="jxr_keyword">if</strong> (!sucessful) {
-<a class="jxr_linenumber" name="159" href="#159">159</a>         <strong class="jxr_keyword">this</strong>.rpcServer.addCallSize(call.getSize() * -1);
-<a class="jxr_linenumber" name="160" href="#160">160</a>       }
-<a class="jxr_linenumber" name="161" href="#161">161</a>       cleanup();
-<a class="jxr_linenumber" name="162" href="#162">162</a>     }
-<a class="jxr_linenumber" name="163" href="#163">163</a>   }
-<a class="jxr_linenumber" name="164" href="#164">164</a> }
+<a class="jxr_linenumber" name="128" href="#128">128</a>       <em class="jxr_comment">// Set the response</em>
+<a class="jxr_linenumber" name="129" href="#129">129</a>       Message param = resultPair != <strong class="jxr_keyword">null</strong> ? resultPair.getFirst() : <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="130" href="#130">130</a>       <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html">CellScanner</a> cells = resultPair != <strong class="jxr_keyword">null</strong> ? resultPair.getSecond() : <strong class="jxr_keyword">null</strong>;
+<a class="jxr_linenumber" name="131" href="#131">131</a>       call.setResponse(param, cells, errorThrowable, error);
+<a class="jxr_linenumber" name="132" href="#132">132</a>       call.sendResponseIfReady();
+<a class="jxr_linenumber" name="133" href="#133">133</a>       <strong class="jxr_keyword">this</strong>.status.markComplete(<span class="jxr_string">"Sent response"</span>);
+<a class="jxr_linenumber" name="134" href="#134">134</a>       <strong class="jxr_keyword">this</strong>.status.pause(<span class="jxr_string">"Waiting for a call"</span>);
+<a class="jxr_linenumber" name="135" href="#135">135</a>     } <strong class="jxr_keyword">catch</strong> (OutOfMemoryError e) {
+<a class="jxr_linenumber" name="136" href="#136">136</a>       <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.rpcServer.getErrorHandler() != <strong class="jxr_keyword">null</strong>) {
+<a class="jxr_linenumber" name="137" href="#137">137</a>         <strong class="jxr_keyword">if</strong> (<strong class="jxr_keyword">this</strong>.rpcServer.getErrorHandler().checkOOME(e)) {
+<a class="jxr_linenumber" name="138" href="#138">138</a>           RpcServer.LOG.info(Thread.currentThread().getName() + <span class="jxr_string">": exiting on OutOfMemoryError"</span>);
+<a class="jxr_linenumber" name="139" href="#139">139</a>           <strong class="jxr_keyword">return</strong>;
+<a class="jxr_linenumber" name="140" href="#140">140</a>         }
+<a class="jxr_linenumber" name="141" href="#141">141</a>       } <strong class="jxr_keyword">else</strong> {
+<a class="jxr_linenumber" name="142" href="#142">142</a>         <em class="jxr_comment">// rethrow if no handler</em>
+<a class="jxr_linenumber" name="143" href="#143">143</a>         <strong class="jxr_keyword">throw</strong> e;
+<a class="jxr_linenumber" name="144" href="#144">144</a>       }
+<a class="jxr_linenumber" name="145" href="#145">145</a>     } <strong class="jxr_keyword">catch</strong> (ClosedChannelException cce) {
+<a class="jxr_linenumber" name="146" href="#146">146</a>       InetSocketAddress address = rpcServer.getListenerAddress();
+<a class="jxr_linenumber" name="147" href="#147">147</a>       RpcServer.LOG.warn(Thread.currentThread().getName() + <span class="jxr_string">": caught a ClosedChannelException, "</span> +
+<a class="jxr_linenumber" name="148" href="#148">148</a>           <span class="jxr_string">"this means that the server "</span> + (address != <strong class="jxr_keyword">null</strong> ? address : <span class="jxr_string">"(channel closed)"</span>) +
+<a class="jxr_linenumber" name="149" href="#149">149</a>           <span class="jxr_string">" was processing a request but the client went away. The error message was: "</span> +
+<a class="jxr_linenumber" name="150" href="#150">150</a>           cce.getMessage());
+<a class="jxr_linenumber" name="151" href="#151">151</a>     } <strong class="jxr_keyword">catch</strong> (Exception e) {
+<a class="jxr_linenumber" name="152" href="#152">152</a>       RpcServer.LOG.warn(Thread.currentThread().getName()
+<a class="jxr_linenumber" name="153" href="#153">153</a>           + <span class="jxr_string">": caught: "</span> + StringUtils.stringifyException(e));
+<a class="jxr_linenumber" name="154" href="#154">154</a>     } <strong class="jxr_keyword">finally</strong> {
+<a class="jxr_linenumber" name="155" href="#155">155</a>       <strong class="jxr_keyword">if</strong> (!sucessful) {
+<a class="jxr_linenumber" name="156" href="#156">156</a>         <strong class="jxr_keyword">this</strong>.rpcServer.addCallSize(call.getSize() * -1);
+<a class="jxr_linenumber" name="157" href="#157">157</a>       }
+<a class="jxr_linenumber" name="158" href="#158">158</a>       cleanup();
+<a class="jxr_linenumber" name="159" href="#159">159</a>     }
+<a class="jxr_linenumber" name="160" href="#160">160</a>   }
+<a class="jxr_linenumber" name="161" href="#161">161</a> }
 </pre>
 <hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
 </html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/xref/org/apache/hadoop/hbase/ipc/Delayable.html
----------------------------------------------------------------------
diff --git a/xref/org/apache/hadoop/hbase/ipc/Delayable.html b/xref/org/apache/hadoop/hbase/ipc/Delayable.html
deleted file mode 100644
index 8b13879..0000000
--- a/xref/org/apache/hadoop/hbase/ipc/Delayable.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<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" />
-<title>Delayable xref</title>
-<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
-</head>
-<body>
-<div id="overview"><a href="../../../../../../devapidocs/org/apache/hadoop/hbase/ipc/Delayable.html">View Javadoc</a></div><pre>
-
-<a class="jxr_linenumber" name="1" href="#1">1</a>   <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="2" href="#2">2</a>   <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="3" href="#3">3</a>   <em class="jxr_javadoccomment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
-<a class="jxr_linenumber" name="4" href="#4">4</a>   <em class="jxr_javadoccomment"> * or more contributor license agreements.  See the NOTICE file</em>
-<a class="jxr_linenumber" name="5" href="#5">5</a>   <em class="jxr_javadoccomment"> * distributed with this work for additional information</em>
-<a class="jxr_linenumber" name="6" href="#6">6</a>   <em class="jxr_javadoccomment"> * regarding copyright ownership.  The ASF licenses this file</em>
-<a class="jxr_linenumber" name="7" href="#7">7</a>   <em class="jxr_javadoccomment"> * to you under the Apache License, Version 2.0 (the</em>
-<a class="jxr_linenumber" name="8" href="#8">8</a>   <em class="jxr_javadoccomment"> * "License"); you may not use this file except in compliance</em>
-<a class="jxr_linenumber" name="9" href="#9">9</a>   <em class="jxr_javadoccomment"> * with the License.  You may obtain a copy of the License at</em>
-<a class="jxr_linenumber" name="10" href="#10">10</a>  <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="11" href="#11">11</a>  <em class="jxr_javadoccomment"> *     <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
-<a class="jxr_linenumber" name="12" href="#12">12</a>  <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="13" href="#13">13</a>  <em class="jxr_javadoccomment"> * Unless required by applicable law or agreed to in writing, software</em>
-<a class="jxr_linenumber" name="14" href="#14">14</a>  <em class="jxr_javadoccomment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
-<a class="jxr_linenumber" name="15" href="#15">15</a>  <em class="jxr_javadoccomment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
-<a class="jxr_linenumber" name="16" href="#16">16</a>  <em class="jxr_javadoccomment"> * See the License for the specific language governing permissions and</em>
-<a class="jxr_linenumber" name="17" href="#17">17</a>  <em class="jxr_javadoccomment"> * limitations under the License.</em>
-<a class="jxr_linenumber" name="18" href="#18">18</a>  <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="19" href="#19">19</a>  <strong class="jxr_keyword">package</strong> org.apache.hadoop.hbase.ipc;
-<a class="jxr_linenumber" name="20" href="#20">20</a>  
-<a class="jxr_linenumber" name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
-<a class="jxr_linenumber" name="22" href="#22">22</a>  
-<a class="jxr_linenumber" name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.classification.InterfaceAudience;
-<a class="jxr_linenumber" name="24" href="#24">24</a>  
-<a class="jxr_linenumber" name="25" href="#25">25</a>  <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="26" href="#26">26</a>  <em class="jxr_javadoccomment"> * A call whose response can be delayed by the server.</em>
-<a class="jxr_linenumber" name="27" href="#27">27</a>  <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="28" href="#28">28</a>  @InterfaceAudience.Private
-<a class="jxr_linenumber" name="29" href="#29">29</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html">Delayable</a> {
-<a class="jxr_linenumber" name="30" href="#30">30</a>    <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="31" href="#31">31</a>  <em class="jxr_javadoccomment">   * Signal that the call response should be delayed, thus freeing the RPC</em>
-<a class="jxr_linenumber" name="32" href="#32">32</a>  <em class="jxr_javadoccomment">   * server to handle different requests.</em>
-<a class="jxr_linenumber" name="33" href="#33">33</a>  <em class="jxr_javadoccomment">   *</em>
-<a class="jxr_linenumber" name="34" href="#34">34</a>  <em class="jxr_javadoccomment">   * @param delayReturnValue Controls whether the return value of the call</em>
-<a class="jxr_linenumber" name="35" href="#35">35</a>  <em class="jxr_javadoccomment">   * should be set when ending the delay or right away.  There are cases when</em>
-<a class="jxr_linenumber" name="36" href="#36">36</a>  <em class="jxr_javadoccomment">   * the return value can be set right away, even if the call is delayed.</em>
-<a class="jxr_linenumber" name="37" href="#37">37</a>  <em class="jxr_javadoccomment">   */</em>
-<a class="jxr_linenumber" name="38" href="#38">38</a>    <strong class="jxr_keyword">void</strong> startDelay(<strong class="jxr_keyword">boolean</strong> delayReturnValue);
-<a class="jxr_linenumber" name="39" href="#39">39</a>  
-<a class="jxr_linenumber" name="40" href="#40">40</a>    <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="41" href="#41">41</a>  <em class="jxr_javadoccomment">   * @return is the call delayed?</em>
-<a class="jxr_linenumber" name="42" href="#42">42</a>  <em class="jxr_javadoccomment">   */</em>
-<a class="jxr_linenumber" name="43" href="#43">43</a>    <strong class="jxr_keyword">boolean</strong> isDelayed();
-<a class="jxr_linenumber" name="44" href="#44">44</a>  
-<a class="jxr_linenumber" name="45" href="#45">45</a>    <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="46" href="#46">46</a>  <em class="jxr_javadoccomment">   * @return is the return value delayed?</em>
-<a class="jxr_linenumber" name="47" href="#47">47</a>  <em class="jxr_javadoccomment">   */</em>
-<a class="jxr_linenumber" name="48" href="#48">48</a>    <strong class="jxr_keyword">boolean</strong> isReturnValueDelayed();
-<a class="jxr_linenumber" name="49" href="#49">49</a>  
-<a class="jxr_linenumber" name="50" href="#50">50</a>    <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="51" href="#51">51</a>  <em class="jxr_javadoccomment">   * Signal that the  RPC server is now allowed to send the response.</em>
-<a class="jxr_linenumber" name="52" href="#52">52</a>  <em class="jxr_javadoccomment">   * @param result The value to return to the caller.  If the corresponding</em>
-<a class="jxr_linenumber" name="53" href="#53">53</a>  <em class="jxr_javadoccomment">   * delay response specified that the return value should</em>
-<a class="jxr_linenumber" name="54" href="#54">54</a>  <em class="jxr_javadoccomment">   * not be delayed, this parameter must be null.</em>
-<a class="jxr_linenumber" name="55" href="#55">55</a>  <em class="jxr_javadoccomment">   * @throws IOException</em>
-<a class="jxr_linenumber" name="56" href="#56">56</a>  <em class="jxr_javadoccomment">   */</em>
-<a class="jxr_linenumber" name="57" href="#57">57</a>    <strong class="jxr_keyword">void</strong> endDelay(Object result) <strong class="jxr_keyword">throws</strong> IOException;
-<a class="jxr_linenumber" name="58" href="#58">58</a>  
-<a class="jxr_linenumber" name="59" href="#59">59</a>    <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="60" href="#60">60</a>  <em class="jxr_javadoccomment">   * Signal the end of a delayed RPC, without specifying the return value.  Use</em>
-<a class="jxr_linenumber" name="61" href="#61">61</a>  <em class="jxr_javadoccomment">   * this only if the return value was not delayed</em>
-<a class="jxr_linenumber" name="62" href="#62">62</a>  <em class="jxr_javadoccomment">   * @throws IOException</em>
-<a class="jxr_linenumber" name="63" href="#63">63</a>  <em class="jxr_javadoccomment">   */</em>
-<a class="jxr_linenumber" name="64" href="#64">64</a>    <strong class="jxr_keyword">void</strong> endDelay() <strong class="jxr_keyword">throws</strong> IOException;
-<a class="jxr_linenumber" name="65" href="#65">65</a>  
-<a class="jxr_linenumber" name="66" href="#66">66</a>    <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="67" href="#67">67</a>  <em class="jxr_javadoccomment">   * End the call, throwing and exception to the caller.  This works regardless</em>
-<a class="jxr_linenumber" name="68" href="#68">68</a>  <em class="jxr_javadoccomment">   * of the return value being delayed.</em>
-<a class="jxr_linenumber" name="69" href="#69">69</a>  <em class="jxr_javadoccomment">   * @param t Object to throw to the client.</em>
-<a class="jxr_linenumber" name="70" href="#70">70</a>  <em class="jxr_javadoccomment">   * @throws IOException</em>
-<a class="jxr_linenumber" name="71" href="#71">71</a>  <em class="jxr_javadoccomment">   */</em>
-<a class="jxr_linenumber" name="72" href="#72">72</a>    <strong class="jxr_keyword">void</strong> endDelayThrowing(Throwable t) <strong class="jxr_keyword">throws</strong> IOException;
-<a class="jxr_linenumber" name="73" href="#73">73</a>  }
-</pre>
-<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
-</html>
-

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/xref/org/apache/hadoop/hbase/ipc/RpcCallContext.html
----------------------------------------------------------------------
diff --git a/xref/org/apache/hadoop/hbase/ipc/RpcCallContext.html b/xref/org/apache/hadoop/hbase/ipc/RpcCallContext.html
index a7c97ee..4076f06 100644
--- a/xref/org/apache/hadoop/hbase/ipc/RpcCallContext.html
+++ b/xref/org/apache/hadoop/hbase/ipc/RpcCallContext.html
@@ -34,7 +34,7 @@
 <a class="jxr_linenumber" name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.security.User;
 <a class="jxr_linenumber" name="25" href="#25">25</a>  
 <a class="jxr_linenumber" name="26" href="#26">26</a>  @InterfaceAudience.Private
-<a class="jxr_linenumber" name="27" href="#27">27</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html">RpcCallContext</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html">Delayable</a> {
+<a class="jxr_linenumber" name="27" href="#27">27</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">interface</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html">RpcCallContext</a> {
 <a class="jxr_linenumber" name="28" href="#28">28</a>    <em class="jxr_javadoccomment">/**</em>
 <a class="jxr_linenumber" name="29" href="#29">29</a>  <em class="jxr_javadoccomment">   * Check if the caller who made this IPC call has disconnected.</em>
 <a class="jxr_linenumber" name="30" href="#30">30</a>  <em class="jxr_javadoccomment">   * If called from outside the context of IPC, this does nothing.</em>


[09/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.TestThread.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.TestThread.html b/testdevapidocs/org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.TestThread.html
deleted file mode 100644
index abeb01f..0000000
--- a/testdevapidocs/org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.TestThread.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.hadoop.hbase.ipc.TestDelayedRpc.TestThread (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class org.apache.hadoop.hbase.ipc.TestDelayedRpc.TestThread (Apache HBase 2.0.0-SNAPSHOT Test API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/ipc/TestDelayedRpc.TestThread.html" title="class in org.apache.hadoop.hbase.ipc">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/ipc/class-use/TestDelayedRpc.TestThread.html" target="_top">Frames</a></li>
-<li><a href="TestDelayedRpc.TestThread.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All 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.ipc.TestDelayedRpc.TestThread" class="title">Uses of Class<br>org.apache.hadoop.hbase.ipc.TestDelayedRpc.TestThread</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.hadoop.hbase.ipc.TestDelayedRpc.TestThread</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/ipc/TestDelayedRpc.TestThread.html" title="class in org.apache.hadoop.hbase.ipc">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/ipc/class-use/TestDelayedRpc.TestThread.html" target="_top">Frames</a></li>
-<li><a href="TestDelayedRpc.TestThread.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All 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;2016 <a href="http://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/6d411951/testdevapidocs/org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.html b/testdevapidocs/org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.html
deleted file mode 100644
index 4a00d71..0000000
--- a/testdevapidocs/org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.hadoop.hbase.ipc.TestDelayedRpc (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class org.apache.hadoop.hbase.ipc.TestDelayedRpc (Apache HBase 2.0.0-SNAPSHOT Test API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc">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/ipc/class-use/TestDelayedRpc.html" target="_top">Frames</a></li>
-<li><a href="TestDelayedRpc.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All 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.ipc.TestDelayedRpc" class="title">Uses of Class<br>org.apache.hadoop.hbase.ipc.TestDelayedRpc</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.hadoop.hbase.ipc.TestDelayedRpc</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc">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/ipc/class-use/TestDelayedRpc.html" target="_top">Frames</a></li>
-<li><a href="TestDelayedRpc.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All 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;2016 <a href="http://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/6d411951/testdevapidocs/org/apache/hadoop/hbase/ipc/package-frame.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/ipc/package-frame.html b/testdevapidocs/org/apache/hadoop/hbase/ipc/package-frame.html
index 4fa85da..121b6af 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/ipc/package-frame.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/ipc/package-frame.html
@@ -23,11 +23,6 @@
 <li><a href="TestAsyncIPC.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">TestAsyncIPC</a></li>
 <li><a href="TestBufferChain.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">TestBufferChain</a></li>
 <li><a href="TestCallRunner.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">TestCallRunner</a></li>
-<li><a href="TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">TestDelayedRpc</a></li>
-<li><a href="TestDelayedRpc.FaultyTestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">TestDelayedRpc.FaultyTestDelayedImplementation</a></li>
-<li><a href="TestDelayedRpc.ListAppender.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">TestDelayedRpc.ListAppender</a></li>
-<li><a href="TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">TestDelayedRpc.TestDelayedImplementation</a></li>
-<li><a href="TestDelayedRpc.TestThread.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">TestDelayedRpc.TestThread</a></li>
 <li><a href="TestGlobalEventLoopGroup.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">TestGlobalEventLoopGroup</a></li>
 <li><a href="TestHBaseClient.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">TestHBaseClient</a></li>
 <li><a href="TestIPC.html" title="class in org.apache.hadoop.hbase.ipc" target="classFrame">TestIPC</a></li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/org/apache/hadoop/hbase/ipc/package-summary.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/ipc/package-summary.html b/testdevapidocs/org/apache/hadoop/hbase/ipc/package-summary.html
index 48a7ff5..dd2ce74 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/ipc/package-summary.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/ipc/package-summary.html
@@ -129,84 +129,60 @@
 <td class="colLast">&nbsp;</td>
 </tr>
 <tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc</a></td>
-<td class="colLast">
-<div class="block">Test that delayed RPCs work.</div>
-</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.FaultyTestDelayedImplementation</a></td>
-<td class="colLast">
-<div class="block">Delayed calls to this class throw an exception.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.ListAppender</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.TestDelayedImplementation</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.TestThread</a></td>
-<td class="colLast">&nbsp;</td>
-</tr>
-<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/TestGlobalEventLoopGroup.html" title="class in org.apache.hadoop.hbase.ipc">TestGlobalEventLoopGroup</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/TestHBaseClient.html" title="class in org.apache.hadoop.hbase.ipc">TestHBaseClient</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/TestIPC.html" title="class in org.apache.hadoop.hbase.ipc">TestIPC</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/TestIPCUtil.html" title="class in org.apache.hadoop.hbase.ipc">TestIPCUtil</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/TestPayloadCarryingRpcController.html" title="class in org.apache.hadoop.hbase.ipc">TestPayloadCarryingRpcController</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/TestProtoBufRpc.html" title="class in org.apache.hadoop.hbase.ipc">TestProtoBufRpc</a></td>
 <td class="colLast">
 <div class="block">Test for testing protocol buffer based RPC mechanism.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/TestProtoBufRpc.PBServerImpl.html" title="class in org.apache.hadoop.hbase.ipc">TestProtoBufRpc.PBServerImpl</a></td>
 <td class="colLast">
 <div class="block">Implementation of the test service defined out in TestRpcServiceProtos</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/TestRpcClientLeaks.html" title="class in org.apache.hadoop.hbase.ipc">TestRpcClientLeaks</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/TestRpcClientLeaks.MyRpcClientImpl.html" title="class in org.apache.hadoop.hbase.ipc">TestRpcClientLeaks.MyRpcClientImpl</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/TestRpcHandlerException.html" title="class in org.apache.hadoop.hbase.ipc">TestRpcHandlerException</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/TestRpcHandlerException.TestRpcServer.html" title="class in org.apache.hadoop.hbase.ipc">TestRpcHandlerException.TestRpcServer</a></td>
 <td class="colLast">
 <div class="block">Instance of server.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/TestRpcMetrics.html" title="class in org.apache.hadoop.hbase.ipc">TestRpcMetrics</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/TestSimpleRpcScheduler.html" title="class in org.apache.hadoop.hbase.ipc">TestSimpleRpcScheduler</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/ipc/package-tree.html b/testdevapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
index f3db2c7..183cf0a 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
@@ -88,11 +88,6 @@
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/TestIPC.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestIPC</span></a></li>
 </ul>
 </li>
-<li type="circle">org.apache.log4j.AppenderSkeleton (implements org.apache.log4j.Appender, org.apache.log4j.spi.OptionHandler)
-<ul>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestDelayedRpc.ListAppender</span></a></li>
-</ul>
-</li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">IntegrationTestRpcClient</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.Cluster.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">IntegrationTestRpcClient.Cluster</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServerWrapperStub.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">MetricsHBaseServerWrapperStub</span></a> (implements org.apache.hadoop.hbase.ipc.MetricsHBaseServerWrapper)</li>
@@ -106,12 +101,6 @@
 </li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/TestBufferChain.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestBufferChain</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/TestCallRunner.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestCallRunner</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestDelayedRpc</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestDelayedRpc.TestDelayedImplementation</span></a> (implements org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestDelayedService.BlockingInterface)
-<ul>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestDelayedRpc.FaultyTestDelayedImplementation</span></a></li>
-</ul>
-</li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/TestGlobalEventLoopGroup.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestGlobalEventLoopGroup</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/TestHBaseClient.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestHBaseClient</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/TestIPCUtil.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestIPCUtil</span></a></li>
@@ -128,7 +117,6 @@
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.MiniChaosMonkey.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">IntegrationTestRpcClient.MiniChaosMonkey</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.SimpleClient.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">IntegrationTestRpcClient.SimpleClient</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/IntegrationTestRpcClient.TimeoutThread.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">IntegrationTestRpcClient.TimeoutThread</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">TestDelayedRpc.TestThread</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/org/apache/hadoop/hbase/ipc/package-use.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/ipc/package-use.html b/testdevapidocs/org/apache/hadoop/hbase/ipc/package-use.html
index dc0d5a0..99b3f8e 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/ipc/package-use.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/ipc/package-use.html
@@ -101,9 +101,6 @@
 <tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/IntegrationTestRpcClient.TestRpcServer.html#org.apache.hadoop.hbase.ipc">IntegrationTestRpcClient.TestRpcServer</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
-<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.TestDelayedImplementation.html#org.apache.hadoop.hbase.ipc">TestDelayedRpc.TestDelayedImplementation</a>&nbsp;</td>
-</tr>
 </tbody>
 </table>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 6ee0cfa..d25c357 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -505,14 +505,14 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/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/7/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/IntegrationTestDDLMasterFailover.ACTION.html" title="enum in org.apache.hadoop.hbase"><span class="strong">IntegrationTestDDLMasterFailover.ACTION</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="strong">IntegrationTestRegionReplicaPerf.Stat</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="strong">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="strong">ResourceChecker.Phase</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/PerformanceEvaluation.Counter.html" title="enum in org.apache.hadoop.hbase"><span class="strong">PerformanceEvaluation.Counter</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="strong">RESTApiClusterManager.Service</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HBaseClusterManager.CommandProvider.Operation.html" title="enum in org.apache.hadoop.hbase"><span class="strong">HBaseClusterManager.CommandProvider.Operation</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="strong">ResourceChecker.Phase</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="strong">RESTApiClusterManager.RoleCommand</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="strong">IntegrationTestDDLMasterFailover.ACTION</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="strong">IntegrationTestRegionReplicaPerf.Stat</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/ScanPerformanceEvaluation.ScanCounter.html" title="enum in org.apache.hadoop.hbase"><span class="strong">ScanPerformanceEvaluation.ScanCounter</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="strong">HBaseClusterManager.CommandProvider.Operation</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="strong">ClusterManager.ServiceType</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 b6de721..f45510d 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/procedure2/package-tree.html
@@ -145,8 +145,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/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/7/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="strong">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="strong">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="strong">TestProcedureRecovery.TestStateMachineProcedure.State</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html b/testdevapidocs/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html
new file mode 100644
index 0000000..4e26be3
--- /dev/null
+++ b/testdevapidocs/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html
@@ -0,0 +1,355 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<!-- NewPage -->
+<html lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>AbstractTestSecureIPC.TestThread (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
+<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
+</head>
+<body>
+<script type="text/javascript"><!--
+    if (location.href.indexOf('is-external=true') == -1) {
+        parent.document.title="AbstractTestSecureIPC.TestThread (Apache HBase 2.0.0-SNAPSHOT Test API)";
+    }
+//-->
+</script>
+<noscript>
+<div>JavaScript is disabled on your browser.</div>
+</noscript>
+<!-- ========= START OF TOP NAVBAR ======= -->
+<div class="topNav"><a name="navbar_top">
+<!--   -->
+</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/AbstractTestSecureIPC.TestThread.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/security/AbstractTestSecureIPC.html" title="class in org.apache.hadoop.hbase.security"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/security/HBaseKerberosUtils.html" title="class in org.apache.hadoop.hbase.security"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html" target="_top">Frames</a></li>
+<li><a href="AbstractTestSecureIPC.TestThread.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_top">
+<li><a href="../../../../../allclasses-noframe.html">All 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><a href="#nested_classes_inherited_from_class_java.lang.Thread">Nested</a>&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.security</div>
+<h2 title="Class AbstractTestSecureIPC.TestThread" class="title">Class AbstractTestSecureIPC.TestThread</h2>
+</div>
+<div class="contentContainer">
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
+<li>
+<ul class="inheritance">
+<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">java.lang.Thread</a></li>
+<li>
+<ul class="inheritance">
+<li>org.apache.hadoop.hbase.security.AbstractTestSecureIPC.TestThread</li>
+</ul>
+</li>
+</ul>
+</li>
+</ul>
+<div class="description">
+<ul class="blockList">
+<li class="blockList">
+<dl>
+<dt>All Implemented Interfaces:</dt>
+<dd><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></dd>
+</dl>
+<dl>
+<dt>Enclosing class:</dt>
+<dd><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html" title="class in org.apache.hadoop.hbase.security">AbstractTestSecureIPC</a></dd>
+</dl>
+<hr>
+<br>
+<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.293">AbstractTestSecureIPC.TestThread</a>
+extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></pre>
+</li>
+</ul>
+</div>
+<div class="summary">
+<ul class="blockList">
+<li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested_class_summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested_classes_inherited_from_class_java.lang.Thread">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.State.html?is-external=true" title="class or interface in java.lang">Thread.State</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang">Thread.UncaughtExceptionHandler</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- =========== FIELD SUMMARY =========== -->
+<ul class="blockList">
+<li class="blockList"><a name="field_summary">
+<!--   -->
+</a>
+<h3>Field Summary</h3>
+<table class="overviewSummary" 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 <a href="http://docs.oracle.com/javase/7/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/7/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><strong><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html#results">results</a></strong></code>&nbsp;</td>
+</tr>
+<tr class="rowColor">
+<td class="colFirst"><code>private org.apache.hadoop.hbase.ipc.protobuf.generated.TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html#stub">stub</a></strong></code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="fields_inherited_from_class_java.lang.Thread">
+<!--   -->
+</a>
+<h3>Fields inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#MAX_PRIORITY" title="class or interface in java.lang">MAX_PRIORITY</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#MIN_PRIORITY" title="class or interface in java.lang">MIN_PRIORITY</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#NORM_PRIORITY" title="class or interface in java.lang">NORM_PRIORITY</a></code></li>
+</ul>
+</li>
+</ul>
+<!-- ======== CONSTRUCTOR SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="constructor_summary">
+<!--   -->
+</a>
+<h3>Constructor Summary</h3>
+<table class="overviewSummary" 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><strong><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html#AbstractTestSecureIPC.TestThread(org.apache.hadoop.hbase.ipc.protobuf.generated.TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface,%20java.util.List)">AbstractTestSecureIPC.TestThread</a></strong>(org.apache.hadoop.hbase.ipc.protobuf.generated.TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface&nbsp;stub,
+                                                                <a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;results)</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
+<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Method and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>void</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html#run()">run</a></strong>()</code>&nbsp;</td>
+</tr>
+</table>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Thread">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
+<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#activeCount()" title="class or interface in java.lang">activeCount</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#checkAccess()" title="class or interface in java.lang">checkAccess</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#countStackFrames()" title="class or interface in java.lang">countStackFrames</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#currentThread()" title="class or interface in java.lang">currentThread</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#destroy()" title="class or interface in java.lang">destroy</a>, <a href="http://docs.oracle.com
 /javase/7/docs/api/java/lang/Thread.html?is-external=true#dumpStack()" title="class or interface in java.lang">dumpStack</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#enumerate(java.lang.Thread[])" title="class or interface in java.lang">enumerate</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#getAllStackTraces()" title="class or interface in java.lang">getAllStackTraces</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#getContextClassLoader()" title="class or interface in java.lang">getContextClassLoader</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#getDefaultUncaughtExceptionHandler()" title="class or interface in java.lang">getDefaultUncaughtExceptionHandler</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#getId()" title="class or interface in java.lan
 g">getId</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#getName()" title="class or interface in java.lang">getName</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#getPriority()" title="class or interface in java.lang">getPriority</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#getStackTrace()" title="class or interface in java.lang">getStackTrace</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#getState()" title="class or interface in java.lang">getState</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#getThreadGroup()" title="class or interface in java.lang">getThreadGroup</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#getUncaughtExceptionHandler()" title="class or interface in java.lang">getUncaughtExceptionHa
 ndler</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#holdsLock(java.lang.Object)" title="class or interface in java.lang">holdsLock</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#interrupt()" title="class or interface in java.lang">interrupt</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#interrupted()" title="class or interface in java.lang">interrupted</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#isAlive()" title="class or interface in java.lang">isAlive</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#isDaemon()" title="class or interface in java.lang">isDaemon</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#isInterrupted()" title="class or interface in java.lang">isInterrupted</a>, <a href="http://docs.o
 racle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#join()" title="class or interface in java.lang">join</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#join(long)" title="class or interface in java.lang">join</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#join(long,%20int)" title="class or interface in java.lang">join</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#resume()" title="class or interface in java.lang">resume</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#setContextClassLoader(java.lang.ClassLoader)" title="class or interface in java.lang">setContextClassLoader</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#setDaemon(boolean)" title="class or interface in java.lang">setDaemon</a>, <a href="http://docs.oracle.com/javase/7/docs/
 api/java/lang/Thread.html?is-external=true#setDefaultUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler)" title="class or interface in java.lang">setDefaultUncaughtExceptionHandler</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#setName(java.lang.String)" title="class or interface in java.lang">setName</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#setPriority(int)" title="class or interface in java.lang">setPriority</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#setUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler)" title="class or interface in java.lang">setUncaughtExceptionHandler</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#sleep(long)" title="class or interface in java.lang">sleep</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-
 external=true#sleep(long,%20int)" title="class or interface in java.lang">sleep</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#start()" title="class or interface in java.lang">start</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#stop()" title="class or interface in java.lang">stop</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#stop(java.lang.Throwable)" title="class or interface in java.lang">stop</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#suspend()" title="class or interface in java.lang">suspend</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#yield()" title="class or interface in java.lang">yiel
 d</a></code></li>
+</ul>
+<ul class="blockList">
+<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
+<!--   -->
+</a>
+<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/docs/api/j
 ava/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" 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="stub">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>stub</h4>
+<pre>private final&nbsp;org.apache.hadoop.hbase.ipc.protobuf.generated.TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface <a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html#line.294">stub</a></pre>
+</li>
+</ul>
+<a name="results">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>results</h4>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/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/7/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/AbstractTestSecureIPC.TestThread.html#line.296">results</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="AbstractTestSecureIPC.TestThread(org.apache.hadoop.hbase.ipc.protobuf.generated.TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface, java.util.List)">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>AbstractTestSecureIPC.TestThread</h4>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html#line.298">AbstractTestSecureIPC.TestThread</a>(org.apache.hadoop.hbase.ipc.protobuf.generated.TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface&nbsp;stub,
+                                <a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&gt;&nbsp;results)</pre>
+</li>
+</ul>
+</li>
+</ul>
+<!-- ============ METHOD DETAIL ========== -->
+<ul class="blockList">
+<li class="blockList"><a name="method_detail">
+<!--   -->
+</a>
+<h3>Method Detail</h3>
+<a name="run()">
+<!--   -->
+</a>
+<ul class="blockListLast">
+<li class="blockList">
+<h4>run</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html#line.304">run</a>()</pre>
+<dl>
+<dt><strong>Specified by:</strong></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
+<dt><strong>Overrides:</strong></dt>
+<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#run()" title="class or interface in java.lang">run</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/AbstractTestSecureIPC.TestThread.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/security/AbstractTestSecureIPC.html" title="class in org.apache.hadoop.hbase.security"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/security/HBaseKerberosUtils.html" title="class in org.apache.hadoop.hbase.security"><span class="strong">Next Class</span></a></li>
+</ul>
+<ul class="navList">
+<li><a href="../../../../../index.html?org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html" target="_top">Frames</a></li>
+<li><a href="AbstractTestSecureIPC.TestThread.html" target="_top">No Frames</a></li>
+</ul>
+<ul class="navList" id="allclasses_navbar_bottom">
+<li><a href="../../../../../allclasses-noframe.html">All 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><a href="#nested_classes_inherited_from_class_java.lang.Thread">Nested</a>&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;2016 <a href="http://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/6d411951/testdevapidocs/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html b/testdevapidocs/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html
index 78e8169..97638fc 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html
@@ -36,7 +36,7 @@
 <div class="subNav">
 <ul class="navList">
 <li>Prev Class</li>
-<li><a href="../../../../../org/apache/hadoop/hbase/security/HBaseKerberosUtils.html" title="class in org.apache.hadoop.hbase.security"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html" target="_top">Frames</a></li>
@@ -60,7 +60,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested_class_summary">Nested</a>&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>
@@ -99,7 +99,7 @@
 </dl>
 <hr>
 <br>
-<pre>public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.66">AbstractTestSecureIPC</a>
+<pre>public abstract class <a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.72">AbstractTestSecureIPC</a>
 extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
 </li>
 </ul>
@@ -107,6 +107,25 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested_class_summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
+<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
+<tr>
+<th class="colFirst" scope="col">Modifier and Type</th>
+<th class="colLast" scope="col">Class and Description</th>
+</tr>
+<tr class="altColor">
+<td class="colFirst"><code>static class&nbsp;</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security">AbstractTestSecureIPC.TestThread</a></strong></code>&nbsp;</td>
+</tr>
+</table>
+</li>
+</ul>
 <!-- =========== FIELD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="field_summary">
@@ -156,10 +175,14 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#serverConf">serverConf</a></strong></code>&nbsp;</td>
 </tr>
 <tr class="rowColor">
+<td class="colFirst"><code>(package private) static com.google.protobuf.BlockingService</code></td>
+<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#SERVICE">SERVICE</a></strong></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><strong><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#TEST_UTIL">TEST_UTIL</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><code>(package private) org.apache.hadoop.security.UserGroupInformation</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#ugi">ugi</a></strong></code>&nbsp;</td>
 </tr>
@@ -273,7 +296,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>TEST_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/security/AbstractTestSecureIPC.html#line.68">TEST_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/security/AbstractTestSecureIPC.html#line.74">TEST_UTIL</a></pre>
 </li>
 </ul>
 <a name="KEYTAB_FILE">
@@ -282,7 +305,16 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>KEYTAB_FILE</h4>
-<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.70">KEYTAB_FILE</a></pre>
+<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/io/File.html?is-external=true" title="class or interface in java.io">File</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.76">KEYTAB_FILE</a></pre>
+</li>
+</ul>
+<a name="SERVICE">
+<!--   -->
+</a>
+<ul class="blockList">
+<li class="blockList">
+<h4>SERVICE</h4>
+<pre>static final&nbsp;com.google.protobuf.BlockingService <a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.79">SERVICE</a></pre>
 </li>
 </ul>
 <a name="KDC">
@@ -291,7 +323,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>KDC</h4>
-<pre>private static&nbsp;org.apache.hadoop.minikdc.MiniKdc <a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.73">KDC</a></pre>
+<pre>private static&nbsp;org.apache.hadoop.minikdc.MiniKdc <a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.128">KDC</a></pre>
 </li>
 </ul>
 <a name="HOST">
@@ -300,7 +332,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>HOST</h4>
-<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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/AbstractTestSecureIPC.html#line.74">HOST</a></pre>
+<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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/AbstractTestSecureIPC.html#line.129">HOST</a></pre>
 </li>
 </ul>
 <a name="PRINCIPAL">
@@ -309,7 +341,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>PRINCIPAL</h4>
-<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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/AbstractTestSecureIPC.html#line.75">PRINCIPAL</a></pre>
+<pre>private static&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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/AbstractTestSecureIPC.html#line.130">PRINCIPAL</a></pre>
 </li>
 </ul>
 <a name="krbKeytab">
@@ -318,7 +350,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>krbKeytab</h4>
-<pre><a href="http://docs.oracle.com/javase/7/docs/api/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/AbstractTestSecureIPC.html#line.77">krbKeytab</a></pre>
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/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/AbstractTestSecureIPC.html#line.132">krbKeytab</a></pre>
 </li>
 </ul>
 <a name="krbPrincipal">
@@ -327,7 +359,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>krbPrincipal</h4>
-<pre><a href="http://docs.oracle.com/javase/7/docs/api/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/AbstractTestSecureIPC.html#line.78">krbPrincipal</a></pre>
+<pre><a href="http://docs.oracle.com/javase/7/docs/api/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/AbstractTestSecureIPC.html#line.133">krbPrincipal</a></pre>
 </li>
 </ul>
 <a name="ugi">
@@ -336,7 +368,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>ugi</h4>
-<pre>org.apache.hadoop.security.UserGroupInformation <a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.79">ugi</a></pre>
+<pre>org.apache.hadoop.security.UserGroupInformation <a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.134">ugi</a></pre>
 </li>
 </ul>
 <a name="clientConf">
@@ -345,7 +377,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>clientConf</h4>
-<pre>org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.80">clientConf</a></pre>
+<pre>org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.135">clientConf</a></pre>
 </li>
 </ul>
 <a name="serverConf">
@@ -354,7 +386,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>serverConf</h4>
-<pre>org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.81">serverConf</a></pre>
+<pre>org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.136">serverConf</a></pre>
 </li>
 </ul>
 <a name="exception">
@@ -363,7 +395,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>exception</h4>
-<pre>public&nbsp;org.junit.rules.ExpectedException <a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.86">exception</a></pre>
+<pre>public&nbsp;org.junit.rules.ExpectedException <a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.141">exception</a></pre>
 </li>
 </ul>
 </li>
@@ -380,7 +412,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>AbstractTestSecureIPC</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.66">AbstractTestSecureIPC</a>()</pre>
+<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.72">AbstractTestSecureIPC</a>()</pre>
 </li>
 </ul>
 </li>
@@ -397,7 +429,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>getRpcClientClass</h4>
-<pre>abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends org.apache.hadoop.hbase.ipc.RpcClient&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.83">getRpcClientClass</a>()</pre>
+<pre>abstract&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html?is-external=true" title="class or interface in java.lang">Class</a>&lt;? extends org.apache.hadoop.hbase.ipc.RpcClient&gt;&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.138">getRpcClientClass</a>()</pre>
 </li>
 </ul>
 <a name="setUp()">
@@ -406,7 +438,7 @@ extends <a href="http://docs.oracle.com/javase/7/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/security/AbstractTestSecureIPC.html#line.89">setUp</a>()
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.144">setUp</a>()
                   throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
@@ -418,7 +450,7 @@ extends <a href="http://docs.oracle.com/javase/7/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/security/AbstractTestSecureIPC.html#line.101">tearDown</a>()
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.156">tearDown</a>()
                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></code></dd></dl>
@@ -430,7 +462,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setUpTest</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.109">setUpTest</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.164">setUpTest</a>()
                throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
@@ -442,7 +474,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testRpcCallWithEnabledKerberosSaslAuth</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.119">testRpcCallWithEnabledKerberosSaslAuth</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.174">testRpcCallWithEnabledKerberosSaslAuth</a>()
                                             throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
@@ -454,7 +486,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testRpcFallbackToSimpleAuth</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.131">testRpcFallbackToSimpleAuth</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.186">testRpcFallbackToSimpleAuth</a>()
                                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
@@ -466,7 +498,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>setRpcProtection</h4>
-<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.146">setRpcProtection</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientProtection,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.201">setRpcProtection</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;clientProtection,
                     <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;serverProtection)</pre>
 </li>
 </ul>
@@ -476,7 +508,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testSaslWithCommonQop</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.156">testSaslWithCommonQop</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.211">testSaslWithCommonQop</a>()
                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Test various combinations of Server and Client qops.</div>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -489,7 +521,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>testSaslNoCommonQop</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.168">testSaslNoCommonQop</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.223">testSaslNoCommonQop</a>()
                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
 <dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></code></dd></dl>
@@ -501,7 +533,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockList">
 <li class="blockList">
 <h4>loginKerberosPrincipal</h4>
-<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.175">loginKerberosPrincipal</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;krbKeytab,
+<pre>private&nbsp;org.apache.hadoop.security.UserGroupInformation&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.230">loginKerberosPrincipal</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;krbKeytab,
                                                                      <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;krbPrincipal)
                                                                         throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <dl><dt><span class="strong">Throws:</span></dt>
@@ -514,7 +546,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <ul class="blockListLast">
 <li class="blockList">
 <h4>callRpcService</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.188">callRpcService</a>(org.apache.hadoop.hbase.security.User&nbsp;clientUser)
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#line.243">callRpcService</a>(org.apache.hadoop.hbase.security.User&nbsp;clientUser)
                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
 <div class="block">Sets up a RPC Server and a Client. Does a RPC checks the result. If an exception is thrown
  from the stub, this function will throw root cause of that exception.</div>
@@ -549,7 +581,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <div class="subNav">
 <ul class="navList">
 <li>Prev Class</li>
-<li><a href="../../../../../org/apache/hadoop/hbase/security/HBaseKerberosUtils.html" title="class in org.apache.hadoop.hbase.security"><span class="strong">Next Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
 <li><a href="../../../../../index.html?org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html" target="_top">Frames</a></li>
@@ -573,7 +605,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested_class_summary">Nested</a>&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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/org/apache/hadoop/hbase/security/HBaseKerberosUtils.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/security/HBaseKerberosUtils.html b/testdevapidocs/org/apache/hadoop/hbase/security/HBaseKerberosUtils.html
index 4710e06..b2d9cb6 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/security/HBaseKerberosUtils.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/security/HBaseKerberosUtils.html
@@ -35,7 +35,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html" title="class in org.apache.hadoop.hbase.security"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/security/TestAsyncSecureIPC.html" title="class in org.apache.hadoop.hbase.security"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -382,7 +382,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html" title="class in org.apache.hadoop.hbase.security"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/security/TestAsyncSecureIPC.html" title="class in org.apache.hadoop.hbase.security"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/org/apache/hadoop/hbase/security/TestAsyncSecureIPC.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/security/TestAsyncSecureIPC.html b/testdevapidocs/org/apache/hadoop/hbase/security/TestAsyncSecureIPC.html
index 8f9dc31..9d89850 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/security/TestAsyncSecureIPC.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/security/TestAsyncSecureIPC.html
@@ -60,7 +60,7 @@
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested_classes_inherited_from_class_org.apache.hadoop.hbase.security.AbstractTestSecureIPC">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#fields_inherited_from_class_org.apache.hadoop.hbase.security.AbstractTestSecureIPC">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method_summary">Method</a></li>
@@ -108,6 +108,21 @@ extends <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSec
 <div class="summary">
 <ul class="blockList">
 <li class="blockList">
+<!-- ======== NESTED CLASS SUMMARY ======== -->
+<ul class="blockList">
+<li class="blockList"><a name="nested_class_summary">
+<!--   -->
+</a>
+<h3>Nested Class Summary</h3>
+<ul class="blockList">
+<li class="blockList"><a name="nested_classes_inherited_from_class_org.apache.hadoop.hbase.security.AbstractTestSecureIPC">
+<!--   -->
+</a>
+<h3>Nested classes/interfaces inherited from class&nbsp;org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html" title="class in org.apache.hadoop.hbase.security">AbstractTestSecureIPC</a></h3>
+<code><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html" title="class in org.apache.hadoop.hbase.security">AbstractTestSecureIPC.TestThread</a></code></li>
+</ul>
+</li>
+</ul>
 <!-- =========== FIELD SUMMARY =========== -->
 <ul class="blockList">
 <li class="blockList"><a name="field_summary">
@@ -119,7 +134,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSec
 <!--   -->
 </a>
 <h3>Fields inherited from class&nbsp;org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html" title="class in org.apache.hadoop.hbase.security">AbstractTestSecureIPC</a></h3>
-<code><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#clientConf">clientConf</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#exception">exception</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#krbKeytab">krbKeytab</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#krbPrincipal">krbPrincipal</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#serverConf">serverConf</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#ugi">ugi</a></code></li>
+<code><a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#clientConf">clientConf</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#exception">exception</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#krbKeytab">krbKeytab</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#krbPrincipal">krbPrincipal</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#serverConf">serverConf</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#SERVICE">SERVICE</a>, <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html#ugi">ugi</a></code></li>
 </ul>
 </li>
 </ul>
@@ -266,7 +281,7 @@ extends <a href="../../../../../org/apache/hadoop/hbase/security/AbstractTestSec
 <div>
 <ul class="subNavList">
 <li>Summary:&nbsp;</li>
-<li>Nested&nbsp;|&nbsp;</li>
+<li><a href="#nested_classes_inherited_from_class_org.apache.hadoop.hbase.security.AbstractTestSecureIPC">Nested</a>&nbsp;|&nbsp;</li>
 <li><a href="#fields_inherited_from_class_org.apache.hadoop.hbase.security.AbstractTestSecureIPC">Field</a>&nbsp;|&nbsp;</li>
 <li><a href="#constructor_summary">Constr</a>&nbsp;|&nbsp;</li>
 <li><a href="#method_summary">Method</a></li>


[24/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/org/apache/hadoop/hbase/ipc/package-summary.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/package-summary.html b/devapidocs/org/apache/hadoop/hbase/ipc/package-summary.html
index 561a831..88ef99d 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/package-summary.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/package-summary.html
@@ -79,48 +79,42 @@
 </tr>
 <tbody>
 <tr class="altColor">
-<td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a></td>
-<td class="colLast">
-<div class="block">A call whose response can be delayed by the server.</div>
-</td>
-</tr>
-<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHandler.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRPCErrorHandler</a></td>
 <td class="colLast">
 <div class="block">An interface for calling out of RPC for error conditions.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServerSource.html" title="interface in org.apache.hadoop.hbase.ipc">MetricsHBaseServerSource</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServerWrapper.html" title="interface in org.apache.hadoop.hbase.ipc">MetricsHBaseServerWrapper</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc">PriorityFunction</a></td>
 <td class="colLast">
 <div class="block">Function to figure priority of incoming request.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallback</a></td>
 <td class="colLast">
 <div class="block">Denotes a callback action that has to be executed at the end of an Rpc Call.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcClient.html" title="interface in org.apache.hadoop.hbase.ipc">RpcClient</a></td>
 <td class="colLast">
 <div class="block">Interface for RpcClient implementations so ConnectionManager can handle it.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colFirst"><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc">RpcServerInterface</a></td>
 <td class="colLast">&nbsp;</td>
 </tr>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 c66e267..9986a73 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/package-tree.html
@@ -237,15 +237,11 @@
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServerSource.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">MetricsHBaseServerSource</span></a></li>
 </ul>
 </li>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">Delayable</span></a>
-<ul>
-<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">RpcCallContext</span></a></li>
-</ul>
-</li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHandler.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">HBaseRPCErrorHandler</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/MetricsHBaseServerWrapper.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">MetricsHBaseServerWrapper</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/PriorityFunction.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">PriorityFunction</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallback.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">RpcCallback</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">RpcCallContext</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.ipc.<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html" title="interface in org.apache.hadoop.hbase.ipc"><span class="strong">RpcServerInterface</span></a></li>
 </ul>
 <h2 title="Annotation Type Hierarchy">Annotation Type Hierarchy</h2>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/org/apache/hadoop/hbase/ipc/package-use.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/package-use.html b/devapidocs/org/apache/hadoop/hbase/ipc/package-use.html
index da7f93d..6f60c89 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/package-use.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/package-use.html
@@ -215,152 +215,147 @@
 </td>
 </tr>
 <tr class="rowColor">
-<td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/Delayable.html#org.apache.hadoop.hbase.ipc">Delayable</a>
-<div class="block">A call whose response can be delayed by the server.</div>
-</td>
-</tr>
-<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/FailedServerException.html#org.apache.hadoop.hbase.ipc">FailedServerException</a>
 <div class="block">Indicates that we're trying to connect to a already known as dead server.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/FailedServers.html#org.apache.hadoop.hbase.ipc">FailedServers</a>
 <div class="block">A class to manage a list of servers that failed recently.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/FatalConnectionException.html#org.apache.hadoop.hbase.ipc">FatalConnectionException</a>
 <div class="block">Thrown when server finds fatal issue w/ connection setup: e.g.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/HBaseRPCErrorHandler.html#org.apache.hadoop.hbase.ipc">HBaseRPCErrorHandler</a>
 <div class="block">An interface for calling out of RPC for error conditions.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/IPCUtil.html#org.apache.hadoop.hbase.ipc">IPCUtil</a>
 <div class="block">Utility to help ipc'ing.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/MetricsHBaseServer.html#org.apache.hadoop.hbase.ipc">MetricsHBaseServer</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/MetricsHBaseServerSource.html#org.apache.hadoop.hbase.ipc">MetricsHBaseServerSource</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/MetricsHBaseServerSourceFactory.html#org.apache.hadoop.hbase.ipc">MetricsHBaseServerSourceFactory</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/MetricsHBaseServerSourceFactoryImpl.SourceStorage.html#org.apache.hadoop.hbase.ipc">MetricsHBaseServerSourceFactoryImpl.SourceStorage</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/MetricsHBaseServerWrapper.html#org.apache.hadoop.hbase.ipc">MetricsHBaseServerWrapper</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/PayloadCarryingRpcController.html#org.apache.hadoop.hbase.ipc">PayloadCarryingRpcController</a>
 <div class="block">Optionally carries Cells across the proxy/service interface down into ipc.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/PriorityFunction.html#org.apache.hadoop.hbase.ipc">PriorityFunction</a>
 <div class="block">Function to figure priority of incoming request.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/RpcCallback.html#org.apache.hadoop.hbase.ipc">RpcCallback</a>
 <div class="block">Denotes a callback action that has to be executed at the end of an Rpc Call.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/RpcCallContext.html#org.apache.hadoop.hbase.ipc">RpcCallContext</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/RpcClient.html#org.apache.hadoop.hbase.ipc">RpcClient</a>
 <div class="block">Interface for RpcClient implementations so ConnectionManager can handle it.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/RpcClientImpl.CallFuture.html#org.apache.hadoop.hbase.ipc">RpcClientImpl.CallFuture</a>
 <div class="block">see <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcClientImpl.Connection.CallSender.html" title="class in org.apache.hadoop.hbase.ipc"><code>RpcClientImpl.Connection.CallSender</code></a></div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/RpcClientImpl.Connection.html#org.apache.hadoop.hbase.ipc">RpcClientImpl.Connection</a>
 <div class="block">Thread that reads responses and notifies callers.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/RpcClientImpl.Connection.CallSender.html#org.apache.hadoop.hbase.ipc">RpcClientImpl.Connection.CallSender</a>
 <div class="block">If the client wants to interrupt its calls easily (i.e.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/RpcControllerFactory.html#org.apache.hadoop.hbase.ipc">RpcControllerFactory</a>
 <div class="block">Factory to create a <a href="../../../../../org/apache/hadoop/hbase/ipc/PayloadCarryingRpcController.html" title="class in org.apache.hadoop.hbase.ipc"><code>PayloadCarryingRpcController</code></a></div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/RpcExecutor.html#org.apache.hadoop.hbase.ipc">RpcExecutor</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/RpcExecutor.QueueBalancer.html#org.apache.hadoop.hbase.ipc">RpcExecutor.QueueBalancer</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/RpcScheduler.html#org.apache.hadoop.hbase.ipc">RpcScheduler</a>
 <div class="block">An interface for RPC request scheduling algorithm.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/RpcScheduler.Context.html#org.apache.hadoop.hbase.ipc">RpcScheduler.Context</a>
 <div class="block">Exposes runtime information of a <code>RpcServer</code> that a <code>RpcScheduler</code> may need.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/RpcServer.html#org.apache.hadoop.hbase.ipc">RpcServer</a>
 <div class="block">An RPC server that hosts protobuf described Services.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/RpcServer.BlockingServiceAndInterface.html#org.apache.hadoop.hbase.ipc">RpcServer.BlockingServiceAndInterface</a>
 <div class="block">Datastructure for passing a <code>BlockingService</code> and its associated class of
  protobuf service interface.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/RpcServer.Call.html#org.apache.hadoop.hbase.ipc">RpcServer.Call</a>
 <div class="block">Datastructure that holds all necessary to a method invocation and then afterward, carries
  the result.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/RpcServer.CallQueueTooBigException.html#org.apache.hadoop.hbase.ipc">RpcServer.CallQueueTooBigException</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/RpcServer.Connection.html#org.apache.hadoop.hbase.ipc">RpcServer.Connection</a>
 <div class="block">Reads calls from a connection and queues them for handling.</div>
 </td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/RpcServer.Listener.html#org.apache.hadoop.hbase.ipc">RpcServer.Listener</a>
 <div class="block">Listens on the socket.</div>
 </td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/RpcServer.Listener.Reader.html#org.apache.hadoop.hbase.ipc">RpcServer.Listener.Reader</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/RpcServer.Responder.html#org.apache.hadoop.hbase.ipc">RpcServer.Responder</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/RpcServerInterface.html#org.apache.hadoop.hbase.ipc">RpcServerInterface</a>&nbsp;</td>
 </tr>
-<tr class="altColor">
+<tr class="rowColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/StoppedRpcClientException.html#org.apache.hadoop.hbase.ipc">StoppedRpcClientException</a>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colOne"><a href="../../../../../org/apache/hadoop/hbase/ipc/class-use/TimeLimitedRpcController.html#org.apache.hadoop.hbase.ipc">TimeLimitedRpcController</a>&nbsp;</td>
 </tr>
 </tbody>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 08f430f..2e2d5af 100644
--- a/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/mapreduce/package-tree.html
@@ -267,10 +267,10 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/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/7/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="strong">CellCounter.CellCounterMapper.Counters</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/TableSplit.Version.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="strong">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="strong">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="strong">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="strong">TableSplit.Version</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.mapreduce.<a href="../../../../../org/apache/hadoop/hbase/mapreduce/CellCounter.CellCounterMapper.Counters.html" title="enum in org.apache.hadoop.hbase.mapreduce"><span class="strong">CellCounter.CellCounterMapper.Counters</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html b/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
index 9548d85..3a094f9 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/balancer/package-tree.html
@@ -176,8 +176,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.Type.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="strong">BaseLoadBalancer.Cluster.Action.Type</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/FavoredNodesPlan.Position.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="strong">FavoredNodesPlan.Position</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.master.balancer.<a href="../../../../../../org/apache/hadoop/hbase/master/balancer/BaseLoadBalancer.Cluster.Action.Type.html" title="enum in org.apache.hadoop.hbase.master.balancer"><span class="strong">BaseLoadBalancer.Cluster.Action.Type</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 c976e91..2e30ea2 100644
--- a/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/master/package-tree.html
@@ -318,11 +318,11 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
+<li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MasterRpcServices.BalanceSwitchMode.html" title="enum in org.apache.hadoop.hbase.master"><span class="strong">MasterRpcServices.BalanceSwitchMode</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/SplitLogManager.TerminationStatus.html" title="enum in org.apache.hadoop.hbase.master"><span class="strong">SplitLogManager.TerminationStatus</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="strong">SplitLogManager.ResubmitDirective</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="strong">RegionState.State</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.master.<a href="../../../../../org/apache/hadoop/hbase/master/MetricsMasterSourceFactoryImpl.FactoryStorage.html" title="enum in org.apache.hadoop.hbase.master"><span class="strong">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="strong">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="strong">MasterRpcServices.BalanceSwitchMode</span></a></li>
 </ul>
 </li>
 </ul>

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

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 9c59746..65fabe6 100644
--- a/devapidocs/org/apache/hadoop/hbase/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/package-tree.html
@@ -351,8 +351,8 @@
 </ul>
 <h2 title="Annotation Type Hierarchy">Annotation Type Hierarchy</h2>
 <ul>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/MetaMutationAnnotation.html" title="annotation in org.apache.hadoop.hbase"><span class="strong">MetaMutationAnnotation</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/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.<a href="../../../../org/apache/hadoop/hbase/VersionAnnotation.html" title="annotation in org.apache.hadoop.hbase"><span class="strong">VersionAnnotation</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/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.<a href="../../../../org/apache/hadoop/hbase/MetaMutationAnnotation.html" title="annotation in org.apache.hadoop.hbase"><span class="strong">MetaMutationAnnotation</span></a> (implements java.lang.annotation.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/annotation/Annotation.html?is-external=true" title="class or interface in java.lang.annotation">Annotation</a>)</li>
 </ul>
 <h2 title="Enum Hierarchy">Enum Hierarchy</h2>
 <ul>
@@ -360,14 +360,14 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/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/7/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/KeyValue.Type.html" title="enum in org.apache.hadoop.hbase"><span class="strong">KeyValue.Type</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="strong">MetaTableAccessor.QueryType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HConstants.OperationStatusCode.html" title="enum in org.apache.hadoop.hbase"><span class="strong">HConstants.OperationStatusCode</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="strong">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="strong">CompatibilitySingletonFactory.SingletonStorage</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="strong">HConstants.OperationStatusCode</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="strong">MetaTableAccessor.QueryType</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="strong">KeepDeletedCells</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.<a href="../../../../org/apache/hadoop/hbase/HealthChecker.HealthCheckerExitStatus.html" title="enum in org.apache.hadoop.hbase"><span class="strong">HealthChecker.HealthCheckerExitStatus</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="strong">Coprocessor.State</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="strong">KeyValue.Type</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="strong">HealthChecker.HealthCheckerExitStatus</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="strong">KeepDeletedCells</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 e1015c9..47a2798 100644
--- a/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/quotas/package-tree.html
@@ -172,10 +172,10 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/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/7/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="strong">QuotaScope</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="strong">OperationQuota.OperationType</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="strong">ThrottlingException.Type</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaScope.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="strong">QuotaScope</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/QuotaType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="strong">QuotaType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/OperationQuota.OperationType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="strong">OperationQuota.OperationType</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.quotas.<a href="../../../../../org/apache/hadoop/hbase/quotas/ThrottleType.html" title="enum in org.apache.hadoop.hbase.quotas"><span class="strong">ThrottleType</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 77717b6..d66641b 100644
--- a/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/regionserver/package-tree.html
@@ -605,23 +605,23 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/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/7/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/Region.FlushResult.Result.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">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="strong">ScannerContext.LimitScope</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">DeleteTracker.DeleteResult</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="strong">Region.Operation</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="strong">StoreScanner.StoreScannerCompactionRace</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteCompare.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">DeleteTracker.DeleteCompare</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="strong">RegionOpeningState</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="strong">ScannerContext.NextState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScannerContext.LimitScope.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScannerContext.LimitScope</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/SplitTransaction.SplitTransactionPhase.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">SplitTransaction.SplitTransactionPhase</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="strong">Region.Operation</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScanQueryMatcher.MatchCode</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="strong">DefaultHeapMemoryTuner.StepDirection</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteCompare.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">DeleteTracker.DeleteCompare</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionMergeTransaction.RegionMergeTransactionPhase.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">RegionMergeTransaction.RegionMergeTransactionPhase</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="strong">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="strong">BloomType</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="strong">SplitLogWorker.TaskExecutor.Status</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">FlushType</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="strong">MetricsRegionServerSourceFactoryImpl.FactoryStorage</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/RegionMergeTransaction.RegionMergeTransactionPhase.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">RegionMergeTransaction.RegionMergeTransactionPhase</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="strong">RegionOpeningState</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/DeleteTracker.DeleteResult.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">DeleteTracker.DeleteResult</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="strong">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="strong">ScanType</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.MatchCode.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">ScanQueryMatcher.MatchCode</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="strong">StoreScanner.StoreScannerCompactionRace</span></a></li>
-<li type="circle">org.apache.hadoop.hbase.regionserver.<a href="../../../../../org/apache/hadoop/hbase/regionserver/FlushType.html" title="enum in org.apache.hadoop.hbase.regionserver"><span class="strong">FlushType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
index 6b02ffe..86e9213 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/access/package-tree.html
@@ -140,8 +140,8 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/io/Serializable.html?is-external=true" title="class or interface in java.io">Serializable</a>)
 <ul>
-<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Action.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="strong">Permission.Action</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessController.OpType.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="strong">AccessController.OpType</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/Permission.Action.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="strong">Permission.Action</span></a></li>
 <li type="circle">org.apache.hadoop.hbase.security.access.<a href="../../../../../../org/apache/hadoop/hbase/security/access/AccessControlFilter.Strategy.html" title="enum in org.apache.hadoop.hbase.security.access"><span class="strong">AccessControlFilter.Strategy</span></a></li>
 </ul>
 </li>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 63a2b08..6aea795 100644
--- a/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/security/package-tree.html
@@ -153,8 +153,8 @@
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/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/7/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/SaslUtil.QualityOfProtection.html" title="enum in org.apache.hadoop.hbase.security"><span class="strong">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="strong">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="strong">AuthMethod</span></a></li>
+<li type="circle">org.apache.hadoop.hbase.security.<a href="../../../../../org/apache/hadoop/hbase/security/SaslStatus.html" title="enum in org.apache.hadoop.hbase.security"><span class="strong">SaslStatus</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 cfd2380..92b652b 100644
--- a/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
+++ b/devapidocs/org/apache/hadoop/hbase/thrift/package-tree.html
@@ -159,9 +159,9 @@
 <ul>
 <li type="circle">java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Enum.html?is-external=true" title="class or interface in java.lang"><span class="strong">Enum</span></a>&lt;E&gt; (implements java.lang.<a href="http://docs.oracle.com/javase/7/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/7/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="strong">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="strong">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="strong">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="strong">ThriftMetrics.ThriftServerType</span></a></li>
 </ul>
 </li>
 </ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 71c018e..d1af835 100644
--- a/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
+++ b/devapidocs/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html
@@ -379,58 +379,58 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a> <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.110">m_master</a></pre>
 </li>
 </ul>
-<a name="m_frags">
+<a name="m_deadServers">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_frags</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/7/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/7/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.122">m_frags</a></pre>
+<h4>m_deadServers</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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.122">m_deadServers</a></pre>
 </li>
 </ul>
-<a name="m_frags__IsNotDefault">
+<a name="m_deadServers__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_frags__IsNotDefault</h4>
-<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.127">m_frags__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.127">m_deadServers__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_metaLocation">
+<a name="m_filter">
 <!--   -->
 </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.139">m_metaLocation</a></pre>
+<h4>m_filter</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.139">m_filter</a></pre>
 </li>
 </ul>
-<a name="m_metaLocation__IsNotDefault">
+<a name="m_filter__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.144">m_metaLocation__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.144">m_filter__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_assignmentManager">
+<a name="m_catalogJanitorEnabled">
 <!--   -->
 </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.156">m_assignmentManager</a></pre>
+<h4>m_catalogJanitorEnabled</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.156">m_catalogJanitorEnabled</a></pre>
 </li>
 </ul>
-<a name="m_assignmentManager__IsNotDefault">
+<a name="m_catalogJanitorEnabled__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.161">m_assignmentManager__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.161">m_catalogJanitorEnabled__IsNotDefault</a></pre>
 </li>
 </ul>
 <a name="m_serverManager">
@@ -451,58 +451,58 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.178">m_serverManager__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_catalogJanitorEnabled">
+<a name="m_format">
 <!--   -->
 </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.190">m_catalogJanitorEnabled</a></pre>
+<h4>m_format</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.190">m_format</a></pre>
 </li>
 </ul>
-<a name="m_catalogJanitorEnabled__IsNotDefault">
+<a name="m_format__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockList">
 <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.195">m_catalogJanitorEnabled__IsNotDefault</a></pre>
+<h4>m_format__IsNotDefault</h4>
+<pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.195">m_format__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_format">
+<a name="m_metaLocation">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_format</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.207">m_format</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.207">m_metaLocation</a></pre>
 </li>
 </ul>
-<a name="m_format__IsNotDefault">
+<a name="m_metaLocation__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/master/MasterStatusTmpl.ImplData.html#line.212">m_format__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.212">m_metaLocation__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_filter">
+<a name="m_assignmentManager">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_filter</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.224">m_filter</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.224">m_assignmentManager</a></pre>
 </li>
 </ul>
-<a name="m_filter__IsNotDefault">
+<a name="m_assignmentManager__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.229">m_filter__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.229">m_assignmentManager__IsNotDefault</a></pre>
 </li>
 </ul>
 <a name="m_servers">
@@ -523,22 +523,22 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>private&nbsp;boolean <a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.246">m_servers__IsNotDefault</a></pre>
 </li>
 </ul>
-<a name="m_deadServers">
+<a name="m_frags">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>m_deadServers</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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.258">m_deadServers</a></pre>
+<h4>m_frags</h4>
+<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/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/7/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/7/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.258">m_frags</a></pre>
 </li>
 </ul>
-<a name="m_deadServers__IsNotDefault">
+<a name="m_frags__IsNotDefault">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <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.263">m_deadServers__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.263">m_frags__IsNotDefault</a></pre>
 </li>
 </ul>
 </li>
@@ -584,85 +584,85 @@ extends org.jamon.AbstractTemplateProxy.ImplData</pre>
 <pre>public&nbsp;<a href="../../../../../../org/apache/hadoop/hbase/master/HMaster.html" title="class in org.apache.hadoop.hbase.master">HMaster</a>&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.106">getMaster</a>()</pre>
 </li>
 </ul>
-<a name="setFrags(java.util.Map)">
+<a name="setDeadServers(java.util.Set)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFrags</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.112">setFrags</a>(<a href="http://docs.oracle.com/javase/7/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/7/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/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;frags)</pre>
+<h4>setDeadServers</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.112">setDeadServers</a>(<a href="http://docs.oracle.com/javase/7/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="getFrags()">
+<a name="getDeadServers()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFrags</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/7/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/7/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.118">getFrags</a>()</pre>
+<h4>getDeadServers</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.118">getDeadServers</a>()</pre>
 </li>
 </ul>
-<a name="getFrags__IsNotDefault()">
+<a name="getDeadServers__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFrags__IsNotDefault</h4>
-<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.123">getFrags__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.123">getDeadServers__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setMetaLocation(org.apache.hadoop.hbase.ServerName)">
+<a name="setFilter(java.lang.String)">
 <!--   -->
 </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.129">setMetaLocation</a>(<a href="../../../../../../org/apache/hadoop/hbase/ServerName.html" title="class in org.apache.hadoop.hbase">ServerName</a>&nbsp;metaLocation)</pre>
+<h4>setFilter</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.129">setFilter</a>(<a href="http://docs.oracle.com/javase/7/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="getMetaLocation()">
+<a name="getFilter()">
 <!--   -->
 </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.135">getMetaLocation</a>()</pre>
+<h4>getFilter</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.135">getFilter</a>()</pre>
 </li>
 </ul>
-<a name="getMetaLocation__IsNotDefault()">
+<a name="getFilter__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.140">getMetaLocation__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.140">getFilter__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setAssignmentManager(org.apache.hadoop.hbase.master.AssignmentManager)">
+<a name="setCatalogJanitorEnabled(boolean)">
 <!--   -->
 </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.146">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>setCatalogJanitorEnabled</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.146">setCatalogJanitorEnabled</a>(boolean&nbsp;catalogJanitorEnabled)</pre>
 </li>
 </ul>
-<a name="getAssignmentManager()">
+<a name="getCatalogJanitorEnabled()">
 <!--   -->
 </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.152">getAssignmentManager</a>()</pre>
+<h4>getCatalogJanitorEnabled</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.152">getCatalogJanitorEnabled</a>()</pre>
 </li>
 </ul>
-<a name="getAssignmentManager__IsNotDefault()">
+<a name="getCatalogJanitorEnabled__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.157">getAssignmentManager__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.157">getCatalogJanitorEnabled__IsNotDefault</a>()</pre>
 </li>
 </ul>
 <a name="setServerManager(org.apache.hadoop.hbase.master.ServerManager)">
@@ -692,85 +692,85 @@ 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.174">getServerManager__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setCatalogJanitorEnabled(boolean)">
+<a name="setFormat(java.lang.String)">
 <!--   -->
 </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.180">setCatalogJanitorEnabled</a>(boolean&nbsp;catalogJanitorEnabled)</pre>
+<h4>setFormat</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.180">setFormat</a>(<a href="http://docs.oracle.com/javase/7/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="getCatalogJanitorEnabled()">
+<a name="getFormat()">
 <!--   -->
 </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.186">getCatalogJanitorEnabled</a>()</pre>
+<h4>getFormat</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.186">getFormat</a>()</pre>
 </li>
 </ul>
-<a name="getCatalogJanitorEnabled__IsNotDefault()">
+<a name="getFormat__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockList">
 <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.191">getCatalogJanitorEnabled__IsNotDefault</a>()</pre>
+<h4>getFormat__IsNotDefault</h4>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.191">getFormat__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFormat(java.lang.String)">
+<a name="setMetaLocation(org.apache.hadoop.hbase.ServerName)">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>setFormat</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.197">setFormat</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;format)</pre>
+<h4>setMetaLocation</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.197">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="getFormat()">
+<a name="getMetaLocation()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFormat</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.203">getFormat</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.203">getMetaLocation</a>()</pre>
 </li>
 </ul>
-<a name="getFormat__IsNotDefault()">
+<a name="getMetaLocation__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/master/MasterStatusTmpl.ImplData.html#line.208">getFormat__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.208">getMetaLocation__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setFilter(java.lang.String)">
+<a name="setAssignmentManager(org.apache.hadoop.hbase.master.AssignmentManager)">
 <!--   -->
 </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.214">setFilter</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;filter)</pre>
+<h4>setAssignmentManager</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.214">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="getFilter()">
+<a name="getAssignmentManager()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getFilter</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.220">getFilter</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.220">getAssignmentManager</a>()</pre>
 </li>
 </ul>
-<a name="getFilter__IsNotDefault()">
+<a name="getAssignmentManager__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.225">getFilter__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.225">getAssignmentManager__IsNotDefault</a>()</pre>
 </li>
 </ul>
 <a name="setServers(java.util.List)">
@@ -800,31 +800,31 @@ 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.242">getServers__IsNotDefault</a>()</pre>
 </li>
 </ul>
-<a name="setDeadServers(java.util.Set)">
+<a name="setFrags(java.util.Map)">
 <!--   -->
 </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.248">setDeadServers</a>(<a href="http://docs.oracle.com/javase/7/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>setFrags</h4>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../../src-html/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.ImplData.html#line.248">setFrags</a>(<a href="http://docs.oracle.com/javase/7/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/7/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/7/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="getDeadServers()">
+<a name="getFrags()">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
-<h4>getDeadServers</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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.254">getDeadServers</a>()</pre>
+<h4>getFrags</h4>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/7/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/7/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.254">getFrags</a>()</pre>
 </li>
 </ul>
-<a name="getDeadServers__IsNotDefault()">
+<a name="getFrags__IsNotDefault()">
 <!--   -->
 </a>
 <ul class="blockListLast">
 <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.259">getDeadServers__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.259">getFrags__IsNotDefault</a>()</pre>
 </li>
 </ul>
 </li>


[17/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html
index 4975851..bf27873 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.html
@@ -193,2475 +193,2411 @@
 <span class="sourceLineNo">185</span>   */<a name="line.185"></a>
 <span class="sourceLineNo">186</span>  private static final int DEFAULT_MAX_CALLQUEUE_SIZE = 1024 * 1024 * 1024;<a name="line.186"></a>
 <span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  private static final String WARN_DELAYED_CALLS = "hbase.ipc.warn.delayedrpc.number";<a name="line.188"></a>
+<span class="sourceLineNo">188</span>  private final IPCUtil ipcUtil;<a name="line.188"></a>
 <span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>  private static final int DEFAULT_WARN_DELAYED_CALLS = 1000;<a name="line.190"></a>
-<span class="sourceLineNo">191</span><a name="line.191"></a>
-<span class="sourceLineNo">192</span>  private final int warnDelayedCalls;<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>  private AtomicInteger delayedCalls;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  private final IPCUtil ipcUtil;<a name="line.195"></a>
+<span class="sourceLineNo">190</span>  private static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  private static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  private static final Log AUDITLOG = LogFactory.getLog("SecurityLogger." +<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    Server.class.getName());<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  protected ServiceAuthorizationManager authManager;<a name="line.195"></a>
 <span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  private static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private static final Log AUDITLOG = LogFactory.getLog("SecurityLogger." +<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    Server.class.getName());<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  protected ServiceAuthorizationManager authManager;<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   * after the call returns.<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   */<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  protected static final ThreadLocal&lt;Call&gt; CurCall = new ThreadLocal&lt;Call&gt;();<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      = new ThreadLocal&lt;MonitoredRPCHandler&gt;();<a name="line.211"></a>
-<span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  protected final InetSocketAddress bindAddress;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  protected int port;                             // port we listen on<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  protected InetSocketAddress address;            // inet address we listen on<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  private int readThreads;                        // number of read threads<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  protected int maxIdleTime;                      // the maximum idle time after<a name="line.217"></a>
-<span class="sourceLineNo">218</span>                                                  // which a client may be<a name="line.218"></a>
-<span class="sourceLineNo">219</span>                                                  // disconnected<a name="line.219"></a>
-<span class="sourceLineNo">220</span>  protected int thresholdIdleConnections;         // the number of idle<a name="line.220"></a>
-<span class="sourceLineNo">221</span>                                                  // connections after which we<a name="line.221"></a>
-<span class="sourceLineNo">222</span>                                                  // will start cleaning up idle<a name="line.222"></a>
-<span class="sourceLineNo">223</span>                                                  // connections<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  int maxConnectionsToNuke;                       // the max number of<a name="line.224"></a>
-<span class="sourceLineNo">225</span>                                                  // connections to nuke<a name="line.225"></a>
-<span class="sourceLineNo">226</span>                                                  // during a cleanup<a name="line.226"></a>
-<span class="sourceLineNo">227</span><a name="line.227"></a>
-<span class="sourceLineNo">228</span>  protected MetricsHBaseServer metrics;<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>  protected final Configuration conf;<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  private int maxQueueSize;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  protected int socketSendBufferSize;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  protected final boolean tcpNoDelay;   // if T then disable Nagle's Algorithm<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  protected final long purgeTimeout;    // in milliseconds<a name="line.236"></a>
+<span class="sourceLineNo">197</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * after the call returns.<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   */<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  protected static final ThreadLocal&lt;Call&gt; CurCall = new ThreadLocal&lt;Call&gt;();<a name="line.200"></a>
+<span class="sourceLineNo">201</span><a name="line.201"></a>
+<span class="sourceLineNo">202</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      = new ThreadLocal&lt;MonitoredRPCHandler&gt;();<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected final InetSocketAddress bindAddress;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  protected int port;                             // port we listen on<a name="line.207"></a>
+<span class="sourceLineNo">208</span>  protected InetSocketAddress address;            // inet address we listen on<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  private int readThreads;                        // number of read threads<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  protected int maxIdleTime;                      // the maximum idle time after<a name="line.210"></a>
+<span class="sourceLineNo">211</span>                                                  // which a client may be<a name="line.211"></a>
+<span class="sourceLineNo">212</span>                                                  // disconnected<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  protected int thresholdIdleConnections;         // the number of idle<a name="line.213"></a>
+<span class="sourceLineNo">214</span>                                                  // connections after which we<a name="line.214"></a>
+<span class="sourceLineNo">215</span>                                                  // will start cleaning up idle<a name="line.215"></a>
+<span class="sourceLineNo">216</span>                                                  // connections<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  int maxConnectionsToNuke;                       // the max number of<a name="line.217"></a>
+<span class="sourceLineNo">218</span>                                                  // connections to nuke<a name="line.218"></a>
+<span class="sourceLineNo">219</span>                                                  // during a cleanup<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  protected MetricsHBaseServer metrics;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  protected final Configuration conf;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private int maxQueueSize;<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  protected int socketSendBufferSize;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  protected final boolean tcpNoDelay;   // if T then disable Nagle's Algorithm<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.228"></a>
+<span class="sourceLineNo">229</span>  protected final long purgeTimeout;    // in milliseconds<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>  /**<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   */<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  volatile boolean running = true;<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>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  volatile boolean running = true;<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>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * for business by the call to {@link #start()}.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  volatile boolean started = false;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * This is a running count of the size of all outstanding calls by size.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  protected final Counter callQueueSize = new Counter();<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  protected final List&lt;Connection&gt; connectionList =<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    Collections.synchronizedList(new LinkedList&lt;Connection&gt;());<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  //maintain a list<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  //of client connections<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  private Listener listener = null;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  protected Responder responder = null;<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  protected int numConnections = 0;<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.265"></a>
+<span class="sourceLineNo">239</span>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * for business by the call to {@link #start()}.<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   */<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  volatile boolean started = false;<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>   * This is a running count of the size of all outstanding calls by size.<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  protected final Counter callQueueSize = new Counter();<a name="line.247"></a>
+<span class="sourceLineNo">248</span><a name="line.248"></a>
+<span class="sourceLineNo">249</span>  protected final List&lt;Connection&gt; connectionList =<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    Collections.synchronizedList(new LinkedList&lt;Connection&gt;());<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  //maintain a list<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  //of client connections<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  private Listener listener = null;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  protected Responder responder = null;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  protected int numConnections = 0;<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  private static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  private static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.261"></a>
+<span class="sourceLineNo">262</span><a name="line.262"></a>
+<span class="sourceLineNo">263</span>  /** Default value for above params */<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  private static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  private static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.265"></a>
 <span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>  private static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  private static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  /** Default value for above params */<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.272"></a>
+<span class="sourceLineNo">267</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>  private final int warnResponseTime;<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  private final int warnResponseSize;<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  private final Server server;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  private final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.272"></a>
 <span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.274"></a>
+<span class="sourceLineNo">274</span>  private final RpcScheduler scheduler;<a name="line.274"></a>
 <span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>  private final int warnResponseTime;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private final int warnResponseSize;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  private final Server server;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  private final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private final RpcScheduler scheduler;<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  private UserProvider userProvider;<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  private final BoundedByteBufferPool reservoir;<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  private volatile boolean allowFallbackToSimpleAuth;<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  /**<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   * Datastructure that holds all necessary to a method invocation and then afterward, carries<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * the result.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   */<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  class Call implements RpcCallContext {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    protected int id;                             // the client's call id<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    protected BlockingService service;<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    protected MethodDescriptor md;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    protected RequestHeader header;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    protected Message param;                      // the parameter passed<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    // Optional cell data passed outside of protobufs.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected CellScanner cellScanner;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    protected Connection connection;              // connection to client<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    protected long timestamp;      // the time received when response is null<a name="line.302"></a>
-<span class="sourceLineNo">303</span>                                   // the time served when response is not null<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    /**<a name="line.304"></a>
-<span class="sourceLineNo">305</span>     * Chain of buffers to send as response.<a name="line.305"></a>
-<span class="sourceLineNo">306</span>     */<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    protected BufferChain response;<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    protected boolean delayResponse;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    protected Responder responder;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    protected boolean delayReturnValue;           // if the return value should be<a name="line.310"></a>
-<span class="sourceLineNo">311</span>                                                  // set at call completion<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    protected long size;                          // size of current call<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    protected boolean isError;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    protected TraceInfo tinfo;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    private ByteBuffer cellBlock = null;<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    private User user;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    private InetAddress remoteAddress;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    private RpcCallback callback;<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>    private long responseCellSize = 0;<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    private long responseBlockSize = 0;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    private boolean retryImmediatelySupported;<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        justification="Can't figure why this complaint is happening... see below")<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    Call(int id, final BlockingService service, final MethodDescriptor md, RequestHeader header,<a name="line.327"></a>
-<span class="sourceLineNo">328</span>         Message param, CellScanner cellScanner, Connection connection, Responder responder,<a name="line.328"></a>
-<span class="sourceLineNo">329</span>         long size, TraceInfo tinfo, final InetAddress remoteAddress) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      this.id = id;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      this.service = service;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      this.md = md;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      this.header = header;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      this.param = param;<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      this.cellScanner = cellScanner;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      this.connection = connection;<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      this.timestamp = System.currentTimeMillis();<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      this.response = null;<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      this.delayResponse = false;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      this.responder = responder;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      this.isError = false;<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      this.size = size;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      this.tinfo = tinfo;<a name="line.343"></a>
-<span class="sourceLineNo">344</span>      this.user = connection == null? null: connection.user; // FindBugs: NP_NULL_ON_SOME_PATH<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      this.remoteAddress = remoteAddress;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      this.retryImmediatelySupported =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>          connection == null? null: connection.retryImmediatelySupported;<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>     * Call is done. Execution happened and we returned results to client. It is now safe to<a name="line.351"></a>
-<span class="sourceLineNo">352</span>     * cleanup.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>     */<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IS2_INCONSISTENT_SYNC",<a name="line.354"></a>
-<span class="sourceLineNo">355</span>        justification="Presume the lock on processing request held by caller is protection enough")<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    void done() {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      if (this.cellBlock != null &amp;&amp; reservoir != null) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>        // Return buffer to reservoir now we are done with it.<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        reservoir.putBuffer(this.cellBlock);<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        this.cellBlock = null;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      }<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      this.connection.decRpcCount();  // Say that we're done with this call.<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    }<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>    @Override<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    public String toString() {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      return toShortString() + " param: " +<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        (this.param != null? ProtobufUtil.getShortTextFormat(this.param): "") +<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        " connection: " + connection.toString();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    protected RequestHeader getHeader() {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      return this.header;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    }<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>    /*<a name="line.376"></a>
-<span class="sourceLineNo">377</span>     * Short string representation without param info because param itself could be huge depends on<a name="line.377"></a>
-<span class="sourceLineNo">378</span>     * the payload of a command<a name="line.378"></a>
-<span class="sourceLineNo">379</span>     */<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    String toShortString() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      String serviceName = this.connection.service != null ?<a name="line.381"></a>
-<span class="sourceLineNo">382</span>          this.connection.service.getDescriptorForType().getName() : "null";<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      return "callId: " + this.id + " service: " + serviceName +<a name="line.383"></a>
-<span class="sourceLineNo">384</span>          " methodName: " + ((this.md != null) ? this.md.getName() : "n/a") +<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          " size: " + StringUtils.TraditionalBinaryPrefix.long2String(this.size, "", 1) +<a name="line.385"></a>
-<span class="sourceLineNo">386</span>          " connection: " + connection.toString();<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    String toTraceString() {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      String serviceName = this.connection.service != null ?<a name="line.390"></a>
-<span class="sourceLineNo">391</span>                           this.connection.service.getDescriptorForType().getName() : "";<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      String methodName = (this.md != null) ? this.md.getName() : "";<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      return serviceName + "." + methodName;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>    protected synchronized void setSaslTokenResponse(ByteBuffer response) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      this.response = new BufferChain(response);<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>    protected synchronized void setResponse(Object m, final CellScanner cells,<a name="line.400"></a>
-<span class="sourceLineNo">401</span>        Throwable t, String errorMsg) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      if (this.isError) return;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      if (t != null) this.isError = true;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      BufferChain bc = null;<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      try {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>        ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        // Presume it a pb Message.  Could be null.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        Message result = (Message)m;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        // Call id.<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        headerBuilder.setCallId(this.id);<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        if (t != null) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>          ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();<a name="line.412"></a>
-<span class="sourceLineNo">413</span>          exceptionBuilder.setExceptionClassName(t.getClass().getName());<a name="line.413"></a>
-<span class="sourceLineNo">414</span>          exceptionBuilder.setStackTrace(errorMsg);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>          exceptionBuilder.setDoNotRetry(t instanceof DoNotRetryIOException);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          if (t instanceof RegionMovedException) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>            // Special casing for this exception.  This is only one carrying a payload.<a name="line.417"></a>
-<span class="sourceLineNo">418</span>            // Do this instead of build a generic system for allowing exceptions carry<a name="line.418"></a>
-<span class="sourceLineNo">419</span>            // any kind of payload.<a name="line.419"></a>
-<span class="sourceLineNo">420</span>            RegionMovedException rme = (RegionMovedException)t;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>            exceptionBuilder.setHostname(rme.getHostname());<a name="line.421"></a>
-<span class="sourceLineNo">422</span>            exceptionBuilder.setPort(rme.getPort());<a name="line.422"></a>
-<span class="sourceLineNo">423</span>          }<a name="line.423"></a>
-<span class="sourceLineNo">424</span>          // Set the exception as the result of the method invocation.<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          headerBuilder.setException(exceptionBuilder.build());<a name="line.425"></a>
-<span class="sourceLineNo">426</span>        }<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        // Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        // reservoir when finished. This is hacky and the hack is not contained but benefits are<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        // high when we can avoid a big buffer allocation on each rpc.<a name="line.429"></a>
-<span class="sourceLineNo">430</span>        this.cellBlock = ipcUtil.buildCellBlock(this.connection.codec,<a name="line.430"></a>
-<span class="sourceLineNo">431</span>          this.connection.compressionCodec, cells, reservoir);<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        if (this.cellBlock != null) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>          CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          // Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.<a name="line.434"></a>
-<span class="sourceLineNo">435</span>          cellBlockBuilder.setLength(this.cellBlock.limit());<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          headerBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        }<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        Message header = headerBuilder.build();<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>        // Organize the response as a set of bytebuffers rather than collect it all together inside<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        // one big byte array; save on allocations.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>        ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);<a name="line.442"></a>
-<span class="sourceLineNo">443</span>        ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);<a name="line.443"></a>
-<span class="sourceLineNo">444</span>        int totalSize = bbHeader.capacity() + (bbResult == null? 0: bbResult.limit()) +<a name="line.444"></a>
-<span class="sourceLineNo">445</span>          (this.cellBlock == null? 0: this.cellBlock.limit());<a name="line.445"></a>
-<span class="sourceLineNo">446</span>        ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));<a name="line.446"></a>
-<span class="sourceLineNo">447</span>        bc = new BufferChain(bbTotalSize, bbHeader, bbResult, this.cellBlock);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        if (connection.useWrap) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>          bc = wrapWithSasl(bc);<a name="line.449"></a>
-<span class="sourceLineNo">450</span>        }<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      } catch (IOException e) {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        LOG.warn("Exception while creating response " + e);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      }<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      this.response = bc;<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      // Once a response message is created and set to this.response, this Call can be treated as<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      // done. The Responder thread will do the n/w write of this message back to client.<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      if (this.callback != null) {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        try {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          this.callback.run();<a name="line.459"></a>
-<span class="sourceLineNo">460</span>        } catch (Exception e) {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          // Don't allow any exception here to kill this handler thread.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>          LOG.warn("Exception while running the Rpc Callback.", e);<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>    }<a name="line.465"></a>
-<span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span>    private BufferChain wrapWithSasl(BufferChain bc)<a name="line.467"></a>
-<span class="sourceLineNo">468</span>        throws IOException {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      if (!this.connection.useSasl) return bc;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      // Looks like no way around this; saslserver wants a byte array.  I have to make it one.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      // THIS IS A BIG UGLY COPY.<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      byte [] responseBytes = bc.getBytes();<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      byte [] token;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      // synchronization may be needed since there can be multiple Handler<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      // threads using saslServer to wrap responses.<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      synchronized (connection.saslServer) {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (LOG.isTraceEnabled()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        LOG.trace("Adding saslServer wrapped token of size " + token.length<a name="line.480"></a>
-<span class="sourceLineNo">481</span>            + " as call response.");<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      }<a name="line.482"></a>
+<span class="sourceLineNo">276</span>  private UserProvider userProvider;<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  private final BoundedByteBufferPool reservoir;<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>  private volatile boolean allowFallbackToSimpleAuth;<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * Datastructure that holds all necessary to a method invocation and then afterward, carries<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * the result.<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   */<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  class Call implements RpcCallContext {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    protected int id;                             // the client's call id<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    protected BlockingService service;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    protected MethodDescriptor md;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    protected RequestHeader header;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    protected Message param;                      // the parameter passed<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    // Optional cell data passed outside of protobufs.<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    protected CellScanner cellScanner;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    protected Connection connection;              // connection to client<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    protected long timestamp;      // the time received when response is null<a name="line.295"></a>
+<span class="sourceLineNo">296</span>                                   // the time served when response is not null<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    /**<a name="line.297"></a>
+<span class="sourceLineNo">298</span>     * Chain of buffers to send as response.<a name="line.298"></a>
+<span class="sourceLineNo">299</span>     */<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    protected BufferChain response;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    protected Responder responder;<a name="line.301"></a>
+<span class="sourceLineNo">302</span><a name="line.302"></a>
+<span class="sourceLineNo">303</span>    protected long size;                          // size of current call<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    protected boolean isError;<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    protected TraceInfo tinfo;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    private ByteBuffer cellBlock = null;<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>    private User user;<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    private InetAddress remoteAddress;<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    private RpcCallback callback;<a name="line.310"></a>
+<span class="sourceLineNo">311</span><a name="line.311"></a>
+<span class="sourceLineNo">312</span>    private long responseCellSize = 0;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    private long responseBlockSize = 0;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    private boolean retryImmediatelySupported;<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.316"></a>
+<span class="sourceLineNo">317</span>        justification="Can't figure why this complaint is happening... see below")<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    Call(int id, final BlockingService service, final MethodDescriptor md, RequestHeader header,<a name="line.318"></a>
+<span class="sourceLineNo">319</span>         Message param, CellScanner cellScanner, Connection connection, Responder responder,<a name="line.319"></a>
+<span class="sourceLineNo">320</span>         long size, TraceInfo tinfo, final InetAddress remoteAddress) {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      this.id = id;<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      this.service = service;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      this.md = md;<a name="line.323"></a>
+<span class="sourceLineNo">324</span>      this.header = header;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      this.param = param;<a name="line.325"></a>
+<span class="sourceLineNo">326</span>      this.cellScanner = cellScanner;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      this.connection = connection;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>      this.timestamp = System.currentTimeMillis();<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      this.response = null;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      this.responder = responder;<a name="line.330"></a>
+<span class="sourceLineNo">331</span>      this.isError = false;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      this.size = size;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      this.tinfo = tinfo;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      this.user = connection == null? null: connection.user; // FindBugs: NP_NULL_ON_SOME_PATH<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      this.remoteAddress = remoteAddress;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      this.retryImmediatelySupported =<a name="line.336"></a>
+<span class="sourceLineNo">337</span>          connection == null? null: connection.retryImmediatelySupported;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span>    /**<a name="line.340"></a>
+<span class="sourceLineNo">341</span>     * Call is done. Execution happened and we returned results to client. It is now safe to<a name="line.341"></a>
+<span class="sourceLineNo">342</span>     * cleanup.<a name="line.342"></a>
+<span class="sourceLineNo">343</span>     */<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IS2_INCONSISTENT_SYNC",<a name="line.344"></a>
+<span class="sourceLineNo">345</span>        justification="Presume the lock on processing request held by caller is protection enough")<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    void done() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      if (this.cellBlock != null &amp;&amp; reservoir != null) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>        // Return buffer to reservoir now we are done with it.<a name="line.348"></a>
+<span class="sourceLineNo">349</span>        reservoir.putBuffer(this.cellBlock);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>        this.cellBlock = null;<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      }<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      this.connection.decRpcCount();  // Say that we're done with this call.<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    }<a name="line.353"></a>
+<span class="sourceLineNo">354</span><a name="line.354"></a>
+<span class="sourceLineNo">355</span>    @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    public String toString() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>      return toShortString() + " param: " +<a name="line.357"></a>
+<span class="sourceLineNo">358</span>        (this.param != null? ProtobufUtil.getShortTextFormat(this.param): "") +<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        " connection: " + connection.toString();<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    }<a name="line.360"></a>
+<span class="sourceLineNo">361</span><a name="line.361"></a>
+<span class="sourceLineNo">362</span>    protected RequestHeader getHeader() {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>      return this.header;<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>     * Short string representation without param info because param itself could be huge depends on<a name="line.367"></a>
+<span class="sourceLineNo">368</span>     * the payload of a command<a name="line.368"></a>
+<span class="sourceLineNo">369</span>     */<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    String toShortString() {<a name="line.370"></a>
+<span class="sourceLineNo">371</span>      String serviceName = this.connection.service != null ?<a name="line.371"></a>
+<span class="sourceLineNo">372</span>          this.connection.service.getDescriptorForType().getName() : "null";<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      return "callId: " + this.id + " service: " + serviceName +<a name="line.373"></a>
+<span class="sourceLineNo">374</span>          " methodName: " + ((this.md != null) ? this.md.getName() : "n/a") +<a name="line.374"></a>
+<span class="sourceLineNo">375</span>          " size: " + StringUtils.TraditionalBinaryPrefix.long2String(this.size, "", 1) +<a name="line.375"></a>
+<span class="sourceLineNo">376</span>          " connection: " + connection.toString();<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    String toTraceString() {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      String serviceName = this.connection.service != null ?<a name="line.380"></a>
+<span class="sourceLineNo">381</span>                           this.connection.service.getDescriptorForType().getName() : "";<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      String methodName = (this.md != null) ? this.md.getName() : "";<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      return serviceName + "." + methodName;<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>    protected synchronized void setSaslTokenResponse(ByteBuffer response) {<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      this.response = new BufferChain(response);<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    }<a name="line.388"></a>
+<span class="sourceLineNo">389</span><a name="line.389"></a>
+<span class="sourceLineNo">390</span>    protected synchronized void setResponse(Object m, final CellScanner cells,<a name="line.390"></a>
+<span class="sourceLineNo">391</span>        Throwable t, String errorMsg) {<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      if (this.isError) return;<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      if (t != null) this.isError = true;<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      BufferChain bc = null;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>      try {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>        ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();<a name="line.396"></a>
+<span class="sourceLineNo">397</span>        // Presume it a pb Message.  Could be null.<a name="line.397"></a>
+<span class="sourceLineNo">398</span>        Message result = (Message)m;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>        // Call id.<a name="line.399"></a>
+<span class="sourceLineNo">400</span>        headerBuilder.setCallId(this.id);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>        if (t != null) {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>          ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();<a name="line.402"></a>
+<span class="sourceLineNo">403</span>          exceptionBuilder.setExceptionClassName(t.getClass().getName());<a name="line.403"></a>
+<span class="sourceLineNo">404</span>          exceptionBuilder.setStackTrace(errorMsg);<a name="line.404"></a>
+<span class="sourceLineNo">405</span>          exceptionBuilder.setDoNotRetry(t instanceof DoNotRetryIOException);<a name="line.405"></a>
+<span class="sourceLineNo">406</span>          if (t instanceof RegionMovedException) {<a name="line.406"></a>
+<span class="sourceLineNo">407</span>            // Special casing for this exception.  This is only one carrying a payload.<a name="line.407"></a>
+<span class="sourceLineNo">408</span>            // Do this instead of build a generic system for allowing exceptions carry<a name="line.408"></a>
+<span class="sourceLineNo">409</span>            // any kind of payload.<a name="line.409"></a>
+<span class="sourceLineNo">410</span>            RegionMovedException rme = (RegionMovedException)t;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>            exceptionBuilder.setHostname(rme.getHostname());<a name="line.411"></a>
+<span class="sourceLineNo">412</span>            exceptionBuilder.setPort(rme.getPort());<a name="line.412"></a>
+<span class="sourceLineNo">413</span>          }<a name="line.413"></a>
+<span class="sourceLineNo">414</span>          // Set the exception as the result of the method invocation.<a name="line.414"></a>
+<span class="sourceLineNo">415</span>          headerBuilder.setException(exceptionBuilder.build());<a name="line.415"></a>
+<span class="sourceLineNo">416</span>        }<a name="line.416"></a>
+<span class="sourceLineNo">417</span>        // Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the<a name="line.417"></a>
+<span class="sourceLineNo">418</span>        // reservoir when finished. This is hacky and the hack is not contained but benefits are<a name="line.418"></a>
+<span class="sourceLineNo">419</span>        // high when we can avoid a big buffer allocation on each rpc.<a name="line.419"></a>
+<span class="sourceLineNo">420</span>        this.cellBlock = ipcUtil.buildCellBlock(this.connection.codec,<a name="line.420"></a>
+<span class="sourceLineNo">421</span>          this.connection.compressionCodec, cells, reservoir);<a name="line.421"></a>
+<span class="sourceLineNo">422</span>        if (this.cellBlock != null) {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>          CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();<a name="line.423"></a>
+<span class="sourceLineNo">424</span>          // Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.<a name="line.424"></a>
+<span class="sourceLineNo">425</span>          cellBlockBuilder.setLength(this.cellBlock.limit());<a name="line.425"></a>
+<span class="sourceLineNo">426</span>          headerBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.426"></a>
+<span class="sourceLineNo">427</span>        }<a name="line.427"></a>
+<span class="sourceLineNo">428</span>        Message header = headerBuilder.build();<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>        // Organize the response as a set of bytebuffers rather than collect it all together inside<a name="line.430"></a>
+<span class="sourceLineNo">431</span>        // one big byte array; save on allocations.<a name="line.431"></a>
+<span class="sourceLineNo">432</span>        ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);<a name="line.432"></a>
+<span class="sourceLineNo">433</span>        ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        int totalSize = bbHeader.capacity() + (bbResult == null? 0: bbResult.limit()) +<a name="line.434"></a>
+<span class="sourceLineNo">435</span>          (this.cellBlock == null? 0: this.cellBlock.limit());<a name="line.435"></a>
+<span class="sourceLineNo">436</span>        ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));<a name="line.436"></a>
+<span class="sourceLineNo">437</span>        bc = new BufferChain(bbTotalSize, bbHeader, bbResult, this.cellBlock);<a name="line.437"></a>
+<span class="sourceLineNo">438</span>        if (connection.useWrap) {<a name="line.438"></a>
+<span class="sourceLineNo">439</span>          bc = wrapWithSasl(bc);<a name="line.439"></a>
+<span class="sourceLineNo">440</span>        }<a name="line.440"></a>
+<span class="sourceLineNo">441</span>      } catch (IOException e) {<a name="line.441"></a>
+<span class="sourceLineNo">442</span>        LOG.warn("Exception while creating response " + e);<a name="line.442"></a>
+<span class="sourceLineNo">443</span>      }<a name="line.443"></a>
+<span class="sourceLineNo">444</span>      this.response = bc;<a name="line.444"></a>
+<span class="sourceLineNo">445</span>      // Once a response message is created and set to this.response, this Call can be treated as<a name="line.445"></a>
+<span class="sourceLineNo">446</span>      // done. The Responder thread will do the n/w write of this message back to client.<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      if (this.callback != null) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>        try {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>          this.callback.run();<a name="line.449"></a>
+<span class="sourceLineNo">450</span>        } catch (Exception e) {<a name="line.450"></a>
+<span class="sourceLineNo">451</span>          // Don't allow any exception here to kill this handler thread.<a name="line.451"></a>
+<span class="sourceLineNo">452</span>          LOG.warn("Exception while running the Rpc Callback.", 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>    }<a name="line.455"></a>
+<span class="sourceLineNo">456</span><a name="line.456"></a>
+<span class="sourceLineNo">457</span>    private BufferChain wrapWithSasl(BufferChain bc)<a name="line.457"></a>
+<span class="sourceLineNo">458</span>        throws IOException {<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      if (!this.connection.useSasl) return bc;<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      // Looks like no way around this; saslserver wants a byte array.  I have to make it one.<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      // THIS IS A BIG UGLY COPY.<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      byte [] responseBytes = bc.getBytes();<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      byte [] token;<a name="line.463"></a>
+<span class="sourceLineNo">464</span>      // synchronization may be needed since there can be multiple Handler<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      // threads using saslServer to wrap responses.<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      synchronized (connection.saslServer) {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>        token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);<a name="line.467"></a>
+<span class="sourceLineNo">468</span>      }<a name="line.468"></a>
+<span class="sourceLineNo">469</span>      if (LOG.isTraceEnabled()) {<a name="line.469"></a>
+<span class="sourceLineNo">470</span>        LOG.trace("Adding saslServer wrapped token of size " + token.length<a name="line.470"></a>
+<span class="sourceLineNo">471</span>            + " as call response.");<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      }<a name="line.472"></a>
+<span class="sourceLineNo">473</span><a name="line.473"></a>
+<span class="sourceLineNo">474</span>      ByteBuffer bbTokenLength = ByteBuffer.wrap(Bytes.toBytes(token.length));<a name="line.474"></a>
+<span class="sourceLineNo">475</span>      ByteBuffer bbTokenBytes = ByteBuffer.wrap(token);<a name="line.475"></a>
+<span class="sourceLineNo">476</span>      return new BufferChain(bbTokenLength, bbTokenBytes);<a name="line.476"></a>
+<span class="sourceLineNo">477</span>    }<a name="line.477"></a>
+<span class="sourceLineNo">478</span><a name="line.478"></a>
+<span class="sourceLineNo">479</span>    @Override<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    public boolean isClientCellBlockSupported() {<a name="line.480"></a>
+<span class="sourceLineNo">481</span>      return this.connection != null &amp;&amp; this.connection.codec != null;<a name="line.481"></a>
+<span class="sourceLineNo">482</span>    }<a name="line.482"></a>
 <span class="sourceLineNo">483</span><a name="line.483"></a>
-<span class="sourceLineNo">484</span>      ByteBuffer bbTokenLength = ByteBuffer.wrap(Bytes.toBytes(token.length));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      ByteBuffer bbTokenBytes = ByteBuffer.wrap(token);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>      return new BufferChain(bbTokenLength, bbTokenBytes);<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>    @Override<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    public synchronized void endDelay(Object result) throws IOException {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      assert this.delayResponse;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      assert this.delayReturnValue || result == null;<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      this.delayResponse = false;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      delayedCalls.decrementAndGet();<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      if (this.delayReturnValue) {<a name="line.495"></a>
-<span class="sourceLineNo">496</span>        this.setResponse(result, null, null, null);<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      }<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      this.responder.doRespond(this);<a name="line.498"></a>
+<span class="sourceLineNo">484</span>    @Override<a name="line.484"></a>
+<span class="sourceLineNo">485</span>    public long disconnectSince() {<a name="line.485"></a>
+<span class="sourceLineNo">486</span>      if (!connection.channel.isOpen()) {<a name="line.486"></a>
+<span class="sourceLineNo">487</span>        return System.currentTimeMillis() - timestamp;<a name="line.487"></a>
+<span class="sourceLineNo">488</span>      } else {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>        return -1L;<a name="line.489"></a>
+<span class="sourceLineNo">490</span>      }<a name="line.490"></a>
+<span class="sourceLineNo">491</span>    }<a name="line.491"></a>
+<span class="sourceLineNo">492</span><a name="line.492"></a>
+<span class="sourceLineNo">493</span>    public long getSize() {<a name="line.493"></a>
+<span class="sourceLineNo">494</span>      return this.size;<a name="line.494"></a>
+<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
+<span class="sourceLineNo">496</span><a name="line.496"></a>
+<span class="sourceLineNo">497</span>    public long getResponseCellSize() {<a name="line.497"></a>
+<span class="sourceLineNo">498</span>      return responseCellSize;<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>    @Override<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    public synchronized void endDelay() throws IOException {<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      this.endDelay(null);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    }<a name="line.504"></a>
-<span class="sourceLineNo">505</span><a name="line.505"></a>
-<span class="sourceLineNo">506</span>    @Override<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    public synchronized void startDelay(boolean delayReturnValue) {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      assert !this.delayResponse;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      this.delayResponse = true;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      this.delayReturnValue = delayReturnValue;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      int numDelayed = delayedCalls.incrementAndGet();<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      if (numDelayed &gt; warnDelayedCalls) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        LOG.warn("Too many delayed calls: limit " + warnDelayedCalls + " current " + numDelayed);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    }<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>    @Override<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    public synchronized void endDelayThrowing(Throwable t) throws IOException {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      this.setResponse(null, null, t, StringUtils.stringifyException(t));<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      this.delayResponse = false;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      this.sendResponseIfReady();<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    }<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    @Override<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    public synchronized boolean isDelayed() {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>      return this.delayResponse;<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    }<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    public synchronized boolean isReturnValueDelayed() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      return this.delayReturnValue;<a name="line.531"></a>
+<span class="sourceLineNo">501</span>    public void incrementResponseCellSize(long cellSize) {<a name="line.501"></a>
+<span class="sourceLineNo">502</span>      responseCellSize += cellSize;<a name="line.502"></a>
+<span class="sourceLineNo">503</span>    }<a name="line.503"></a>
+<span class="sourceLineNo">504</span><a name="line.504"></a>
+<span class="sourceLineNo">505</span>    @Override<a name="line.505"></a>
+<span class="sourceLineNo">506</span>    public long getResponseBlockSize() {<a name="line.506"></a>
+<span class="sourceLineNo">507</span>      return responseBlockSize;<a name="line.507"></a>
+<span class="sourceLineNo">508</span>    }<a name="line.508"></a>
+<span class="sourceLineNo">509</span><a name="line.509"></a>
+<span class="sourceLineNo">510</span>    @Override<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    public void incrementResponseBlockSize(long blockSize) {<a name="line.511"></a>
+<span class="sourceLineNo">512</span>      responseBlockSize += blockSize;<a name="line.512"></a>
+<span class="sourceLineNo">513</span>    }<a name="line.513"></a>
+<span class="sourceLineNo">514</span><a name="line.514"></a>
+<span class="sourceLineNo">515</span>    public synchronized void sendResponseIfReady() throws IOException {<a name="line.515"></a>
+<span class="sourceLineNo">516</span>      this.responder.doRespond(this);<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>    public UserGroupInformation getRemoteUser() {<a name="line.519"></a>
+<span class="sourceLineNo">520</span>      return connection.ugi;<a name="line.520"></a>
+<span class="sourceLineNo">521</span>    }<a name="line.521"></a>
+<span class="sourceLineNo">522</span><a name="line.522"></a>
+<span class="sourceLineNo">523</span>    @Override<a name="line.523"></a>
+<span class="sourceLineNo">524</span>    public User getRequestUser() {<a name="line.524"></a>
+<span class="sourceLineNo">525</span>      return user;<a name="line.525"></a>
+<span class="sourceLineNo">526</span>    }<a name="line.526"></a>
+<span class="sourceLineNo">527</span><a name="line.527"></a>
+<span class="sourceLineNo">528</span>    @Override<a name="line.528"></a>
+<span class="sourceLineNo">529</span>    public String getRequestUserName() {<a name="line.529"></a>
+<span class="sourceLineNo">530</span>      User user = getRequestUser();<a name="line.530"></a>
+<span class="sourceLineNo">531</span>      return user == null? null: user.getShortName();<a name="line.531"></a>
 <span class="sourceLineNo">532</span>    }<a name="line.532"></a>
 <span class="sourceLineNo">533</span><a name="line.533"></a>
 <span class="sourceLineNo">534</span>    @Override<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    public boolean isClientCellBlockSupported() {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      return this.connection != null &amp;&amp; this.connection.codec != null;<a name="line.536"></a>
+<span class="sourceLineNo">535</span>    public InetAddress getRemoteAddress() {<a name="line.535"></a>
+<span class="sourceLineNo">536</span>      return remoteAddress;<a name="line.536"></a>
 <span class="sourceLineNo">537</span>    }<a name="line.537"></a>
 <span class="sourceLineNo">538</span><a name="line.538"></a>
 <span class="sourceLineNo">539</span>    @Override<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    public long disconnectSince() {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      if (!connection.channel.isOpen()) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        return System.currentTimeMillis() - timestamp;<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      } else {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>        return -1L;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      }<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>    public long getSize() {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      return this.size;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    }<a name="line.550"></a>
-<span class="sourceLineNo">551</span><a name="line.551"></a>
-<span class="sourceLineNo">552</span>    public long getResponseCellSize() {<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      return responseCellSize;<a name="line.553"></a>
-<span class="sourceLineNo">554</span>    }<a name="line.554"></a>
-<span class="sourceLineNo">555</span><a name="line.555"></a>
-<span class="sourceLineNo">556</span>    public void incrementResponseCellSize(long cellSize) {<a name="line.556"></a>
-<span class="sourceLineNo">557</span>      responseCellSize += cellSize;<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    }<a name="line.558"></a>
-<span class="sourceLineNo">559</span><a name="line.559"></a>
-<span class="sourceLineNo">560</span>    @Override<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    public long getResponseBlockSize() {<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      return responseBlockSize;<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span><a name="line.564"></a>
-<span class="sourceLineNo">565</span>    @Override<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    public void incrementResponseBlockSize(long blockSize) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      responseBlockSize += blockSize;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    /**<a name="line.570"></a>
-<span class="sourceLineNo">571</span>     * If we have a response, and delay is not set, then respond<a name="line.571"></a>
-<span class="sourceLineNo">572</span>     * immediately.  Otherwise, do not respond to client.  This is<a name="line.572"></a>
-<span class="sourceLineNo">573</span>     * called by the RPC code in the context of the Handler thread.<a name="line.573"></a>
-<span class="sourceLineNo">574</span>     */<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    public synchronized void sendResponseIfReady() throws IOException {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      if (!this.delayResponse) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        this.responder.doRespond(this);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    }<a name="line.579"></a>
-<span class="sourceLineNo">580</span><a name="line.580"></a>
-<span class="sourceLineNo">581</span>    public UserGroupInformation getRemoteUser() {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      return connection.ugi;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
+<span class="sourceLineNo">540</span>    public VersionInfo getClientVersionInfo() {<a name="line.540"></a>
+<span class="sourceLineNo">541</span>      return connection.getVersionInfo();<a name="line.541"></a>
+<span class="sourceLineNo">542</span>    }<a name="line.542"></a>
+<span class="sourceLineNo">543</span><a name="line.543"></a>
+<span class="sourceLineNo">544</span>    @Override<a name="line.544"></a>
+<span class="sourceLineNo">545</span>    public synchronized void setCallBack(RpcCallback callback) {<a name="line.545"></a>
+<span class="sourceLineNo">546</span>      this.callback = callback;<a name="line.546"></a>
+<span class="sourceLineNo">547</span>    }<a name="line.547"></a>
+<span class="sourceLineNo">548</span><a name="line.548"></a>
+<span class="sourceLineNo">549</span>    @Override<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    public boolean isRetryImmediatelySupported() {<a name="line.550"></a>
+<span class="sourceLineNo">551</span>      return retryImmediatelySupported;<a name="line.551"></a>
+<span class="sourceLineNo">552</span>    }<a name="line.552"></a>
+<span class="sourceLineNo">553</span>  }<a name="line.553"></a>
+<span class="sourceLineNo">554</span><a name="line.554"></a>
+<span class="sourceLineNo">555</span>  /** Listens on the socket. Creates jobs for the handler threads*/<a name="line.555"></a>
+<span class="sourceLineNo">556</span>  private class Listener extends Thread {<a name="line.556"></a>
+<span class="sourceLineNo">557</span><a name="line.557"></a>
+<span class="sourceLineNo">558</span>    private ServerSocketChannel acceptChannel = null; //the accept channel<a name="line.558"></a>
+<span class="sourceLineNo">559</span>    private Selector selector = null; //the selector that we use for the server<a name="line.559"></a>
+<span class="sourceLineNo">560</span>    private Reader[] readers = null;<a name="line.560"></a>
+<span class="sourceLineNo">561</span>    private int currentReader = 0;<a name="line.561"></a>
+<span class="sourceLineNo">562</span>    private Random rand = new Random();<a name="line.562"></a>
+<span class="sourceLineNo">563</span>    private long lastCleanupRunTime = 0; //the last time when a cleanup connec-<a name="line.563"></a>
+<span class="sourceLineNo">564</span>                                         //-tion (for idle connections) ran<a name="line.564"></a>
+<span class="sourceLineNo">565</span>    private long cleanupInterval = 10000; //the minimum interval between<a name="line.565"></a>
+<span class="sourceLineNo">566</span>                                          //two cleanup runs<a name="line.566"></a>
+<span class="sourceLineNo">567</span>    private int backlogLength;<a name="line.567"></a>
+<span class="sourceLineNo">568</span><a name="line.568"></a>
+<span class="sourceLineNo">569</span>    private ExecutorService readPool;<a name="line.569"></a>
+<span class="sourceLineNo">570</span><a name="line.570"></a>
+<span class="sourceLineNo">571</span>    public Listener(final String name) throws IOException {<a name="line.571"></a>
+<span class="sourceLineNo">572</span>      super(name);<a name="line.572"></a>
+<span class="sourceLineNo">573</span>      backlogLength = conf.getInt("hbase.ipc.server.listen.queue.size", 128);<a name="line.573"></a>
+<span class="sourceLineNo">574</span>      // Create a new server socket and set to non blocking mode<a name="line.574"></a>
+<span class="sourceLineNo">575</span>      acceptChannel = ServerSocketChannel.open();<a name="line.575"></a>
+<span class="sourceLineNo">576</span>      acceptChannel.configureBlocking(false);<a name="line.576"></a>
+<span class="sourceLineNo">577</span><a name="line.577"></a>
+<span class="sourceLineNo">578</span>      // Bind the server socket to the binding addrees (can be different from the default interface)<a name="line.578"></a>
+<span class="sourceLineNo">579</span>      bind(acceptChannel.socket(), bindAddress, backlogLength);<a name="line.579"></a>
+<span class="sourceLineNo">580</span>      port = acceptChannel.socket().getLocalPort(); //Could be an ephemeral port<a name="line.580"></a>
+<span class="sourceLineNo">581</span>      address = (InetSocketAddress)acceptChannel.socket().getLocalSocketAddress();<a name="line.581"></a>
+<span class="sourceLineNo">582</span>      // create a selector;<a name="line.582"></a>
+<span class="sourceLineNo">583</span>      selector= Selector.open();<a name="line.583"></a>
 <span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    @Override<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    public User getRequestUser() {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      return user;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>    @Override<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    public String getRequestUserName() {<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      User user = getRequestUser();<a name="line.592"></a>
-<span class="sourceLineNo">593</span>      return user == null? null: user.getShortName();<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    }<a name="line.594"></a>
-<span class="sourceLineNo">595</span><a name="line.595"></a>
-<span class="sourceLineNo">596</span>    @Override<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    public InetAddress getRemoteAddress() {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      return remoteAddress;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    }<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>    @Override<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    public VersionInfo getClientVersionInfo() {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>      return connection.getVersionInfo();<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    }<a name="line.604"></a>
-<span class="sourceLineNo">605</span><a name="line.605"></a>
-<span class="sourceLineNo">606</span>    @Override<a name="line.606"></a>
-<span class="sourceLineNo">607</span>    public synchronized void setCallBack(RpcCallback callback) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.callback = callback;<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>    @Override<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    public boolean isRetryImmediatelySupported() {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>      return retryImmediatelySupported;<a name="line.613"></a>
-<span class="sourceLineNo">614</span>    }<a name="line.614"></a>
-<span class="sourceLineNo">615</span>  }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>  /** Listens on the socket. Creates jobs for the handler threads*/<a name="line.617"></a>
-<span class="sourceLineNo">618</span>  private class Listener extends Thread {<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span>    private ServerSocketChannel acceptChannel = null; //the accept channel<a name="line.620"></a>
-<span class="sourceLineNo">621</span>    private Selector selector = null; //the selector that we use for the server<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    private Reader[] readers = null;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    private int currentReader = 0;<a name="line.623"></a>
-<span class="sourceLineNo">624</span>    private Random rand = new Random();<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    private long lastCleanupRunTime = 0; //the last time when a cleanup connec-<a name="line.625"></a>
-<span class="sourceLineNo">626</span>                                         //-tion (for idle connections) ran<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    private long cleanupInterval = 10000; //the minimum interval between<a name="line.627"></a>
-<span class="sourceLineNo">628</span>                                          //two cleanup runs<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    private int backlogLength;<a name="line.629"></a>
-<span class="sourceLineNo">630</span><a name="line.630"></a>
-<span class="sourceLineNo">631</span>    private ExecutorService readPool;<a name="line.631"></a>
-<span class="sourceLineNo">632</span><a name="line.632"></a>
-<span class="sourceLineNo">633</span>    public Listener(final String name) throws IOException {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      super(name);<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      backlogLength = conf.getInt("hbase.ipc.server.listen.queue.size", 128);<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      // Create a new server socket and set to non blocking mode<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      acceptChannel = ServerSocketChannel.open();<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      acceptChannel.configureBlocking(false);<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>      // Bind the server socket to the binding addrees (can be different from the default interface)<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      bind(acceptChannel.socket(), bindAddress, backlogLength);<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      port = acceptChannel.socket().getLocalPort(); //Could be an ephemeral port<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      address = (InetSocketAddress)acceptChannel.socket().getLocalSocketAddress();<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      // create a selector;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      selector= Selector.open();<a name="line.645"></a>
-<span class="sourceLineNo">646</span><a name="line.646"></a>
-<span class="sourceLineNo">647</span>      readers = new Reader[readThreads];<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      readPool = Executors.newFixedThreadPool(readThreads,<a name="line.648"></a>
-<span class="sourceLineNo">649</span>        new ThreadFactoryBuilder().setNameFormat(<a name="line.649"></a>
-<span class="sourceLineNo">650</span>          "RpcServer.reader=%d,bindAddress=" + bindAddress.getHostName() +<a name="line.650"></a>
-<span class="sourceLineNo">651</span>          ",port=" + port).setDaemon(true).build());<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      for (int i = 0; i &lt; readThreads; ++i) {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        Reader reader = new Reader();<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        readers[i] = reader;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        readPool.execute(reader);<a name="line.655"></a>
-<span class="sourceLineNo">656</span>      }<a name="line.656"></a>
-<span class="sourceLineNo">657</span>      LOG.info(getName() + ": started " + readThreads + " reader(s) listening on port=" + port);<a name="line.657"></a>
-<span class="sourceLineNo">658</span><a name="line.658"></a>
-<span class="sourceLineNo">659</span>      // Register accepts on the server socket with the selector.<a name="line.659"></a>
-<span class="sourceLineNo">660</span>      acceptChannel.register(selector, SelectionKey.OP_ACCEPT);<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      this.setName("RpcServer.listener,port=" + port);<a name="line.661"></a>
-<span class="sourceLineNo">662</span>      this.setDaemon(true);<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    }<a name="line.663"></a>
-<span class="sourceLineNo">664</span><a name="line.664"></a>
-<span class="sourceLineNo">665</span><a name="line.665"></a>
-<span class="sourceLineNo">666</span>    private class Reader implements Runnable {<a name="line.666"></a>
-<span class="sourceLineNo">667</span>      private volatile boolean adding = false;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>      private final Selector readSelector;<a name="line.668"></a>
-<span class="sourceLineNo">669</span><a name="line.669"></a>
-<span class="sourceLineNo">670</span>      Reader() throws IOException {<a name="line.670"></a>
-<span class="sourceLineNo">671</span>        this.readSelector = Selector.open();<a name="line.671"></a>
-<span class="sourceLineNo">672</span>      }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      @Override<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      public void run() {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        try {<a name="line.675"></a>
-<span class="sourceLineNo">676</span>          doRunLoop();<a name="line.676"></a>
-<span class="sourceLineNo">677</span>        } finally {<a name="line.677"></a>
-<span class="sourceLineNo">678</span>          try {<a name="line.678"></a>
-<span class="sourceLineNo">679</span>            readSelector.close();<a name="line.679"></a>
-<span class="sourceLineNo">680</span>          } catch (IOException ioe) {<a name="line.680"></a>
-<span class="sourceLineNo">681</span>            LOG.error(getName() + ": error closing read selector in " + getName(), ioe);<a name="line.681"></a>
-<span class="sourceLineNo">682</span>          }<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        }<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      }<a name="line.684"></a>
-<span class="sourceLineNo">685</span><a name="line.685"></a>
-<span class="sourceLineNo">686</span>      private synchronized void doRunLoop() {<a name="line.686"></a>
-<span class="sourceLin

<TRUNCATED>

[05/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html
new file mode 100644
index 0000000..96a27c4
--- /dev/null
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.TestThread.html
@@ -0,0 +1,391 @@
+<!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> *<a name="line.2"></a>
+<span class="sourceLineNo">003</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.3"></a>
+<span class="sourceLineNo">004</span> * or more contributor license agreements.  See the NOTICE file<a name="line.4"></a>
+<span class="sourceLineNo">005</span> * distributed with this work for additional information<a name="line.5"></a>
+<span class="sourceLineNo">006</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.6"></a>
+<span class="sourceLineNo">007</span> * to you under the Apache License, Version 2.0 (the<a name="line.7"></a>
+<span class="sourceLineNo">008</span> * "License"); you may not use this file except in compliance<a name="line.8"></a>
+<span class="sourceLineNo">009</span> * with the License.  You may obtain a copy of the License at<a name="line.9"></a>
+<span class="sourceLineNo">010</span> *<a name="line.10"></a>
+<span class="sourceLineNo">011</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
+<span class="sourceLineNo">012</span> *<a name="line.12"></a>
+<span class="sourceLineNo">013</span> * Unless required by applicable law or agreed to in writing, software<a name="line.13"></a>
+<span class="sourceLineNo">014</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.14"></a>
+<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.15"></a>
+<span class="sourceLineNo">016</span> * See the License for the specific language governing permissions and<a name="line.16"></a>
+<span class="sourceLineNo">017</span> * limitations under the License.<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 static org.apache.hadoop.hbase.security.HBaseKerberosUtils.getKeytabFileForTesting;<a name="line.21"></a>
+<span class="sourceLineNo">022</span>import static org.apache.hadoop.hbase.security.HBaseKerberosUtils.getPrincipalForTesting;<a name="line.22"></a>
+<span class="sourceLineNo">023</span>import static org.apache.hadoop.hbase.security.HBaseKerberosUtils.getSecuredConfiguration;<a name="line.23"></a>
+<span class="sourceLineNo">024</span>import static org.junit.Assert.assertEquals;<a name="line.24"></a>
+<span class="sourceLineNo">025</span>import static org.junit.Assert.assertNotSame;<a name="line.25"></a>
+<span class="sourceLineNo">026</span>import static org.junit.Assert.assertSame;<a name="line.26"></a>
+<span class="sourceLineNo">027</span><a name="line.27"></a>
+<span class="sourceLineNo">028</span>import java.io.File;<a name="line.28"></a>
+<span class="sourceLineNo">029</span>import java.io.IOException;<a name="line.29"></a>
+<span class="sourceLineNo">030</span>import java.net.InetSocketAddress;<a name="line.30"></a>
+<span class="sourceLineNo">031</span>import java.util.ArrayList;<a name="line.31"></a>
+<span class="sourceLineNo">032</span>import java.util.Collections;<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.Properties;<a name="line.34"></a>
+<span class="sourceLineNo">035</span>import java.util.concurrent.ThreadLocalRandom;<a name="line.35"></a>
+<span class="sourceLineNo">036</span><a name="line.36"></a>
+<span class="sourceLineNo">037</span>import com.google.protobuf.RpcController;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import com.google.protobuf.ServiceException;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.conf.Configuration;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.fs.CommonConfigurationKeys;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.Cell;<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.CellUtil;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<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.ServerName;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.ipc.FifoRpcScheduler;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.ipc.PayloadCarryingRpcController;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ipc.RpcClient;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.ipc.RpcClientFactory;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ipc.RpcServerInterface;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ipc.protobuf.generated.TestProtos;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ipc.protobuf.generated.TestRpcServiceProtos;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.minikdc.MiniKdc;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.junit.AfterClass;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.junit.Before;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.junit.BeforeClass;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.junit.Rule;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.junit.Test;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.junit.rules.ExpectedException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.mockito.Mockito;<a name="line.64"></a>
+<span class="sourceLineNo">065</span><a name="line.65"></a>
+<span class="sourceLineNo">066</span>import com.google.common.collect.Lists;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import com.google.protobuf.BlockingRpcChannel;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import com.google.protobuf.BlockingService;<a name="line.68"></a>
+<span class="sourceLineNo">069</span><a name="line.69"></a>
+<span class="sourceLineNo">070</span>import javax.security.sasl.SaslException;<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span>public abstract class AbstractTestSecureIPC {<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>  private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>  private static final File KEYTAB_FILE = new File(TEST_UTIL.getDataTestDir("keytab").toUri()<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      .getPath());<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span>  static final BlockingService SERVICE =<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      TestRpcServiceProtos.TestProtobufRpcProto.newReflectiveBlockingService(<a name="line.80"></a>
+<span class="sourceLineNo">081</span>          new TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface() {<a name="line.81"></a>
+<span class="sourceLineNo">082</span><a name="line.82"></a>
+<span class="sourceLineNo">083</span>            @Override<a name="line.83"></a>
+<span class="sourceLineNo">084</span>            public TestProtos.EmptyResponseProto ping(RpcController controller,<a name="line.84"></a>
+<span class="sourceLineNo">085</span>                                                      TestProtos.EmptyRequestProto request)<a name="line.85"></a>
+<span class="sourceLineNo">086</span>                throws ServiceException {<a name="line.86"></a>
+<span class="sourceLineNo">087</span>              return null;<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>            @Override<a name="line.90"></a>
+<span class="sourceLineNo">091</span>            public TestProtos.EmptyResponseProto error(RpcController controller,<a name="line.91"></a>
+<span class="sourceLineNo">092</span>                                                       TestProtos.EmptyRequestProto request)<a name="line.92"></a>
+<span class="sourceLineNo">093</span>                throws ServiceException {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>              return null;<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>            @Override<a name="line.97"></a>
+<span class="sourceLineNo">098</span>            public TestProtos.EchoResponseProto echo(RpcController controller,<a name="line.98"></a>
+<span class="sourceLineNo">099</span>                                                     TestProtos.EchoRequestProto request)<a name="line.99"></a>
+<span class="sourceLineNo">100</span>                throws ServiceException {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>              if (controller instanceof PayloadCarryingRpcController) {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>                PayloadCarryingRpcController pcrc = (PayloadCarryingRpcController) controller;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>                // If cells, scan them to check we are able to iterate what we were given and since<a name="line.103"></a>
+<span class="sourceLineNo">104</span>                // this is<a name="line.104"></a>
+<span class="sourceLineNo">105</span>                // an echo, just put them back on the controller creating a new block. Tests our<a name="line.105"></a>
+<span class="sourceLineNo">106</span>                // block<a name="line.106"></a>
+<span class="sourceLineNo">107</span>                // building.<a name="line.107"></a>
+<span class="sourceLineNo">108</span>                CellScanner cellScanner = pcrc.cellScanner();<a name="line.108"></a>
+<span class="sourceLineNo">109</span>                List&lt;Cell&gt; list = null;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>                if (cellScanner != null) {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>                  list = new ArrayList&lt;Cell&gt;();<a name="line.111"></a>
+<span class="sourceLineNo">112</span>                  try {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>                    while (cellScanner.advance()) {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>                      list.add(cellScanner.current());<a name="line.114"></a>
+<span class="sourceLineNo">115</span>                    }<a name="line.115"></a>
+<span class="sourceLineNo">116</span>                  } catch (IOException e) {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>                    throw new ServiceException(e);<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>                cellScanner = CellUtil.createCellScanner(list);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>                ((PayloadCarryingRpcController) controller).setCellScanner(cellScanner);<a name="line.121"></a>
+<span class="sourceLineNo">122</span>              }<a name="line.122"></a>
+<span class="sourceLineNo">123</span>              return TestProtos.EchoResponseProto.newBuilder()<a name="line.123"></a>
+<span class="sourceLineNo">124</span>                  .setMessage(request.getMessage()).build();<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>  private static MiniKdc KDC;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  private static String HOST = "localhost";<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  private static String PRINCIPAL;<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>  String krbKeytab;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  String krbPrincipal;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  UserGroupInformation ugi;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>  Configuration clientConf;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  Configuration serverConf;<a name="line.136"></a>
+<span class="sourceLineNo">137</span><a name="line.137"></a>
+<span class="sourceLineNo">138</span>  abstract Class&lt;? extends RpcClient&gt; getRpcClientClass();<a name="line.138"></a>
+<span class="sourceLineNo">139</span><a name="line.139"></a>
+<span class="sourceLineNo">140</span>  @Rule<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  public ExpectedException exception = ExpectedException.none();<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  @BeforeClass<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  public static void setUp() throws Exception {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    Properties conf = MiniKdc.createConf();<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    conf.put(MiniKdc.DEBUG, true);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    KDC = new MiniKdc(conf, new File(TEST_UTIL.getDataTestDir("kdc").toUri().getPath()));<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    KDC.start();<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    PRINCIPAL = "hbase/" + HOST;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    KDC.createPrincipal(KEYTAB_FILE, PRINCIPAL);<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    HBaseKerberosUtils.setKeytabFileForTesting(KEYTAB_FILE.getAbsolutePath());<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    HBaseKerberosUtils.setPrincipalForTesting(PRINCIPAL + "@" + KDC.getRealm());<a name="line.152"></a>
+<span class="sourceLineNo">153</span>  }<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>  @AfterClass<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  public static void tearDown() throws IOException {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    if (KDC != null) {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      KDC.stop();<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    }<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    TEST_UTIL.cleanupTestDir();<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>  @Before<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  public void setUpTest() throws Exception {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    krbKeytab = getKeytabFileForTesting();<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    krbPrincipal = getPrincipalForTesting();<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    ugi = loginKerberosPrincipal(krbKeytab, krbPrincipal);<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    clientConf = getSecuredConfiguration();<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    clientConf.set(RpcClientFactory.CUSTOM_RPC_CLIENT_IMPL_CONF_KEY, getRpcClientClass().getName());<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    serverConf = getSecuredConfiguration();<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>  @Test<a name="line.173"></a>
+<span class="sourceLineNo">174</span>  public void testRpcCallWithEnabledKerberosSaslAuth() throws Exception {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    UserGroupInformation ugi2 = UserGroupInformation.getCurrentUser();<a name="line.175"></a>
+<span class="sourceLineNo">176</span><a name="line.176"></a>
+<span class="sourceLineNo">177</span>    // check that the login user is okay:<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    assertSame(ugi, ugi2);<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    assertEquals(AuthenticationMethod.KERBEROS, ugi.getAuthenticationMethod());<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    assertEquals(krbPrincipal, ugi.getUserName());<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span>    callRpcService(User.create(ugi2));<a name="line.182"></a>
+<span class="sourceLineNo">183</span>  }<a name="line.183"></a>
+<span class="sourceLineNo">184</span><a name="line.184"></a>
+<span class="sourceLineNo">185</span>  @Test<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  public void testRpcFallbackToSimpleAuth() throws Exception {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    String clientUsername = "testuser";<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    UserGroupInformation clientUgi = UserGroupInformation.createUserForTesting(clientUsername,<a name="line.188"></a>
+<span class="sourceLineNo">189</span>        new String[]{clientUsername});<a name="line.189"></a>
+<span class="sourceLineNo">190</span><a name="line.190"></a>
+<span class="sourceLineNo">191</span>    // check that the client user is insecure<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    assertNotSame(ugi, clientUgi);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    assertEquals(AuthenticationMethod.SIMPLE, clientUgi.getAuthenticationMethod());<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    assertEquals(clientUsername, clientUgi.getUserName());<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>    clientConf.set(User.HBASE_SECURITY_CONF_KEY, "simple");<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    serverConf.setBoolean(RpcServer.FALLBACK_TO_INSECURE_CLIENT_AUTH, true);<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    callRpcService(User.create(clientUgi));<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>  void setRpcProtection(String clientProtection, String serverProtection) {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    clientConf.set("hbase.rpc.protection", clientProtection);<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    serverConf.set("hbase.rpc.protection", serverProtection);<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  }<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  /**<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * Test various combinations of Server and Client qops.<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * @throws Exception<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  @Test<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  public void testSaslWithCommonQop() throws Exception {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    setRpcProtection("privacy,authentication", "authentication");<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    callRpcService(User.create(ugi));<a name="line.213"></a>
+<span class="sourceLineNo">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span>    setRpcProtection("authentication", "privacy,authentication");<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    callRpcService(User.create(ugi));<a name="line.216"></a>
+<span class="sourceLineNo">217</span><a name="line.217"></a>
+<span class="sourceLineNo">218</span>    setRpcProtection("integrity,authentication", "privacy,authentication");<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    callRpcService(User.create(ugi));<a name="line.219"></a>
+<span class="sourceLineNo">220</span>  }<a name="line.220"></a>
+<span class="sourceLineNo">221</span><a name="line.221"></a>
+<span class="sourceLineNo">222</span>  @Test<a name="line.222"></a>
+<span class="sourceLineNo">223</span>  public void testSaslNoCommonQop() throws Exception {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    exception.expect(SaslException.class);<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    exception.expectMessage("No common protection layer between client and server");<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    setRpcProtection("integrity", "privacy");<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    callRpcService(User.create(ugi));<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>  private UserGroupInformation loginKerberosPrincipal(String krbKeytab, String krbPrincipal)<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      throws Exception {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    Configuration cnf = new Configuration();<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    cnf.set(CommonConfigurationKeys.HADOOP_SECURITY_AUTHENTICATION, "kerberos");<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    UserGroupInformation.setConfiguration(cnf);<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    UserGroupInformation.loginUserFromKeytab(krbPrincipal, krbKeytab);<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    return UserGroupInformation.getLoginUser();<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>  /**<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * Sets up a RPC Server and a Client. Does a RPC checks the result. If an exception is thrown<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * from the stub, this function will throw root cause of that exception.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  private void callRpcService(User clientUser) throws Exception {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    SecurityInfo securityInfoMock = Mockito.mock(SecurityInfo.class);<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    Mockito.when(securityInfoMock.getServerPrincipal())<a name="line.245"></a>
+<span class="sourceLineNo">246</span>        .thenReturn(HBaseKerberosUtils.KRB_PRINCIPAL);<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    SecurityInfo.addInfo("TestProtobufRpcProto", securityInfoMock);<a name="line.247"></a>
+<span class="sourceLineNo">248</span><a name="line.248"></a>
+<span class="sourceLineNo">249</span>    InetSocketAddress isa = new InetSocketAddress(HOST, 0);<a name="line.249"></a>
+<span class="sourceLineNo">250</span><a name="line.250"></a>
+<span class="sourceLineNo">251</span>    RpcServerInterface rpcServer =<a name="line.251"></a>
+<span class="sourceLineNo">252</span>        new RpcServer(null, "AbstractTestSecureIPC",<a name="line.252"></a>
+<span class="sourceLineNo">253</span>            Lists.newArrayList(new RpcServer.BlockingServiceAndInterface(SERVICE, null)), isa,<a name="line.253"></a>
+<span class="sourceLineNo">254</span>            serverConf, new FifoRpcScheduler(serverConf, 1));<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    rpcServer.start();<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    try (RpcClient rpcClient = RpcClientFactory.createClient(clientConf,<a name="line.256"></a>
+<span class="sourceLineNo">257</span>        HConstants.DEFAULT_CLUSTER_ID.toString())) {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>      InetSocketAddress address = rpcServer.getListenerAddress();<a name="line.258"></a>
+<span class="sourceLineNo">259</span>      if (address == null) {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>        throw new IOException("Listener channel is closed");<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      }<a name="line.261"></a>
+<span class="sourceLineNo">262</span>      BlockingRpcChannel channel =<a name="line.262"></a>
+<span class="sourceLineNo">263</span>          rpcClient.createBlockingRpcChannel(<a name="line.263"></a>
+<span class="sourceLineNo">264</span>              ServerName.valueOf(address.getHostName(), address.getPort(),<a name="line.264"></a>
+<span class="sourceLineNo">265</span>                  System.currentTimeMillis()), clientUser, 0);<a name="line.265"></a>
+<span class="sourceLineNo">266</span>      TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface stub =<a name="line.266"></a>
+<span class="sourceLineNo">267</span>          TestRpcServiceProtos.TestProtobufRpcProto.newBlockingStub(channel);<a name="line.267"></a>
+<span class="sourceLineNo">268</span>      List&lt;String&gt; results = new ArrayList&lt;&gt;();<a name="line.268"></a>
+<span class="sourceLineNo">269</span>      TestThread th1 = new TestThread(stub, results);<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      final Throwable exception[] = new Throwable[1];<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      Collections.synchronizedList(new ArrayList&lt;Throwable&gt;());<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      Thread.UncaughtExceptionHandler exceptionHandler =<a name="line.272"></a>
+<span class="sourceLineNo">273</span>          new Thread.UncaughtExceptionHandler() {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>            public void uncaughtException(Thread th, Throwable ex) {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>              exception[0] = ex;<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>      th1.setUncaughtExceptionHandler(exceptionHandler);<a name="line.278"></a>
+<span class="sourceLineNo">279</span>      th1.start();<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      th1.join();<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      if (exception[0] != null) {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>        // throw root cause.<a name="line.282"></a>
+<span class="sourceLineNo">283</span>        while (exception[0].getCause() != null) {<a name="line.283"></a>
+<span class="sourceLineNo">284</span>          exception[0] = exception[0].getCause();<a name="line.284"></a>
+<span class="sourceLineNo">285</span>        }<a name="line.285"></a>
+<span class="sourceLineNo">286</span>        throw (Exception) exception[0];<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      }<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    } finally {<a name="line.288"></a>
+<span class="sourceLineNo">289</span>      rpcServer.stop();<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    }<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  }<a name="line.291"></a>
+<span class="sourceLineNo">292</span><a name="line.292"></a>
+<span class="sourceLineNo">293</span>  public static class TestThread extends Thread {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      private final TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface stub;<a name="line.294"></a>
+<span class="sourceLineNo">295</span><a name="line.295"></a>
+<span class="sourceLineNo">296</span>      private final List&lt;String&gt; results;<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span>          public TestThread(TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface stub, List&lt;String&gt; results) {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>          this.stub = stub;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>          this.results = results;<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>          @Override<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      public void run() {<a name="line.304"></a>
+<span class="sourceLineNo">305</span>          String result;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>          try {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>              result = stub.echo(null, TestProtos.EchoRequestProto.newBuilder().setMessage(String.valueOf(<a name="line.307"></a>
+<span class="sourceLineNo">308</span>                  ThreadLocalRandom.current().nextInt())).build()).getMessage();<a name="line.308"></a>
+<span class="sourceLineNo">309</span>            } catch (ServiceException e) {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>              throw new RuntimeException(e);<a name="line.310"></a>
+<span class="sourceLineNo">311</span>            }<a name="line.311"></a>
+<span class="sourceLineNo">312</span>          if (results != null) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>              synchronized (results) {<a name="line.313"></a>
+<span class="sourceLineNo">314</span>                  results.add(result);<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>    }<a name="line.318"></a>
+<span class="sourceLineNo">319</span>}<a name="line.319"></a>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</pre>
+</div>
+</body>
+</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html
index 0f5e702..96a27c4 100644
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html
+++ b/testdevapidocs/src-html/org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html
@@ -40,217 +40,291 @@
 <span class="sourceLineNo">032</span>import java.util.Collections;<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.Properties;<a name="line.34"></a>
-<span class="sourceLineNo">035</span><a name="line.35"></a>
-<span class="sourceLineNo">036</span>import org.apache.hadoop.conf.Configuration;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.fs.CommonConfigurationKeys;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.HConstants;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.ServerName;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.ipc.FifoRpcScheduler;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.ipc.RpcClient;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.hadoop.hbase.ipc.RpcClientFactory;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.hadoop.hbase.ipc.RpcServerInterface;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.hadoop.hbase.ipc.TestDelayedRpc.TestDelayedImplementation;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.ipc.TestDelayedRpc.TestThread;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos;<a name="line.48"></a>
-<span class="sourceLineNo">049</span>import org.apache.hadoop.minikdc.MiniKdc;<a name="line.49"></a>
-<span class="sourceLineNo">050</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import org.junit.AfterClass;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import org.junit.Before;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import org.junit.BeforeClass;<a name="line.54"></a>
-<span class="sourceLineNo">055</span>import org.junit.Rule;<a name="line.55"></a>
-<span class="sourceLineNo">056</span>import org.junit.Test;<a name="line.56"></a>
-<span class="sourceLineNo">057</span>import org.junit.rules.ExpectedException;<a name="line.57"></a>
-<span class="sourceLineNo">058</span>import org.mockito.Mockito;<a name="line.58"></a>
-<span class="sourceLineNo">059</span><a name="line.59"></a>
-<span class="sourceLineNo">060</span>import com.google.common.collect.Lists;<a name="line.60"></a>
-<span class="sourceLineNo">061</span>import com.google.protobuf.BlockingRpcChannel;<a name="line.61"></a>
-<span class="sourceLineNo">062</span>import com.google.protobuf.BlockingService;<a name="line.62"></a>
-<span class="sourceLineNo">063</span><a name="line.63"></a>
-<span class="sourceLineNo">064</span>import javax.security.sasl.SaslException;<a name="line.64"></a>
+<span class="sourceLineNo">035</span>import java.util.concurrent.ThreadLocalRandom;<a name="line.35"></a>
+<span class="sourceLineNo">036</span><a name="line.36"></a>
+<span class="sourceLineNo">037</span>import com.google.protobuf.RpcController;<a name="line.37"></a>
+<span class="sourceLineNo">038</span>import com.google.protobuf.ServiceException;<a name="line.38"></a>
+<span class="sourceLineNo">039</span>import org.apache.hadoop.conf.Configuration;<a name="line.39"></a>
+<span class="sourceLineNo">040</span>import org.apache.hadoop.fs.CommonConfigurationKeys;<a name="line.40"></a>
+<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.Cell;<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.CellUtil;<a name="line.43"></a>
+<span class="sourceLineNo">044</span>import org.apache.hadoop.hbase.HBaseTestingUtility;<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.ServerName;<a name="line.46"></a>
+<span class="sourceLineNo">047</span>import org.apache.hadoop.hbase.ipc.FifoRpcScheduler;<a name="line.47"></a>
+<span class="sourceLineNo">048</span>import org.apache.hadoop.hbase.ipc.PayloadCarryingRpcController;<a name="line.48"></a>
+<span class="sourceLineNo">049</span>import org.apache.hadoop.hbase.ipc.RpcClient;<a name="line.49"></a>
+<span class="sourceLineNo">050</span>import org.apache.hadoop.hbase.ipc.RpcClientFactory;<a name="line.50"></a>
+<span class="sourceLineNo">051</span>import org.apache.hadoop.hbase.ipc.RpcServer;<a name="line.51"></a>
+<span class="sourceLineNo">052</span>import org.apache.hadoop.hbase.ipc.RpcServerInterface;<a name="line.52"></a>
+<span class="sourceLineNo">053</span>import org.apache.hadoop.hbase.ipc.protobuf.generated.TestProtos;<a name="line.53"></a>
+<span class="sourceLineNo">054</span>import org.apache.hadoop.hbase.ipc.protobuf.generated.TestRpcServiceProtos;<a name="line.54"></a>
+<span class="sourceLineNo">055</span>import org.apache.hadoop.minikdc.MiniKdc;<a name="line.55"></a>
+<span class="sourceLineNo">056</span>import org.apache.hadoop.security.UserGroupInformation;<a name="line.56"></a>
+<span class="sourceLineNo">057</span>import org.apache.hadoop.security.UserGroupInformation.AuthenticationMethod;<a name="line.57"></a>
+<span class="sourceLineNo">058</span>import org.junit.AfterClass;<a name="line.58"></a>
+<span class="sourceLineNo">059</span>import org.junit.Before;<a name="line.59"></a>
+<span class="sourceLineNo">060</span>import org.junit.BeforeClass;<a name="line.60"></a>
+<span class="sourceLineNo">061</span>import org.junit.Rule;<a name="line.61"></a>
+<span class="sourceLineNo">062</span>import org.junit.Test;<a name="line.62"></a>
+<span class="sourceLineNo">063</span>import org.junit.rules.ExpectedException;<a name="line.63"></a>
+<span class="sourceLineNo">064</span>import org.mockito.Mockito;<a name="line.64"></a>
 <span class="sourceLineNo">065</span><a name="line.65"></a>
-<span class="sourceLineNo">066</span>public abstract class AbstractTestSecureIPC {<a name="line.66"></a>
-<span class="sourceLineNo">067</span><a name="line.67"></a>
-<span class="sourceLineNo">068</span>  private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();<a name="line.68"></a>
+<span class="sourceLineNo">066</span>import com.google.common.collect.Lists;<a name="line.66"></a>
+<span class="sourceLineNo">067</span>import com.google.protobuf.BlockingRpcChannel;<a name="line.67"></a>
+<span class="sourceLineNo">068</span>import com.google.protobuf.BlockingService;<a name="line.68"></a>
 <span class="sourceLineNo">069</span><a name="line.69"></a>
-<span class="sourceLineNo">070</span>  private static final File KEYTAB_FILE = new File(TEST_UTIL.getDataTestDir("keytab").toUri()<a name="line.70"></a>
-<span class="sourceLineNo">071</span>      .getPath());<a name="line.71"></a>
-<span class="sourceLineNo">072</span><a name="line.72"></a>
-<span class="sourceLineNo">073</span>  private static MiniKdc KDC;<a name="line.73"></a>
-<span class="sourceLineNo">074</span>  private static String HOST = "localhost";<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  private static String PRINCIPAL;<a name="line.75"></a>
-<span class="sourceLineNo">076</span><a name="line.76"></a>
-<span class="sourceLineNo">077</span>  String krbKeytab;<a name="line.77"></a>
-<span class="sourceLineNo">078</span>  String krbPrincipal;<a name="line.78"></a>
-<span class="sourceLineNo">079</span>  UserGroupInformation ugi;<a name="line.79"></a>
-<span class="sourceLineNo">080</span>  Configuration clientConf;<a name="line.80"></a>
-<span class="sourceLineNo">081</span>  Configuration serverConf;<a name="line.81"></a>
+<span class="sourceLineNo">070</span>import javax.security.sasl.SaslException;<a name="line.70"></a>
+<span class="sourceLineNo">071</span><a name="line.71"></a>
+<span class="sourceLineNo">072</span>public abstract class AbstractTestSecureIPC {<a name="line.72"></a>
+<span class="sourceLineNo">073</span><a name="line.73"></a>
+<span class="sourceLineNo">074</span>  private static final HBaseTestingUtility TEST_UTIL = new HBaseTestingUtility();<a name="line.74"></a>
+<span class="sourceLineNo">075</span><a name="line.75"></a>
+<span class="sourceLineNo">076</span>  private static final File KEYTAB_FILE = new File(TEST_UTIL.getDataTestDir("keytab").toUri()<a name="line.76"></a>
+<span class="sourceLineNo">077</span>      .getPath());<a name="line.77"></a>
+<span class="sourceLineNo">078</span><a name="line.78"></a>
+<span class="sourceLineNo">079</span>  static final BlockingService SERVICE =<a name="line.79"></a>
+<span class="sourceLineNo">080</span>      TestRpcServiceProtos.TestProtobufRpcProto.newReflectiveBlockingService(<a name="line.80"></a>
+<span class="sourceLineNo">081</span>          new TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface() {<a name="line.81"></a>
 <span class="sourceLineNo">082</span><a name="line.82"></a>
-<span class="sourceLineNo">083</span>  abstract Class&lt;? extends RpcClient&gt; getRpcClientClass();<a name="line.83"></a>
-<span class="sourceLineNo">084</span><a name="line.84"></a>
-<span class="sourceLineNo">085</span>  @Rule<a name="line.85"></a>
-<span class="sourceLineNo">086</span>  public ExpectedException exception = ExpectedException.none();<a name="line.86"></a>
-<span class="sourceLineNo">087</span><a name="line.87"></a>
-<span class="sourceLineNo">088</span>  @BeforeClass<a name="line.88"></a>
-<span class="sourceLineNo">089</span>  public static void setUp() throws Exception {<a name="line.89"></a>
-<span class="sourceLineNo">090</span>    Properties conf = MiniKdc.createConf();<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    conf.put(MiniKdc.DEBUG, true);<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    KDC = new MiniKdc(conf, new File(TEST_UTIL.getDataTestDir("kdc").toUri().getPath()));<a name="line.92"></a>
-<span class="sourceLineNo">093</span>    KDC.start();<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    PRINCIPAL = "hbase/" + HOST;<a name="line.94"></a>
-<span class="sourceLineNo">095</span>    KDC.createPrincipal(KEYTAB_FILE, PRINCIPAL);<a name="line.95"></a>
-<span class="sourceLineNo">096</span>    HBaseKerberosUtils.setKeytabFileForTesting(KEYTAB_FILE.getAbsolutePath());<a name="line.96"></a>
-<span class="sourceLineNo">097</span>    HBaseKerberosUtils.setPrincipalForTesting(PRINCIPAL + "@" + KDC.getRealm());<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>  @AfterClass<a name="line.100"></a>
-<span class="sourceLineNo">101</span>  public static void tearDown() throws IOException {<a name="line.101"></a>
-<span class="sourceLineNo">102</span>    if (KDC != null) {<a name="line.102"></a>
-<span class="sourceLineNo">103</span>      KDC.stop();<a name="line.103"></a>
-<span class="sourceLineNo">104</span>    }<a name="line.104"></a>
-<span class="sourceLineNo">105</span>    TEST_UTIL.cleanupTestDir();<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>  @Before<a name="line.108"></a>
-<span class="sourceLineNo">109</span>  public void setUpTest() throws Exception {<a name="line.109"></a>
-<span class="sourceLineNo">110</span>    krbKeytab = getKeytabFileForTesting();<a name="line.110"></a>
-<span class="sourceLineNo">111</span>    krbPrincipal = getPrincipalForTesting();<a name="line.111"></a>
-<span class="sourceLineNo">112</span>    ugi = loginKerberosPrincipal(krbKeytab, krbPrincipal);<a name="line.112"></a>
-<span class="sourceLineNo">113</span>    clientConf = getSecuredConfiguration();<a name="line.113"></a>
-<span class="sourceLineNo">114</span>    clientConf.set(RpcClientFactory.CUSTOM_RPC_CLIENT_IMPL_CONF_KEY, getRpcClientClass().getName());<a name="line.114"></a>
-<span class="sourceLineNo">115</span>    serverConf = getSecuredConfiguration();<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>  @Test<a name="line.118"></a>
-<span class="sourceLineNo">119</span>  public void testRpcCallWithEnabledKerberosSaslAuth() throws Exception {<a name="line.119"></a>
-<span class="sourceLineNo">120</span>    UserGroupInformation ugi2 = UserGroupInformation.getCurrentUser();<a name="line.120"></a>
-<span class="sourceLineNo">121</span><a name="line.121"></a>
-<span class="sourceLineNo">122</span>    // check that the login user is okay:<a name="line.122"></a>
-<span class="sourceLineNo">123</span>    assertSame(ugi, ugi2);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    assertEquals(AuthenticationMethod.KERBEROS, ugi.getAuthenticationMethod());<a name="line.124"></a>
-<span class="sourceLineNo">125</span>    assertEquals(krbPrincipal, ugi.getUserName());<a name="line.125"></a>
-<span class="sourceLineNo">126</span><a name="line.126"></a>
-<span class="sourceLineNo">127</span>    callRpcService(User.create(ugi2));<a name="line.127"></a>
-<span class="sourceLineNo">128</span>  }<a name="line.128"></a>
-<span class="sourceLineNo">129</span><a name="line.129"></a>
-<span class="sourceLineNo">130</span>  @Test<a name="line.130"></a>
-<span class="sourceLineNo">131</span>  public void testRpcFallbackToSimpleAuth() throws Exception {<a name="line.131"></a>
-<span class="sourceLineNo">132</span>    String clientUsername = "testuser";<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    UserGroupInformation clientUgi = UserGroupInformation.createUserForTesting(clientUsername,<a name="line.133"></a>
-<span class="sourceLineNo">134</span>        new String[]{clientUsername});<a name="line.134"></a>
-<span class="sourceLineNo">135</span><a name="line.135"></a>
-<span class="sourceLineNo">136</span>    // check that the client user is insecure<a name="line.136"></a>
-<span class="sourceLineNo">137</span>    assertNotSame(ugi, clientUgi);<a name="line.137"></a>
-<span class="sourceLineNo">138</span>    assertEquals(AuthenticationMethod.SIMPLE, clientUgi.getAuthenticationMethod());<a name="line.138"></a>
-<span class="sourceLineNo">139</span>    assertEquals(clientUsername, clientUgi.getUserName());<a name="line.139"></a>
-<span class="sourceLineNo">140</span><a name="line.140"></a>
-<span class="sourceLineNo">141</span>    clientConf.set(User.HBASE_SECURITY_CONF_KEY, "simple");<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    serverConf.setBoolean(RpcServer.FALLBACK_TO_INSECURE_CLIENT_AUTH, true);<a name="line.142"></a>
-<span class="sourceLineNo">143</span>    callRpcService(User.create(clientUgi));<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>  void setRpcProtection(String clientProtection, String serverProtection) {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>    clientConf.set("hbase.rpc.protection", clientProtection);<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    serverConf.set("hbase.rpc.protection", serverProtection);<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>  /**<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * Test various combinations of Server and Client qops.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @throws Exception<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   */<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  @Test<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  public void testSaslWithCommonQop() throws Exception {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    setRpcProtection("privacy,authentication", "authentication");<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    callRpcService(User.create(ugi));<a name="line.158"></a>
-<span class="sourceLineNo">159</span><a name="line.159"></a>
-<span class="sourceLineNo">160</span>    setRpcProtection("authentication", "privacy,authentication");<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    callRpcService(User.create(ugi));<a name="line.161"></a>
+<span class="sourceLineNo">083</span>            @Override<a name="line.83"></a>
+<span class="sourceLineNo">084</span>            public TestProtos.EmptyResponseProto ping(RpcController controller,<a name="line.84"></a>
+<span class="sourceLineNo">085</span>                                                      TestProtos.EmptyRequestProto request)<a name="line.85"></a>
+<span class="sourceLineNo">086</span>                throws ServiceException {<a name="line.86"></a>
+<span class="sourceLineNo">087</span>              return null;<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>            @Override<a name="line.90"></a>
+<span class="sourceLineNo">091</span>            public TestProtos.EmptyResponseProto error(RpcController controller,<a name="line.91"></a>
+<span class="sourceLineNo">092</span>                                                       TestProtos.EmptyRequestProto request)<a name="line.92"></a>
+<span class="sourceLineNo">093</span>                throws ServiceException {<a name="line.93"></a>
+<span class="sourceLineNo">094</span>              return null;<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>            @Override<a name="line.97"></a>
+<span class="sourceLineNo">098</span>            public TestProtos.EchoResponseProto echo(RpcController controller,<a name="line.98"></a>
+<span class="sourceLineNo">099</span>                                                     TestProtos.EchoRequestProto request)<a name="line.99"></a>
+<span class="sourceLineNo">100</span>                throws ServiceException {<a name="line.100"></a>
+<span class="sourceLineNo">101</span>              if (controller instanceof PayloadCarryingRpcController) {<a name="line.101"></a>
+<span class="sourceLineNo">102</span>                PayloadCarryingRpcController pcrc = (PayloadCarryingRpcController) controller;<a name="line.102"></a>
+<span class="sourceLineNo">103</span>                // If cells, scan them to check we are able to iterate what we were given and since<a name="line.103"></a>
+<span class="sourceLineNo">104</span>                // this is<a name="line.104"></a>
+<span class="sourceLineNo">105</span>                // an echo, just put them back on the controller creating a new block. Tests our<a name="line.105"></a>
+<span class="sourceLineNo">106</span>                // block<a name="line.106"></a>
+<span class="sourceLineNo">107</span>                // building.<a name="line.107"></a>
+<span class="sourceLineNo">108</span>                CellScanner cellScanner = pcrc.cellScanner();<a name="line.108"></a>
+<span class="sourceLineNo">109</span>                List&lt;Cell&gt; list = null;<a name="line.109"></a>
+<span class="sourceLineNo">110</span>                if (cellScanner != null) {<a name="line.110"></a>
+<span class="sourceLineNo">111</span>                  list = new ArrayList&lt;Cell&gt;();<a name="line.111"></a>
+<span class="sourceLineNo">112</span>                  try {<a name="line.112"></a>
+<span class="sourceLineNo">113</span>                    while (cellScanner.advance()) {<a name="line.113"></a>
+<span class="sourceLineNo">114</span>                      list.add(cellScanner.current());<a name="line.114"></a>
+<span class="sourceLineNo">115</span>                    }<a name="line.115"></a>
+<span class="sourceLineNo">116</span>                  } catch (IOException e) {<a name="line.116"></a>
+<span class="sourceLineNo">117</span>                    throw new ServiceException(e);<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>                cellScanner = CellUtil.createCellScanner(list);<a name="line.120"></a>
+<span class="sourceLineNo">121</span>                ((PayloadCarryingRpcController) controller).setCellScanner(cellScanner);<a name="line.121"></a>
+<span class="sourceLineNo">122</span>              }<a name="line.122"></a>
+<span class="sourceLineNo">123</span>              return TestProtos.EchoResponseProto.newBuilder()<a name="line.123"></a>
+<span class="sourceLineNo">124</span>                  .setMessage(request.getMessage()).build();<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>  private static MiniKdc KDC;<a name="line.128"></a>
+<span class="sourceLineNo">129</span>  private static String HOST = "localhost";<a name="line.129"></a>
+<span class="sourceLineNo">130</span>  private static String PRINCIPAL;<a name="line.130"></a>
+<span class="sourceLineNo">131</span><a name="line.131"></a>
+<span class="sourceLineNo">132</span>  String krbKeytab;<a name="line.132"></a>
+<span class="sourceLineNo">133</span>  String krbPrincipal;<a name="line.133"></a>
+<span class="sourceLineNo">134</span>  UserGroupInformation ugi;<a name="line.134"></a>
+<span class="sourceLineNo">135</span>  Configuration clientConf;<a name="line.135"></a>
+<span class="sourceLineNo">136</span>  Configuration serverConf;<a name="line.136"></a>
+<span class="sourceLineNo">137</span><a name="line.137"></a>
+<span class="sourceLineNo">138</span>  abstract Class&lt;? extends RpcClient&gt; getRpcClientClass();<a name="line.138"></a>
+<span class="sourceLineNo">139</span><a name="line.139"></a>
+<span class="sourceLineNo">140</span>  @Rule<a name="line.140"></a>
+<span class="sourceLineNo">141</span>  public ExpectedException exception = ExpectedException.none();<a name="line.141"></a>
+<span class="sourceLineNo">142</span><a name="line.142"></a>
+<span class="sourceLineNo">143</span>  @BeforeClass<a name="line.143"></a>
+<span class="sourceLineNo">144</span>  public static void setUp() throws Exception {<a name="line.144"></a>
+<span class="sourceLineNo">145</span>    Properties conf = MiniKdc.createConf();<a name="line.145"></a>
+<span class="sourceLineNo">146</span>    conf.put(MiniKdc.DEBUG, true);<a name="line.146"></a>
+<span class="sourceLineNo">147</span>    KDC = new MiniKdc(conf, new File(TEST_UTIL.getDataTestDir("kdc").toUri().getPath()));<a name="line.147"></a>
+<span class="sourceLineNo">148</span>    KDC.start();<a name="line.148"></a>
+<span class="sourceLineNo">149</span>    PRINCIPAL = "hbase/" + HOST;<a name="line.149"></a>
+<span class="sourceLineNo">150</span>    KDC.createPrincipal(KEYTAB_FILE, PRINCIPAL);<a name="line.150"></a>
+<span class="sourceLineNo">151</span>    HBaseKerberosUtils.setKeytabFileForTesting(KEYTAB_FILE.getAbsolutePath());<a name="line.151"></a>
+<span class="sourceLineNo">152</span>    HBaseKerberosUtils.setPrincipalForTesting(PRINCIPAL + "@" + KDC.getRealm());<a name="line.152"></a>
+<span class="sourceLineNo">153</span>  }<a name="line.153"></a>
+<span class="sourceLineNo">154</span><a name="line.154"></a>
+<span class="sourceLineNo">155</span>  @AfterClass<a name="line.155"></a>
+<span class="sourceLineNo">156</span>  public static void tearDown() throws IOException {<a name="line.156"></a>
+<span class="sourceLineNo">157</span>    if (KDC != null) {<a name="line.157"></a>
+<span class="sourceLineNo">158</span>      KDC.stop();<a name="line.158"></a>
+<span class="sourceLineNo">159</span>    }<a name="line.159"></a>
+<span class="sourceLineNo">160</span>    TEST_UTIL.cleanupTestDir();<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>    setRpcProtection("integrity,authentication", "privacy,authentication");<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    callRpcService(User.create(ugi));<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>  @Test<a name="line.167"></a>
-<span class="sourceLineNo">168</span>  public void testSaslNoCommonQop() throws Exception {<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    exception.expect(SaslException.class);<a name="line.169"></a>
-<span class="sourceLineNo">170</span>    exception.expectMessage("No common protection layer between client and server");<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    setRpcProtection("integrity", "privacy");<a name="line.171"></a>
-<span class="sourceLineNo">172</span>    callRpcService(User.create(ugi));<a name="line.172"></a>
-<span class="sourceLineNo">173</span>  }<a name="line.173"></a>
-<span class="sourceLineNo">174</span><a name="line.174"></a>
-<span class="sourceLineNo">175</span>  private UserGroupInformation loginKerberosPrincipal(String krbKeytab, String krbPrincipal)<a name="line.175"></a>
-<span class="sourceLineNo">176</span>      throws Exception {<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    Configuration cnf = new Configuration();<a name="line.177"></a>
-<span class="sourceLineNo">178</span>    cnf.set(CommonConfigurationKeys.HADOOP_SECURITY_AUTHENTICATION, "kerberos");<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    UserGroupInformation.setConfiguration(cnf);<a name="line.179"></a>
-<span class="sourceLineNo">180</span>    UserGroupInformation.loginUserFromKeytab(krbPrincipal, krbKeytab);<a name="line.180"></a>
-<span class="sourceLineNo">181</span>    return UserGroupInformation.getLoginUser();<a name="line.181"></a>
-<span class="sourceLineNo">182</span>  }<a name="line.182"></a>
-<span class="sourceLineNo">183</span><a name="line.183"></a>
-<span class="sourceLineNo">184</span>  /**<a name="line.184"></a>
-<span class="sourceLineNo">185</span>   * Sets up a RPC Server and a Client. Does a RPC checks the result. If an exception is thrown<a name="line.185"></a>
-<span class="sourceLineNo">186</span>   * from the stub, this function will throw root cause of that exception.<a name="line.186"></a>
-<span class="sourceLineNo">187</span>   */<a name="line.187"></a>
-<span class="sourceLineNo">188</span>  private void callRpcService(User clientUser) throws Exception {<a name="line.188"></a>
-<span class="sourceLineNo">189</span>    SecurityInfo securityInfoMock = Mockito.mock(SecurityInfo.class);<a name="line.189"></a>
-<span class="sourceLineNo">190</span>    Mockito.when(securityInfoMock.getServerPrincipal())<a name="line.190"></a>
-<span class="sourceLineNo">191</span>        .thenReturn(HBaseKerberosUtils.KRB_PRINCIPAL);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>    SecurityInfo.addInfo("TestDelayedService", securityInfoMock);<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>    boolean delayReturnValue = false;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>    InetSocketAddress isa = new InetSocketAddress(HOST, 0);<a name="line.195"></a>
-<span class="sourceLineNo">196</span>    TestDelayedImplementation instance = new TestDelayedImplementation(delayReturnValue);<a name="line.196"></a>
-<span class="sourceLineNo">197</span>    BlockingService service =<a name="line.197"></a>
-<span class="sourceLineNo">198</span>        TestDelayedRpcProtos.TestDelayedService.newReflectiveBlockingService(instance);<a name="line.198"></a>
-<span class="sourceLineNo">199</span><a name="line.199"></a>
-<span class="sourceLineNo">200</span>    RpcServerInterface rpcServer =<a name="line.200"></a>
-<span class="sourceLineNo">201</span>        new RpcServer(null, "testSecuredDelayedRpc",<a name="line.201"></a>
-<span class="sourceLineNo">202</span>            Lists.newArrayList(new RpcServer.BlockingServiceAndInterface(service, null)), isa,<a name="line.202"></a>
-<span class="sourceLineNo">203</span>            serverConf, new FifoRpcScheduler(serverConf, 1));<a name="line.203"></a>
-<span class="sourceLineNo">204</span>    rpcServer.start();<a name="line.204"></a>
-<span class="sourceLineNo">205</span>    RpcClient rpcClient =<a name="line.205"></a>
-<span class="sourceLineNo">206</span>        RpcClientFactory.createClient(clientConf, HConstants.DEFAULT_CLUSTER_ID.toString());<a name="line.206"></a>
-<span class="sourceLineNo">207</span>    try {<a name="line.207"></a>
-<span class="sourceLineNo">208</span>      InetSocketAddress address = rpcServer.getListenerAddress();<a name="line.208"></a>
-<span class="sourceLineNo">209</span>      if (address == null) {<a name="line.209"></a>
-<span class="sourceLineNo">210</span>        throw new IOException("Listener channel is closed");<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      }<a name="line.211"></a>
-<span class="sourceLineNo">212</span>      BlockingRpcChannel channel =<a name="line.212"></a>
-<span class="sourceLineNo">213</span>          rpcClient.createBlockingRpcChannel(<a name="line.213"></a>
-<span class="sourceLineNo">214</span>            ServerName.valueOf(address.getHostName(), address.getPort(),<a name="line.214"></a>
-<span class="sourceLineNo">215</span>            System.currentTimeMillis()), clientUser, 0);<a name="line.215"></a>
-<span class="sourceLineNo">216</span>      TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub =<a name="line.216"></a>
-<span class="sourceLineNo">217</span>          TestDelayedRpcProtos.TestDelayedService.newBlockingStub(channel);<a name="line.217"></a>
-<span class="sourceLineNo">218</span>      List&lt;Integer&gt; results = new ArrayList&lt;&gt;();<a name="line.218"></a>
-<span class="sourceLineNo">219</span>      TestThread th1 = new TestThread(stub, true, results);<a name="line.219"></a>
-<span class="sourceLineNo">220</span>      final Throwable exception[] = new Throwable[1];<a name="line.220"></a>
-<span class="sourceLineNo">221</span>          Collections.synchronizedList(new ArrayList&lt;Throwable&gt;());<a name="line.221"></a>
-<span class="sourceLineNo">222</span>      Thread.UncaughtExceptionHandler exceptionHandler =<a name="line.222"></a>
-<span class="sourceLineNo">223</span>          new Thread.UncaughtExceptionHandler() {<a name="line.223"></a>
-<span class="sourceLineNo">224</span>            public void uncaughtException(Thread th, Throwable ex) {<a name="line.224"></a>
-<span class="sourceLineNo">225</span>              exception[0] = ex;<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>      th1.setUncaughtExceptionHandler(exceptionHandler);<a name="line.228"></a>
-<span class="sourceLineNo">229</span>      th1.start();<a name="line.229"></a>
-<span class="sourceLineNo">230</span>      th1.join();<a name="line.230"></a>
-<span class="sourceLineNo">231</span>      if (exception[0] != null) {<a name="line.231"></a>
-<span class="sourceLineNo">232</span>        // throw root cause.<a name="line.232"></a>
-<span class="sourceLineNo">233</span>        while (exception[0].getCause() != null) {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>          exception[0] = exception[0].getCause();<a name="line.234"></a>
-<span class="sourceLineNo">235</span>        }<a name="line.235"></a>
-<span class="sourceLineNo">236</span>        throw (Exception) exception[0];<a name="line.236"></a>
-<span class="sourceLineNo">237</span>      }<a name="line.237"></a>
+<span class="sourceLineNo">163</span>  @Before<a name="line.163"></a>
+<span class="sourceLineNo">164</span>  public void setUpTest() throws Exception {<a name="line.164"></a>
+<span class="sourceLineNo">165</span>    krbKeytab = getKeytabFileForTesting();<a name="line.165"></a>
+<span class="sourceLineNo">166</span>    krbPrincipal = getPrincipalForTesting();<a name="line.166"></a>
+<span class="sourceLineNo">167</span>    ugi = loginKerberosPrincipal(krbKeytab, krbPrincipal);<a name="line.167"></a>
+<span class="sourceLineNo">168</span>    clientConf = getSecuredConfiguration();<a name="line.168"></a>
+<span class="sourceLineNo">169</span>    clientConf.set(RpcClientFactory.CUSTOM_RPC_CLIENT_IMPL_CONF_KEY, getRpcClientClass().getName());<a name="line.169"></a>
+<span class="sourceLineNo">170</span>    serverConf = getSecuredConfiguration();<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>  @Test<a name="line.173"></a>
+<span class="sourceLineNo">174</span>  public void testRpcCallWithEnabledKerberosSaslAuth() throws Exception {<a name="line.174"></a>
+<span class="sourceLineNo">175</span>    UserGroupInformation ugi2 = UserGroupInformation.getCurrentUser();<a name="line.175"></a>
+<span class="sourceLineNo">176</span><a name="line.176"></a>
+<span class="sourceLineNo">177</span>    // check that the login user is okay:<a name="line.177"></a>
+<span class="sourceLineNo">178</span>    assertSame(ugi, ugi2);<a name="line.178"></a>
+<span class="sourceLineNo">179</span>    assertEquals(AuthenticationMethod.KERBEROS, ugi.getAuthenticationMethod());<a name="line.179"></a>
+<span class="sourceLineNo">180</span>    assertEquals(krbPrincipal, ugi.getUserName());<a name="line.180"></a>
+<span class="sourceLineNo">181</span><a name="line.181"></a>
+<span class="sourceLineNo">182</span>    callRpcService(User.create(ugi2));<a name="line.182"></a>
+<span class="sourceLineNo">183</span>  }<a name="line.183"></a>
+<span class="sourceLineNo">184</span><a name="line.184"></a>
+<span class="sourceLineNo">185</span>  @Test<a name="line.185"></a>
+<span class="sourceLineNo">186</span>  public void testRpcFallbackToSimpleAuth() throws Exception {<a name="line.186"></a>
+<span class="sourceLineNo">187</span>    String clientUsername = "testuser";<a name="line.187"></a>
+<span class="sourceLineNo">188</span>    UserGroupInformation clientUgi = UserGroupInformation.createUserForTesting(clientUsername,<a name="line.188"></a>
+<span class="sourceLineNo">189</span>        new String[]{clientUsername});<a name="line.189"></a>
+<span class="sourceLineNo">190</span><a name="line.190"></a>
+<span class="sourceLineNo">191</span>    // check that the client user is insecure<a name="line.191"></a>
+<span class="sourceLineNo">192</span>    assertNotSame(ugi, clientUgi);<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    assertEquals(AuthenticationMethod.SIMPLE, clientUgi.getAuthenticationMethod());<a name="line.193"></a>
+<span class="sourceLineNo">194</span>    assertEquals(clientUsername, clientUgi.getUserName());<a name="line.194"></a>
+<span class="sourceLineNo">195</span><a name="line.195"></a>
+<span class="sourceLineNo">196</span>    clientConf.set(User.HBASE_SECURITY_CONF_KEY, "simple");<a name="line.196"></a>
+<span class="sourceLineNo">197</span>    serverConf.setBoolean(RpcServer.FALLBACK_TO_INSECURE_CLIENT_AUTH, true);<a name="line.197"></a>
+<span class="sourceLineNo">198</span>    callRpcService(User.create(clientUgi));<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>  void setRpcProtection(String clientProtection, String serverProtection) {<a name="line.201"></a>
+<span class="sourceLineNo">202</span>    clientConf.set("hbase.rpc.protection", clientProtection);<a name="line.202"></a>
+<span class="sourceLineNo">203</span>    serverConf.set("hbase.rpc.protection", serverProtection);<a name="line.203"></a>
+<span class="sourceLineNo">204</span>  }<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  /**<a name="line.206"></a>
+<span class="sourceLineNo">207</span>   * Test various combinations of Server and Client qops.<a name="line.207"></a>
+<span class="sourceLineNo">208</span>   * @throws Exception<a name="line.208"></a>
+<span class="sourceLineNo">209</span>   */<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  @Test<a name="line.210"></a>
+<span class="sourceLineNo">211</span>  public void testSaslWithCommonQop() throws Exception {<a name="line.211"></a>
+<span class="sourceLineNo">212</span>    setRpcProtection("privacy,authentication", "authentication");<a name="line.212"></a>
+<span class="sourceLineNo">213</span>    callRpcService(User.create(ugi));<a name="line.213"></a>
+<span class="sourceLineNo">214</span><a name="line.214"></a>
+<span class="sourceLineNo">215</span>    setRpcProtection("authentication", "privacy,authentication");<a name="line.215"></a>
+<span class="sourceLineNo">216</span>    callRpcService(User.create(ugi));<a name="line.216"></a>
+<span class="sourceLineNo">217</span><a name="line.217"></a>
+<span class="sourceLineNo">218</span>    setRpcProtection("integrity,authentication", "privacy,authentication");<a name="line.218"></a>
+<span class="sourceLineNo">219</span>    callRpcService(User.create(ugi));<a name="line.219"></a>
+<span class="sourceLineNo">220</span>  }<a name="line.220"></a>
+<span class="sourceLineNo">221</span><a name="line.221"></a>
+<span class="sourceLineNo">222</span>  @Test<a name="line.222"></a>
+<span class="sourceLineNo">223</span>  public void testSaslNoCommonQop() throws Exception {<a name="line.223"></a>
+<span class="sourceLineNo">224</span>    exception.expect(SaslException.class);<a name="line.224"></a>
+<span class="sourceLineNo">225</span>    exception.expectMessage("No common protection layer between client and server");<a name="line.225"></a>
+<span class="sourceLineNo">226</span>    setRpcProtection("integrity", "privacy");<a name="line.226"></a>
+<span class="sourceLineNo">227</span>    callRpcService(User.create(ugi));<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>  private UserGroupInformation loginKerberosPrincipal(String krbKeytab, String krbPrincipal)<a name="line.230"></a>
+<span class="sourceLineNo">231</span>      throws Exception {<a name="line.231"></a>
+<span class="sourceLineNo">232</span>    Configuration cnf = new Configuration();<a name="line.232"></a>
+<span class="sourceLineNo">233</span>    cnf.set(CommonConfigurationKeys.HADOOP_SECURITY_AUTHENTICATION, "kerberos");<a name="line.233"></a>
+<span class="sourceLineNo">234</span>    UserGroupInformation.setConfiguration(cnf);<a name="line.234"></a>
+<span class="sourceLineNo">235</span>    UserGroupInformation.loginUserFromKeytab(krbPrincipal, krbKeytab);<a name="line.235"></a>
+<span class="sourceLineNo">236</span>    return UserGroupInformation.getLoginUser();<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>      assertEquals(0xDEADBEEF, results.get(0).intValue());<a name="line.239"></a>
-<span class="sourceLineNo">240</span>    } finally {<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      rpcClient.close();<a name="line.241"></a>
-<span class="sourceLineNo">242</span>      rpcServer.stop();<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">239</span>  /**<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * Sets up a RPC Server and a Client. Does a RPC checks the result. If an exception is thrown<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   * from the stub, this function will throw root cause of that exception.<a name="line.241"></a>
+<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
+<span class="sourceLineNo">243</span>  private void callRpcService(User clientUser) throws Exception {<a name="line.243"></a>
+<span class="sourceLineNo">244</span>    SecurityInfo securityInfoMock = Mockito.mock(SecurityInfo.class);<a name="line.244"></a>
+<span class="sourceLineNo">245</span>    Mockito.when(securityInfoMock.getServerPrincipal())<a name="line.245"></a>
+<span class="sourceLineNo">246</span>        .thenReturn(HBaseKerberosUtils.KRB_PRINCIPAL);<a name="line.246"></a>
+<span class="sourceLineNo">247</span>    SecurityInfo.addInfo("TestProtobufRpcProto", securityInfoMock);<a name="line.247"></a>
+<span class="sourceLineNo">248</span><a name="line.248"></a>
+<span class="sourceLineNo">249</span>    InetSocketAddress isa = new InetSocketAddress(HOST, 0);<a name="line.249"></a>
+<span class="sourceLineNo">250</span><a name="line.250"></a>
+<span class="sourceLineNo">251</span>    RpcServerInterface rpcServer =<a name="line.251"></a>
+<span class="sourceLineNo">252</span>        new RpcServer(null, "AbstractTestSecureIPC",<a name="line.252"></a>
+<span class="sourceLineNo">253</span>            Lists.newArrayList(new RpcServer.BlockingServiceAndInterface(SERVICE, null)), isa,<a name="line.253"></a>
+<span class="sourceLineNo">254</span>            serverConf, new FifoRpcScheduler(serverConf, 1));<a name="line.254"></a>
+<span class="sourceLineNo">255</span>    rpcServer.start();<a name="line.255"></a>
+<span class="sourceLineNo">256</span>    try (RpcClient rpcClient = RpcClientFactory.createClient(clientConf,<a name="line.256"></a>
+<span class="sourceLineNo">257</span>        HConstants.DEFAULT_CLUSTER_ID.toString())) {<a name="line.257"></a>
+<span class="sourceLineNo">258</span>      InetSocketAddress address = rpcServer.getListenerAddress();<a name="line.258"></a>
+<span class="sourceLineNo">259</span>      if (address == null) {<a name="line.259"></a>
+<span class="sourceLineNo">260</span>        throw new IOException("Listener channel is closed");<a name="line.260"></a>
+<span class="sourceLineNo">261</span>      }<a name="line.261"></a>
+<span class="sourceLineNo">262</span>      BlockingRpcChannel channel =<a name="line.262"></a>
+<span class="sourceLineNo">263</span>          rpcClient.createBlockingRpcChannel(<a name="line.263"></a>
+<span class="sourceLineNo">264</span>              ServerName.valueOf(address.getHostName(), address.getPort(),<a name="line.264"></a>
+<span class="sourceLineNo">265</span>                  System.currentTimeMillis()), clientUser, 0);<a name="line.265"></a>
+<span class="sourceLineNo">266</span>      TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface stub =<a name="line.266"></a>
+<span class="sourceLineNo">267</span>          TestRpcServiceProtos.TestProtobufRpcProto.newBlockingStub(channel);<a name="line.267"></a>
+<span class="sourceLineNo">268</span>      List&lt;String&gt; results = new ArrayList&lt;&gt;();<a name="line.268"></a>
+<span class="sourceLineNo">269</span>      TestThread th1 = new TestThread(stub, results);<a name="line.269"></a>
+<span class="sourceLineNo">270</span>      final Throwable exception[] = new Throwable[1];<a name="line.270"></a>
+<span class="sourceLineNo">271</span>      Collections.synchronizedList(new ArrayList&lt;Throwable&gt;());<a name="line.271"></a>
+<span class="sourceLineNo">272</span>      Thread.UncaughtExceptionHandler exceptionHandler =<a name="line.272"></a>
+<span class="sourceLineNo">273</span>          new Thread.UncaughtExceptionHandler() {<a name="line.273"></a>
+<span class="sourceLineNo">274</span>            public void uncaughtException(Thread th, Throwable ex) {<a name="line.274"></a>
+<span class="sourceLineNo">275</span>              exception[0] = ex;<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>      th1.setUncaughtExceptionHandler(exceptionHandler);<a name="line.278"></a>
+<span class="sourceLineNo">279</span>      th1.start();<a name="line.279"></a>
+<span class="sourceLineNo">280</span>      th1.join();<a name="line.280"></a>
+<span class="sourceLineNo">281</span>      if (exception[0] != null) {<a name="line.281"></a>
+<span class="sourceLineNo">282</span>        // throw root cause.<a name="line.282"></a>
+<span class="sourceLineNo">283</span>        while (exception[0].getCause() != null) {<a name="line.283"></a>
+<span class="sourceLineNo">284</span>          exception[0] = exception[0].getCause();<a name="line.284"></a>
+<span class="sourceLineNo">285</span>        }<a name="line.285"></a>
+<span class="sourceLineNo">286</span>        throw (Exception) exception[0];<a name="line.286"></a>
+<span class="sourceLineNo">287</span>      }<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    } finally {<a name="line.288"></a>
+<span class="sourceLineNo">289</span>      rpcServer.stop();<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    }<a name="line.290"></a>
+<span class="sourceLineNo">291</span>  }<a name="line.291"></a>
+<span class="sourceLineNo">292</span><a name="line.292"></a>
+<span class="sourceLineNo">293</span>  public static class TestThread extends Thread {<a name="line.293"></a>
+<span class="sourceLineNo">294</span>      private final TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface stub;<a name="line.294"></a>
+<span class="sourceLineNo">295</span><a name="line.295"></a>
+<span class="sourceLineNo">296</span>      private final List&lt;String&gt; results;<a name="line.296"></a>
+<span class="sourceLineNo">297</span><a name="line.297"></a>
+<span class="sourceLineNo">298</span>          public TestThread(TestRpcServiceProtos.TestProtobufRpcProto.BlockingInterface stub, List&lt;String&gt; results) {<a name="line.298"></a>
+<span class="sourceLineNo">299</span>          this.stub = stub;<a name="line.299"></a>
+<span class="sourceLineNo">300</span>          this.results = results;<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>          @Override<a name="line.303"></a>
+<span class="sourceLineNo">304</span>      public void run() {<a name="line.304"></a>
+<span class="sourceLineNo">305</span>          String result;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>          try {<a name="line.306"></a>
+<span class="sourceLineNo">307</span>              result = stub.echo(null, TestProtos.EchoRequestProto.newBuilder().setMessage(String.valueOf(<a name="line.307"></a>
+<span class="sourceLineNo">308</span>                  ThreadLocalRandom.current().nextInt())).build()).getMessage();<a name="line.308"></a>
+<span class="sourceLineNo">309</span>            } catch (ServiceException e) {<a name="line.309"></a>
+<span class="sourceLineNo">310</span>              throw new RuntimeException(e);<a name="line.310"></a>
+<span class="sourceLineNo">311</span>            }<a name="line.311"></a>
+<span class="sourceLineNo">312</span>          if (results != null) {<a name="line.312"></a>
+<span class="sourceLineNo">313</span>              synchronized (results) {<a name="line.313"></a>
+<span class="sourceLineNo">314</span>                  results.add(result);<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>    }<a name="line.318"></a>
+<span class="sourceLineNo">319</span>}<a name="line.319"></a>
 
 
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/xref-test/allclasses-frame.html
----------------------------------------------------------------------
diff --git a/xref-test/allclasses-frame.html b/xref-test/allclasses-frame.html
index 420681b..9b24217 100644
--- a/xref-test/allclasses-frame.html
+++ b/xref-test/allclasses-frame.html
@@ -708,9 +708,6 @@
 				<a href="org/apache/hadoop/hbase/regionserver/wal/FaultySequenceFileLogReader.html" target="classFrame">FaultySequenceFileLogReader</a>
 			</li>
 						<li>
-				<a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" target="classFrame">FaultyTestDelayedImplementation</a>
-			</li>
-						<li>
 				<a href="org/apache/hadoop/hbase/TestClassFinder.html" target="classFrame">FileAndPath</a>
 			</li>
 						<li>
@@ -1137,7 +1134,7 @@
 				<a href="org/apache/hadoop/hbase/mapreduce/IntegrationTestBulkLoad.html" target="classFrame">LinkedListCreationMapper</a>
 			</li>
 						<li>
-				<a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" target="classFrame">ListAppender</a>
+				<a href="org/apache/hadoop/hbase/client/TestFromClientSide.html" target="classFrame">ListAppender</a>
 			</li>
 						<li>
 				<a href="org/apache/hadoop/hbase/rest/TestTableScan.html" target="classFrame">Listener</a>
@@ -2754,12 +2751,6 @@
 				<a href="org/apache/hadoop/hbase/wal/TestDefaultWALProviderWithHLogKey.html" target="classFrame">TestDefaultWALProviderWithHLogKey</a>
 			</li>
 						<li>
-				<a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" target="classFrame">TestDelayedImplementation</a>
-			</li>
-						<li>
-				<a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" target="classFrame">TestDelayedRpc</a>
-			</li>
-						<li>
 				<a href="org/apache/hadoop/hbase/client/TestDelayingRunner.html" target="classFrame">TestDelayingRunner</a>
 			</li>
 						<li>
@@ -4677,7 +4668,7 @@
 				<a href="org/apache/hadoop/hbase/types/TestTerminatedWrapper.html" target="classFrame">TestTerminatedWrapper</a>
 			</li>
 						<li>
-				<a href="org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" target="classFrame">TestThread</a>
+				<a href="org/apache/hadoop/hbase/security/AbstractTestSecureIPC.html" target="classFrame">TestThread</a>
 			</li>
 						<li>
 				<a href="org/apache/hadoop/hbase/util/TestPoolMap.html" target="classFrame">TestThreadLocalPoolType</a>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/xref-test/org/apache/hadoop/hbase/client/TestFromClientSide.html
----------------------------------------------------------------------
diff --git a/xref-test/org/apache/hadoop/hbase/client/TestFromClientSide.html b/xref-test/org/apache/hadoop/hbase/client/TestFromClientSide.html
index 0869269..8484c4f 100644
--- a/xref-test/org/apache/hadoop/hbase/client/TestFromClientSide.html
+++ b/xref-test/org/apache/hadoop/hbase/client/TestFromClientSide.html
@@ -5551,7 +5551,7 @@
 <a class="jxr_linenumber" name="5541" href="#5541">5541</a>     htd.setMemStoreFlushSize(0);
 <a class="jxr_linenumber" name="5542" href="#5542">5542</a> 
 <a class="jxr_linenumber" name="5543" href="#5543">5543</a>     <em class="jxr_comment">// Check that logs warn on invalid table but allow it.</em>
-<a class="jxr_linenumber" name="5544" href="#5544">5544</a>     <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">ListAppender</a> listAppender = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">ListAppender</a>();
+<a class="jxr_linenumber" name="5544" href="#5544">5544</a>     <a href="../../../../../org/apache/hadoop/hbase/client/TestFromClientSide.html">ListAppender</a> listAppender = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/client/TestFromClientSide.html">ListAppender</a>();
 <a class="jxr_linenumber" name="5545" href="#5545">5545</a>     Logger log = Logger.getLogger(HMaster.<strong class="jxr_keyword">class</strong>);
 <a class="jxr_linenumber" name="5546" href="#5546">5546</a>     log.addAppender(listAppender);
 <a class="jxr_linenumber" name="5547" href="#5547">5547</a>     log.setLevel(Level.WARN);
@@ -5567,7 +5567,7 @@
 <a class="jxr_linenumber" name="5557" href="#5557">5557</a>     log.removeAppender(listAppender);
 <a class="jxr_linenumber" name="5558" href="#5558">5558</a>   }
 <a class="jxr_linenumber" name="5559" href="#5559">5559</a> 
-<a class="jxr_linenumber" name="5560" href="#5560">5560</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">ListAppender</a> <strong class="jxr_keyword">extends</strong> AppenderSkeleton {
+<a class="jxr_linenumber" name="5560" href="#5560">5560</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/hadoop/hbase/client/TestFromClientSide.html">ListAppender</a> <strong class="jxr_keyword">extends</strong> AppenderSkeleton {
 <a class="jxr_linenumber" name="5561" href="#5561">5561</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> List&lt;String&gt; messages = <strong class="jxr_keyword">new</strong> ArrayList&lt;String&gt;();
 <a class="jxr_linenumber" name="5562" href="#5562">5562</a> 
 <a class="jxr_linenumber" name="5563" href="#5563">5563</a>     @Override


[06/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html
deleted file mode 100644
index c6a4fc3..0000000
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html
+++ /dev/null
@@ -1,439 +0,0 @@
-<!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> *<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * or more contributor license agreements.  See the NOTICE file<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * distributed with this work for additional information<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * to you under the Apache License, Version 2.0 (the<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * "License"); you may not use this file except in compliance<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * with the License.  You may obtain a copy of the License at<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * Unless required by applicable law or agreed to in writing, software<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * See the License for the specific language governing permissions and<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * limitations under the License.<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.ipc;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><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.assertTrue;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import static org.junit.Assert.fail;<a name="line.24"></a>
-<span class="sourceLineNo">025</span><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.net.InetSocketAddress;<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.List;<a name="line.29"></a>
-<span class="sourceLineNo">030</span><a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.commons.logging.Log;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.commons.logging.LogFactory;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.conf.Configuration;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.HBaseConfiguration;<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.testclassification.MediumTests;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.testclassification.RPCTests;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.ServerName;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestArg;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestResponse;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.security.User;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.log4j.AppenderSkeleton;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.log4j.Level;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.log4j.Logger;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.log4j.spi.LoggingEvent;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.junit.Test;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.junit.experimental.categories.Category;<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>import com.google.common.collect.Lists;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import com.google.protobuf.BlockingRpcChannel;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import com.google.protobuf.BlockingService;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import com.google.protobuf.RpcController;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import com.google.protobuf.ServiceException;<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> * Test that delayed RPCs work. Fire up three calls, the first of which should<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * be delayed. Check that the last two, which are undelayed, return before the<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * first one.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> */<a name="line.60"></a>
-<span class="sourceLineNo">061</span>@Category({RPCTests.class, MediumTests.class}) // Fails sometimes with small tests<a name="line.61"></a>
-<span class="sourceLineNo">062</span>public class TestDelayedRpc {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  private static final Log LOG = LogFactory.getLog(TestDelayedRpc.class);<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  public static RpcServerInterface rpcServer;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public static final int UNDELAYED = 0;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  public static final int DELAYED = 1;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  private static final int RPC_CLIENT_TIMEOUT = 30000;<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  @Test (timeout=60000)<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  public void testDelayedRpcImmediateReturnValue() throws Exception {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    testDelayedRpc(false);<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  }<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>  @Test (timeout=60000)<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  public void testDelayedRpcDelayedReturnValue() throws Exception {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    testDelayedRpc(true);<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>  private void testDelayedRpc(boolean delayReturnValue) throws Exception {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    LOG.info("Running testDelayedRpc delayReturnValue=" + delayReturnValue);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    Configuration conf = HBaseConfiguration.create();<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    InetSocketAddress isa = new InetSocketAddress("localhost", 0);<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    TestDelayedImplementation instance = new TestDelayedImplementation(delayReturnValue);<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    BlockingService service =<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      TestDelayedRpcProtos.TestDelayedService.newReflectiveBlockingService(instance);<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    rpcServer = new RpcServer(null, "testDelayedRpc",<a name="line.86"></a>
-<span class="sourceLineNo">087</span>        Lists.newArrayList(new RpcServer.BlockingServiceAndInterface(service, null)),<a name="line.87"></a>
-<span class="sourceLineNo">088</span>        isa,<a name="line.88"></a>
-<span class="sourceLineNo">089</span>        conf,<a name="line.89"></a>
-<span class="sourceLineNo">090</span>        new FifoRpcScheduler(conf, 1));<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    rpcServer.start();<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    RpcClient rpcClient = RpcClientFactory.createClient(<a name="line.92"></a>
-<span class="sourceLineNo">093</span>        conf, HConstants.DEFAULT_CLUSTER_ID.toString());<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    try {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      InetSocketAddress address = rpcServer.getListenerAddress();<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      if (address == null) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        throw new IOException("Listener channel is closed");<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      }<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      BlockingRpcChannel channel = rpcClient.createBlockingRpcChannel(<a name="line.99"></a>
-<span class="sourceLineNo">100</span>          ServerName.valueOf(address.getHostName(),address.getPort(), System.currentTimeMillis()),<a name="line.100"></a>
-<span class="sourceLineNo">101</span>          User.getCurrent(), RPC_CLIENT_TIMEOUT);<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub =<a name="line.102"></a>
-<span class="sourceLineNo">103</span>        TestDelayedRpcProtos.TestDelayedService.newBlockingStub(channel);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      List&lt;Integer&gt; results = new ArrayList&lt;Integer&gt;();<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      // Setting true sets 'delayed' on the client.<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      TestThread th1 = new TestThread(stub, true, results);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      // Setting 'false' means we will return UNDELAYED as response immediately.<a name="line.107"></a>
-<span class="sourceLineNo">108</span>      TestThread th2 = new TestThread(stub, false, results);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      TestThread th3 = new TestThread(stub, false, results);<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      th1.start();<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      Thread.sleep(100);<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      th2.start();<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      Thread.sleep(200);<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      th3.start();<a name="line.114"></a>
-<span class="sourceLineNo">115</span><a name="line.115"></a>
-<span class="sourceLineNo">116</span>      th1.join();<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      th2.join();<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      th3.join();<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>      // We should get the two undelayed responses first.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      assertEquals(UNDELAYED, results.get(0).intValue());<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      assertEquals(UNDELAYED, results.get(1).intValue());<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      assertEquals(results.get(2).intValue(), delayReturnValue ? DELAYED :  0xDEADBEEF);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    } finally {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      rpcClient.close();<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><a name="line.128"></a>
-<span class="sourceLineNo">129</span>  private static class ListAppender extends AppenderSkeleton {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    private final List&lt;String&gt; messages = new ArrayList&lt;String&gt;();<a name="line.130"></a>
-<span class="sourceLineNo">131</span><a name="line.131"></a>
-<span class="sourceLineNo">132</span>    @Override<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    protected void append(LoggingEvent event) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      messages.add(event.getMessage().toString());<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 void close() {<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>    @Override<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    public boolean requiresLayout() {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      return false;<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 List&lt;String&gt; getMessages() {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      return messages;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  }<a name="line.149"></a>
-<span class="sourceLineNo">150</span><a name="line.150"></a>
-<span class="sourceLineNo">151</span>  /**<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * Tests that we see a WARN message in the logs.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @throws Exception<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   */<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  @Test (timeout=60000)<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  public void testTooManyDelayedRpcs() throws Exception {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    Configuration conf = HBaseConfiguration.create();<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    final int MAX_DELAYED_RPC = 10;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    conf.setInt("hbase.ipc.warn.delayedrpc.number", MAX_DELAYED_RPC);<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    // Set up an appender to catch the "Too many delayed calls" that we expect.<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    ListAppender listAppender = new ListAppender();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    Logger log = Logger.getLogger(RpcServer.class);<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    log.addAppender(listAppender);<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    log.setLevel(Level.WARN);<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>    InetSocketAddress isa = new InetSocketAddress("localhost", 0);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    TestDelayedImplementation instance = new TestDelayedImplementation(true);<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    BlockingService service =<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      TestDelayedRpcProtos.TestDelayedService.newReflectiveBlockingService(instance);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    rpcServer = new RpcServer(null, "testTooManyDelayedRpcs",<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      Lists.newArrayList(new RpcServer.BlockingServiceAndInterface(service, null)),<a name="line.172"></a>
-<span class="sourceLineNo">173</span>        isa,<a name="line.173"></a>
-<span class="sourceLineNo">174</span>        conf,<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        new FifoRpcScheduler(conf, 1));<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    rpcServer.start();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    RpcClient rpcClient = RpcClientFactory.createClient(<a name="line.177"></a>
-<span class="sourceLineNo">178</span>        conf, HConstants.DEFAULT_CLUSTER_ID.toString());<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    try {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      InetSocketAddress address = rpcServer.getListenerAddress();<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      if (address == null) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        throw new IOException("Listener channel is closed");<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      }<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      BlockingRpcChannel channel = rpcClient.createBlockingRpcChannel(<a name="line.184"></a>
-<span class="sourceLineNo">185</span>          ServerName.valueOf(address.getHostName(),address.getPort(), System.currentTimeMillis()),<a name="line.185"></a>
-<span class="sourceLineNo">186</span>          User.getCurrent(), RPC_CLIENT_TIMEOUT);<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub =<a name="line.187"></a>
-<span class="sourceLineNo">188</span>        TestDelayedRpcProtos.TestDelayedService.newBlockingStub(channel);<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      Thread threads[] = new Thread[MAX_DELAYED_RPC + 1];<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      for (int i = 0; i &lt; MAX_DELAYED_RPC; i++) {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>        threads[i] = new TestThread(stub, true, null);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        threads[i].start();<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>      /* No warnings till here. */<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      assertTrue(listAppender.getMessages().isEmpty());<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>      /* This should give a warning. */<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      threads[MAX_DELAYED_RPC] = new TestThread(stub, true, null);<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      threads[MAX_DELAYED_RPC].start();<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>      for (int i = 0; i &lt; MAX_DELAYED_RPC; i++) {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        threads[i].join();<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      }<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>      assertFalse(listAppender.getMessages().isEmpty());<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      assertTrue(listAppender.getMessages().get(0).startsWith("Too many delayed calls"));<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>      log.removeAppender(listAppender);<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    } finally {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      rpcClient.close();<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>  public static class TestDelayedImplementation<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  implements TestDelayedRpcProtos.TestDelayedService.BlockingInterface {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    /**<a name="line.217"></a>
-<span class="sourceLineNo">218</span>     * Should the return value of delayed call be set at the end of the delay<a name="line.218"></a>
-<span class="sourceLineNo">219</span>     * or at call return.<a name="line.219"></a>
-<span class="sourceLineNo">220</span>     */<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    private final boolean delayReturnValue;<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>     * @param delayReturnValue Should the response to the delayed call be set<a name="line.224"></a>
-<span class="sourceLineNo">225</span>     * at the start or the end of the delay.<a name="line.225"></a>
-<span class="sourceLineNo">226</span>     */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    public TestDelayedImplementation(boolean delayReturnValue) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      this.delayReturnValue = delayReturnValue;<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
-<span class="sourceLineNo">230</span><a name="line.230"></a>
-<span class="sourceLineNo">231</span>    @Override<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    public TestResponse test(final RpcController rpcController, final TestArg testArg)<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    throws ServiceException {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      boolean delay = testArg.getDelay();<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      TestResponse.Builder responseBuilder = TestResponse.newBuilder();<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      if (!delay) {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        responseBuilder.setResponse(UNDELAYED);<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        return responseBuilder.build();<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      }<a name="line.239"></a>
-<span class="sourceLineNo">240</span>      final Delayable call = RpcServer.getCurrentCall();<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      call.startDelay(delayReturnValue);<a name="line.241"></a>
-<span class="sourceLineNo">242</span>      new Thread() {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        @Override<a name="line.243"></a>
-<span class="sourceLineNo">244</span>        public void run() {<a name="line.244"></a>
-<span class="sourceLineNo">245</span>          try {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>            Thread.sleep(500);<a name="line.246"></a>
-<span class="sourceLineNo">247</span>            TestResponse.Builder responseBuilder = TestResponse.newBuilder();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>            call.endDelay(delayReturnValue ?<a name="line.248"></a>
-<span class="sourceLineNo">249</span>                responseBuilder.setResponse(DELAYED).build() : null);<a name="line.249"></a>
-<span class="sourceLineNo">250</span>          } catch (Exception e) {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>            e.printStackTrace();<a name="line.251"></a>
-<span class="sourceLineNo">252</span>          }<a name="line.252"></a>
-<span class="sourceLineNo">253</span>        }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      }.start();<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      // This value should go back to client only if the response is set<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      // immediately at delay time.<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      responseBuilder.setResponse(0xDEADBEEF);<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      return responseBuilder.build();<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    }<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  }<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>  public static class TestThread extends Thread {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    private final TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    private final boolean delay;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    private final List&lt;Integer&gt; results;<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>    public TestThread(TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub,<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        boolean delay, List&lt;Integer&gt; results) {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      this.stub = stub;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      this.delay = delay;<a name="line.270"></a>
-<span class="sourceLineNo">271</span>      this.results = results;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    }<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    @Override<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    public void run() {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      Integer result;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      try {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>        result = new Integer(stub.test(null, TestArg.newBuilder().setDelay(delay).build()).<a name="line.278"></a>
-<span class="sourceLineNo">279</span>          getResponse());<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      } catch (ServiceException e) {<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        throw new RuntimeException(e);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      }<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      if (results != null) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span>        synchronized (results) {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>          results.add(result);<a name="line.285"></a>
-<span class="sourceLineNo">286</span>        }<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>  }<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>  @Test<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  public void testEndDelayThrowing() throws IOException {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    Configuration conf = HBaseConfiguration.create();<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    InetSocketAddress isa = new InetSocketAddress("localhost", 0);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    FaultyTestDelayedImplementation instance = new FaultyTestDelayedImplementation();<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    BlockingService service =<a name="line.296"></a>
-<span class="sourceLineNo">297</span>      TestDelayedRpcProtos.TestDelayedService.newReflectiveBlockingService(instance);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    rpcServer = new RpcServer(null, "testEndDelayThrowing",<a name="line.298"></a>
-<span class="sourceLineNo">299</span>        Lists.newArrayList(new RpcServer.BlockingServiceAndInterface(service, null)),<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        isa,<a name="line.300"></a>
-<span class="sourceLineNo">301</span>        conf,<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        new FifoRpcScheduler(conf, 1));<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    rpcServer.start();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    RpcClient rpcClient = RpcClientFactory.createClient(<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        conf, HConstants.DEFAULT_CLUSTER_ID.toString());<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    try {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      InetSocketAddress address = rpcServer.getListenerAddress();<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      if (address == null) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        throw new IOException("Listener channel is closed");<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      }<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      BlockingRpcChannel channel = rpcClient.createBlockingRpcChannel(<a name="line.311"></a>
-<span class="sourceLineNo">312</span>          ServerName.valueOf(address.getHostName(),address.getPort(), System.currentTimeMillis()),<a name="line.312"></a>
-<span class="sourceLineNo">313</span>        User.getCurrent(), 1000);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub =<a name="line.314"></a>
-<span class="sourceLineNo">315</span>        TestDelayedRpcProtos.TestDelayedService.newBlockingStub(channel);<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>      int result = 0xDEADBEEF;<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>      try {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        result = stub.test(null, TestArg.newBuilder().setDelay(false).build()).getResponse();<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      } catch (Exception e) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        fail("No exception should have been thrown.");<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      }<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      assertEquals(result, UNDELAYED);<a name="line.324"></a>
-<span class="sourceLineNo">325</span><a name="line.325"></a>
-<span class="sourceLineNo">326</span>      boolean caughtException = false;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      try {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>        result = stub.test(null, TestArg.newBuilder().setDelay(true).build()).getResponse();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      } catch(Exception e) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        // Exception thrown by server is enclosed in a RemoteException.<a name="line.330"></a>
-<span class="sourceLineNo">331</span>        if (e.getCause().getMessage().contains("java.lang.Exception: Something went wrong")) {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>          caughtException = true;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>        }<a name="line.333"></a>
-<span class="sourceLineNo">334</span>        LOG.warn("Caught exception, expected=" + caughtException);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      }<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      assertTrue(caughtException);<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    } finally {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      rpcClient.close();<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>   * Delayed calls to this class throw an exception.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  private static class FaultyTestDelayedImplementation extends TestDelayedImplementation {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    public FaultyTestDelayedImplementation() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      super(false);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    public TestResponse test(RpcController rpcController, TestArg arg)<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    throws ServiceException {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      LOG.info("In faulty test, delay=" + arg.getDelay());<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      if (!arg.getDelay()) return TestResponse.newBuilder().setResponse(UNDELAYED).build();<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      Delayable call = RpcServer.getCurrentCall();<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      call.startDelay(true);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      LOG.info("In faulty test, delaying");<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      try {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        call.endDelayThrowing(new Exception("Something went wrong"));<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      } catch (IOException e) {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        e.printStackTrace();<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      }<a name="line.362"></a>
-<span class="sourceLineNo">363</span>      // Client will receive the Exception, not this value.<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      return TestResponse.newBuilder().setResponse(DELAYED).build();<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>}<a name="line.367"></a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</pre>
-</div>
-</body>
-</html>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html b/testdevapidocs/src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html
deleted file mode 100644
index c6a4fc3..0000000
--- a/testdevapidocs/src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html
+++ /dev/null
@@ -1,439 +0,0 @@
-<!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> *<a name="line.2"></a>
-<span class="sourceLineNo">003</span> * Licensed to the Apache Software Foundation (ASF) under one<a name="line.3"></a>
-<span class="sourceLineNo">004</span> * or more contributor license agreements.  See the NOTICE file<a name="line.4"></a>
-<span class="sourceLineNo">005</span> * distributed with this work for additional information<a name="line.5"></a>
-<span class="sourceLineNo">006</span> * regarding copyright ownership.  The ASF licenses this file<a name="line.6"></a>
-<span class="sourceLineNo">007</span> * to you under the Apache License, Version 2.0 (the<a name="line.7"></a>
-<span class="sourceLineNo">008</span> * "License"); you may not use this file except in compliance<a name="line.8"></a>
-<span class="sourceLineNo">009</span> * with the License.  You may obtain a copy of the License at<a name="line.9"></a>
-<span class="sourceLineNo">010</span> *<a name="line.10"></a>
-<span class="sourceLineNo">011</span> *     http://www.apache.org/licenses/LICENSE-2.0<a name="line.11"></a>
-<span class="sourceLineNo">012</span> *<a name="line.12"></a>
-<span class="sourceLineNo">013</span> * Unless required by applicable law or agreed to in writing, software<a name="line.13"></a>
-<span class="sourceLineNo">014</span> * distributed under the License is distributed on an "AS IS" BASIS,<a name="line.14"></a>
-<span class="sourceLineNo">015</span> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<a name="line.15"></a>
-<span class="sourceLineNo">016</span> * See the License for the specific language governing permissions and<a name="line.16"></a>
-<span class="sourceLineNo">017</span> * limitations under the License.<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.ipc;<a name="line.19"></a>
-<span class="sourceLineNo">020</span><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.assertTrue;<a name="line.23"></a>
-<span class="sourceLineNo">024</span>import static org.junit.Assert.fail;<a name="line.24"></a>
-<span class="sourceLineNo">025</span><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.net.InetSocketAddress;<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.List;<a name="line.29"></a>
-<span class="sourceLineNo">030</span><a name="line.30"></a>
-<span class="sourceLineNo">031</span>import org.apache.commons.logging.Log;<a name="line.31"></a>
-<span class="sourceLineNo">032</span>import org.apache.commons.logging.LogFactory;<a name="line.32"></a>
-<span class="sourceLineNo">033</span>import org.apache.hadoop.conf.Configuration;<a name="line.33"></a>
-<span class="sourceLineNo">034</span>import org.apache.hadoop.hbase.HBaseConfiguration;<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.testclassification.MediumTests;<a name="line.36"></a>
-<span class="sourceLineNo">037</span>import org.apache.hadoop.hbase.testclassification.RPCTests;<a name="line.37"></a>
-<span class="sourceLineNo">038</span>import org.apache.hadoop.hbase.ServerName;<a name="line.38"></a>
-<span class="sourceLineNo">039</span>import org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos;<a name="line.39"></a>
-<span class="sourceLineNo">040</span>import org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestArg;<a name="line.40"></a>
-<span class="sourceLineNo">041</span>import org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestResponse;<a name="line.41"></a>
-<span class="sourceLineNo">042</span>import org.apache.hadoop.hbase.security.User;<a name="line.42"></a>
-<span class="sourceLineNo">043</span>import org.apache.log4j.AppenderSkeleton;<a name="line.43"></a>
-<span class="sourceLineNo">044</span>import org.apache.log4j.Level;<a name="line.44"></a>
-<span class="sourceLineNo">045</span>import org.apache.log4j.Logger;<a name="line.45"></a>
-<span class="sourceLineNo">046</span>import org.apache.log4j.spi.LoggingEvent;<a name="line.46"></a>
-<span class="sourceLineNo">047</span>import org.junit.Test;<a name="line.47"></a>
-<span class="sourceLineNo">048</span>import org.junit.experimental.categories.Category;<a name="line.48"></a>
-<span class="sourceLineNo">049</span><a name="line.49"></a>
-<span class="sourceLineNo">050</span>import com.google.common.collect.Lists;<a name="line.50"></a>
-<span class="sourceLineNo">051</span>import com.google.protobuf.BlockingRpcChannel;<a name="line.51"></a>
-<span class="sourceLineNo">052</span>import com.google.protobuf.BlockingService;<a name="line.52"></a>
-<span class="sourceLineNo">053</span>import com.google.protobuf.RpcController;<a name="line.53"></a>
-<span class="sourceLineNo">054</span>import com.google.protobuf.ServiceException;<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> * Test that delayed RPCs work. Fire up three calls, the first of which should<a name="line.57"></a>
-<span class="sourceLineNo">058</span> * be delayed. Check that the last two, which are undelayed, return before the<a name="line.58"></a>
-<span class="sourceLineNo">059</span> * first one.<a name="line.59"></a>
-<span class="sourceLineNo">060</span> */<a name="line.60"></a>
-<span class="sourceLineNo">061</span>@Category({RPCTests.class, MediumTests.class}) // Fails sometimes with small tests<a name="line.61"></a>
-<span class="sourceLineNo">062</span>public class TestDelayedRpc {<a name="line.62"></a>
-<span class="sourceLineNo">063</span>  private static final Log LOG = LogFactory.getLog(TestDelayedRpc.class);<a name="line.63"></a>
-<span class="sourceLineNo">064</span>  public static RpcServerInterface rpcServer;<a name="line.64"></a>
-<span class="sourceLineNo">065</span>  public static final int UNDELAYED = 0;<a name="line.65"></a>
-<span class="sourceLineNo">066</span>  public static final int DELAYED = 1;<a name="line.66"></a>
-<span class="sourceLineNo">067</span>  private static final int RPC_CLIENT_TIMEOUT = 30000;<a name="line.67"></a>
-<span class="sourceLineNo">068</span><a name="line.68"></a>
-<span class="sourceLineNo">069</span>  @Test (timeout=60000)<a name="line.69"></a>
-<span class="sourceLineNo">070</span>  public void testDelayedRpcImmediateReturnValue() throws Exception {<a name="line.70"></a>
-<span class="sourceLineNo">071</span>    testDelayedRpc(false);<a name="line.71"></a>
-<span class="sourceLineNo">072</span>  }<a name="line.72"></a>
-<span class="sourceLineNo">073</span><a name="line.73"></a>
-<span class="sourceLineNo">074</span>  @Test (timeout=60000)<a name="line.74"></a>
-<span class="sourceLineNo">075</span>  public void testDelayedRpcDelayedReturnValue() throws Exception {<a name="line.75"></a>
-<span class="sourceLineNo">076</span>    testDelayedRpc(true);<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>  private void testDelayedRpc(boolean delayReturnValue) throws Exception {<a name="line.79"></a>
-<span class="sourceLineNo">080</span>    LOG.info("Running testDelayedRpc delayReturnValue=" + delayReturnValue);<a name="line.80"></a>
-<span class="sourceLineNo">081</span>    Configuration conf = HBaseConfiguration.create();<a name="line.81"></a>
-<span class="sourceLineNo">082</span>    InetSocketAddress isa = new InetSocketAddress("localhost", 0);<a name="line.82"></a>
-<span class="sourceLineNo">083</span>    TestDelayedImplementation instance = new TestDelayedImplementation(delayReturnValue);<a name="line.83"></a>
-<span class="sourceLineNo">084</span>    BlockingService service =<a name="line.84"></a>
-<span class="sourceLineNo">085</span>      TestDelayedRpcProtos.TestDelayedService.newReflectiveBlockingService(instance);<a name="line.85"></a>
-<span class="sourceLineNo">086</span>    rpcServer = new RpcServer(null, "testDelayedRpc",<a name="line.86"></a>
-<span class="sourceLineNo">087</span>        Lists.newArrayList(new RpcServer.BlockingServiceAndInterface(service, null)),<a name="line.87"></a>
-<span class="sourceLineNo">088</span>        isa,<a name="line.88"></a>
-<span class="sourceLineNo">089</span>        conf,<a name="line.89"></a>
-<span class="sourceLineNo">090</span>        new FifoRpcScheduler(conf, 1));<a name="line.90"></a>
-<span class="sourceLineNo">091</span>    rpcServer.start();<a name="line.91"></a>
-<span class="sourceLineNo">092</span>    RpcClient rpcClient = RpcClientFactory.createClient(<a name="line.92"></a>
-<span class="sourceLineNo">093</span>        conf, HConstants.DEFAULT_CLUSTER_ID.toString());<a name="line.93"></a>
-<span class="sourceLineNo">094</span>    try {<a name="line.94"></a>
-<span class="sourceLineNo">095</span>      InetSocketAddress address = rpcServer.getListenerAddress();<a name="line.95"></a>
-<span class="sourceLineNo">096</span>      if (address == null) {<a name="line.96"></a>
-<span class="sourceLineNo">097</span>        throw new IOException("Listener channel is closed");<a name="line.97"></a>
-<span class="sourceLineNo">098</span>      }<a name="line.98"></a>
-<span class="sourceLineNo">099</span>      BlockingRpcChannel channel = rpcClient.createBlockingRpcChannel(<a name="line.99"></a>
-<span class="sourceLineNo">100</span>          ServerName.valueOf(address.getHostName(),address.getPort(), System.currentTimeMillis()),<a name="line.100"></a>
-<span class="sourceLineNo">101</span>          User.getCurrent(), RPC_CLIENT_TIMEOUT);<a name="line.101"></a>
-<span class="sourceLineNo">102</span>      TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub =<a name="line.102"></a>
-<span class="sourceLineNo">103</span>        TestDelayedRpcProtos.TestDelayedService.newBlockingStub(channel);<a name="line.103"></a>
-<span class="sourceLineNo">104</span>      List&lt;Integer&gt; results = new ArrayList&lt;Integer&gt;();<a name="line.104"></a>
-<span class="sourceLineNo">105</span>      // Setting true sets 'delayed' on the client.<a name="line.105"></a>
-<span class="sourceLineNo">106</span>      TestThread th1 = new TestThread(stub, true, results);<a name="line.106"></a>
-<span class="sourceLineNo">107</span>      // Setting 'false' means we will return UNDELAYED as response immediately.<a name="line.107"></a>
-<span class="sourceLineNo">108</span>      TestThread th2 = new TestThread(stub, false, results);<a name="line.108"></a>
-<span class="sourceLineNo">109</span>      TestThread th3 = new TestThread(stub, false, results);<a name="line.109"></a>
-<span class="sourceLineNo">110</span>      th1.start();<a name="line.110"></a>
-<span class="sourceLineNo">111</span>      Thread.sleep(100);<a name="line.111"></a>
-<span class="sourceLineNo">112</span>      th2.start();<a name="line.112"></a>
-<span class="sourceLineNo">113</span>      Thread.sleep(200);<a name="line.113"></a>
-<span class="sourceLineNo">114</span>      th3.start();<a name="line.114"></a>
-<span class="sourceLineNo">115</span><a name="line.115"></a>
-<span class="sourceLineNo">116</span>      th1.join();<a name="line.116"></a>
-<span class="sourceLineNo">117</span>      th2.join();<a name="line.117"></a>
-<span class="sourceLineNo">118</span>      th3.join();<a name="line.118"></a>
-<span class="sourceLineNo">119</span><a name="line.119"></a>
-<span class="sourceLineNo">120</span>      // We should get the two undelayed responses first.<a name="line.120"></a>
-<span class="sourceLineNo">121</span>      assertEquals(UNDELAYED, results.get(0).intValue());<a name="line.121"></a>
-<span class="sourceLineNo">122</span>      assertEquals(UNDELAYED, results.get(1).intValue());<a name="line.122"></a>
-<span class="sourceLineNo">123</span>      assertEquals(results.get(2).intValue(), delayReturnValue ? DELAYED :  0xDEADBEEF);<a name="line.123"></a>
-<span class="sourceLineNo">124</span>    } finally {<a name="line.124"></a>
-<span class="sourceLineNo">125</span>      rpcClient.close();<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><a name="line.128"></a>
-<span class="sourceLineNo">129</span>  private static class ListAppender extends AppenderSkeleton {<a name="line.129"></a>
-<span class="sourceLineNo">130</span>    private final List&lt;String&gt; messages = new ArrayList&lt;String&gt;();<a name="line.130"></a>
-<span class="sourceLineNo">131</span><a name="line.131"></a>
-<span class="sourceLineNo">132</span>    @Override<a name="line.132"></a>
-<span class="sourceLineNo">133</span>    protected void append(LoggingEvent event) {<a name="line.133"></a>
-<span class="sourceLineNo">134</span>      messages.add(event.getMessage().toString());<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 void close() {<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>    @Override<a name="line.141"></a>
-<span class="sourceLineNo">142</span>    public boolean requiresLayout() {<a name="line.142"></a>
-<span class="sourceLineNo">143</span>      return false;<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 List&lt;String&gt; getMessages() {<a name="line.146"></a>
-<span class="sourceLineNo">147</span>      return messages;<a name="line.147"></a>
-<span class="sourceLineNo">148</span>    }<a name="line.148"></a>
-<span class="sourceLineNo">149</span>  }<a name="line.149"></a>
-<span class="sourceLineNo">150</span><a name="line.150"></a>
-<span class="sourceLineNo">151</span>  /**<a name="line.151"></a>
-<span class="sourceLineNo">152</span>   * Tests that we see a WARN message in the logs.<a name="line.152"></a>
-<span class="sourceLineNo">153</span>   * @throws Exception<a name="line.153"></a>
-<span class="sourceLineNo">154</span>   */<a name="line.154"></a>
-<span class="sourceLineNo">155</span>  @Test (timeout=60000)<a name="line.155"></a>
-<span class="sourceLineNo">156</span>  public void testTooManyDelayedRpcs() throws Exception {<a name="line.156"></a>
-<span class="sourceLineNo">157</span>    Configuration conf = HBaseConfiguration.create();<a name="line.157"></a>
-<span class="sourceLineNo">158</span>    final int MAX_DELAYED_RPC = 10;<a name="line.158"></a>
-<span class="sourceLineNo">159</span>    conf.setInt("hbase.ipc.warn.delayedrpc.number", MAX_DELAYED_RPC);<a name="line.159"></a>
-<span class="sourceLineNo">160</span>    // Set up an appender to catch the "Too many delayed calls" that we expect.<a name="line.160"></a>
-<span class="sourceLineNo">161</span>    ListAppender listAppender = new ListAppender();<a name="line.161"></a>
-<span class="sourceLineNo">162</span>    Logger log = Logger.getLogger(RpcServer.class);<a name="line.162"></a>
-<span class="sourceLineNo">163</span>    log.addAppender(listAppender);<a name="line.163"></a>
-<span class="sourceLineNo">164</span>    log.setLevel(Level.WARN);<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>    InetSocketAddress isa = new InetSocketAddress("localhost", 0);<a name="line.167"></a>
-<span class="sourceLineNo">168</span>    TestDelayedImplementation instance = new TestDelayedImplementation(true);<a name="line.168"></a>
-<span class="sourceLineNo">169</span>    BlockingService service =<a name="line.169"></a>
-<span class="sourceLineNo">170</span>      TestDelayedRpcProtos.TestDelayedService.newReflectiveBlockingService(instance);<a name="line.170"></a>
-<span class="sourceLineNo">171</span>    rpcServer = new RpcServer(null, "testTooManyDelayedRpcs",<a name="line.171"></a>
-<span class="sourceLineNo">172</span>      Lists.newArrayList(new RpcServer.BlockingServiceAndInterface(service, null)),<a name="line.172"></a>
-<span class="sourceLineNo">173</span>        isa,<a name="line.173"></a>
-<span class="sourceLineNo">174</span>        conf,<a name="line.174"></a>
-<span class="sourceLineNo">175</span>        new FifoRpcScheduler(conf, 1));<a name="line.175"></a>
-<span class="sourceLineNo">176</span>    rpcServer.start();<a name="line.176"></a>
-<span class="sourceLineNo">177</span>    RpcClient rpcClient = RpcClientFactory.createClient(<a name="line.177"></a>
-<span class="sourceLineNo">178</span>        conf, HConstants.DEFAULT_CLUSTER_ID.toString());<a name="line.178"></a>
-<span class="sourceLineNo">179</span>    try {<a name="line.179"></a>
-<span class="sourceLineNo">180</span>      InetSocketAddress address = rpcServer.getListenerAddress();<a name="line.180"></a>
-<span class="sourceLineNo">181</span>      if (address == null) {<a name="line.181"></a>
-<span class="sourceLineNo">182</span>        throw new IOException("Listener channel is closed");<a name="line.182"></a>
-<span class="sourceLineNo">183</span>      }<a name="line.183"></a>
-<span class="sourceLineNo">184</span>      BlockingRpcChannel channel = rpcClient.createBlockingRpcChannel(<a name="line.184"></a>
-<span class="sourceLineNo">185</span>          ServerName.valueOf(address.getHostName(),address.getPort(), System.currentTimeMillis()),<a name="line.185"></a>
-<span class="sourceLineNo">186</span>          User.getCurrent(), RPC_CLIENT_TIMEOUT);<a name="line.186"></a>
-<span class="sourceLineNo">187</span>      TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub =<a name="line.187"></a>
-<span class="sourceLineNo">188</span>        TestDelayedRpcProtos.TestDelayedService.newBlockingStub(channel);<a name="line.188"></a>
-<span class="sourceLineNo">189</span>      Thread threads[] = new Thread[MAX_DELAYED_RPC + 1];<a name="line.189"></a>
-<span class="sourceLineNo">190</span>      for (int i = 0; i &lt; MAX_DELAYED_RPC; i++) {<a name="line.190"></a>
-<span class="sourceLineNo">191</span>        threads[i] = new TestThread(stub, true, null);<a name="line.191"></a>
-<span class="sourceLineNo">192</span>        threads[i].start();<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>      /* No warnings till here. */<a name="line.195"></a>
-<span class="sourceLineNo">196</span>      assertTrue(listAppender.getMessages().isEmpty());<a name="line.196"></a>
-<span class="sourceLineNo">197</span><a name="line.197"></a>
-<span class="sourceLineNo">198</span>      /* This should give a warning. */<a name="line.198"></a>
-<span class="sourceLineNo">199</span>      threads[MAX_DELAYED_RPC] = new TestThread(stub, true, null);<a name="line.199"></a>
-<span class="sourceLineNo">200</span>      threads[MAX_DELAYED_RPC].start();<a name="line.200"></a>
-<span class="sourceLineNo">201</span><a name="line.201"></a>
-<span class="sourceLineNo">202</span>      for (int i = 0; i &lt; MAX_DELAYED_RPC; i++) {<a name="line.202"></a>
-<span class="sourceLineNo">203</span>        threads[i].join();<a name="line.203"></a>
-<span class="sourceLineNo">204</span>      }<a name="line.204"></a>
-<span class="sourceLineNo">205</span><a name="line.205"></a>
-<span class="sourceLineNo">206</span>      assertFalse(listAppender.getMessages().isEmpty());<a name="line.206"></a>
-<span class="sourceLineNo">207</span>      assertTrue(listAppender.getMessages().get(0).startsWith("Too many delayed calls"));<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>      log.removeAppender(listAppender);<a name="line.209"></a>
-<span class="sourceLineNo">210</span>    } finally {<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      rpcClient.close();<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>  public static class TestDelayedImplementation<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  implements TestDelayedRpcProtos.TestDelayedService.BlockingInterface {<a name="line.216"></a>
-<span class="sourceLineNo">217</span>    /**<a name="line.217"></a>
-<span class="sourceLineNo">218</span>     * Should the return value of delayed call be set at the end of the delay<a name="line.218"></a>
-<span class="sourceLineNo">219</span>     * or at call return.<a name="line.219"></a>
-<span class="sourceLineNo">220</span>     */<a name="line.220"></a>
-<span class="sourceLineNo">221</span>    private final boolean delayReturnValue;<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>     * @param delayReturnValue Should the response to the delayed call be set<a name="line.224"></a>
-<span class="sourceLineNo">225</span>     * at the start or the end of the delay.<a name="line.225"></a>
-<span class="sourceLineNo">226</span>     */<a name="line.226"></a>
-<span class="sourceLineNo">227</span>    public TestDelayedImplementation(boolean delayReturnValue) {<a name="line.227"></a>
-<span class="sourceLineNo">228</span>      this.delayReturnValue = delayReturnValue;<a name="line.228"></a>
-<span class="sourceLineNo">229</span>    }<a name="line.229"></a>
-<span class="sourceLineNo">230</span><a name="line.230"></a>
-<span class="sourceLineNo">231</span>    @Override<a name="line.231"></a>
-<span class="sourceLineNo">232</span>    public TestResponse test(final RpcController rpcController, final TestArg testArg)<a name="line.232"></a>
-<span class="sourceLineNo">233</span>    throws ServiceException {<a name="line.233"></a>
-<span class="sourceLineNo">234</span>      boolean delay = testArg.getDelay();<a name="line.234"></a>
-<span class="sourceLineNo">235</span>      TestResponse.Builder responseBuilder = TestResponse.newBuilder();<a name="line.235"></a>
-<span class="sourceLineNo">236</span>      if (!delay) {<a name="line.236"></a>
-<span class="sourceLineNo">237</span>        responseBuilder.setResponse(UNDELAYED);<a name="line.237"></a>
-<span class="sourceLineNo">238</span>        return responseBuilder.build();<a name="line.238"></a>
-<span class="sourceLineNo">239</span>      }<a name="line.239"></a>
-<span class="sourceLineNo">240</span>      final Delayable call = RpcServer.getCurrentCall();<a name="line.240"></a>
-<span class="sourceLineNo">241</span>      call.startDelay(delayReturnValue);<a name="line.241"></a>
-<span class="sourceLineNo">242</span>      new Thread() {<a name="line.242"></a>
-<span class="sourceLineNo">243</span>        @Override<a name="line.243"></a>
-<span class="sourceLineNo">244</span>        public void run() {<a name="line.244"></a>
-<span class="sourceLineNo">245</span>          try {<a name="line.245"></a>
-<span class="sourceLineNo">246</span>            Thread.sleep(500);<a name="line.246"></a>
-<span class="sourceLineNo">247</span>            TestResponse.Builder responseBuilder = TestResponse.newBuilder();<a name="line.247"></a>
-<span class="sourceLineNo">248</span>            call.endDelay(delayReturnValue ?<a name="line.248"></a>
-<span class="sourceLineNo">249</span>                responseBuilder.setResponse(DELAYED).build() : null);<a name="line.249"></a>
-<span class="sourceLineNo">250</span>          } catch (Exception e) {<a name="line.250"></a>
-<span class="sourceLineNo">251</span>            e.printStackTrace();<a name="line.251"></a>
-<span class="sourceLineNo">252</span>          }<a name="line.252"></a>
-<span class="sourceLineNo">253</span>        }<a name="line.253"></a>
-<span class="sourceLineNo">254</span>      }.start();<a name="line.254"></a>
-<span class="sourceLineNo">255</span>      // This value should go back to client only if the response is set<a name="line.255"></a>
-<span class="sourceLineNo">256</span>      // immediately at delay time.<a name="line.256"></a>
-<span class="sourceLineNo">257</span>      responseBuilder.setResponse(0xDEADBEEF);<a name="line.257"></a>
-<span class="sourceLineNo">258</span>      return responseBuilder.build();<a name="line.258"></a>
-<span class="sourceLineNo">259</span>    }<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  }<a name="line.260"></a>
-<span class="sourceLineNo">261</span><a name="line.261"></a>
-<span class="sourceLineNo">262</span>  public static class TestThread extends Thread {<a name="line.262"></a>
-<span class="sourceLineNo">263</span>    private final TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub;<a name="line.263"></a>
-<span class="sourceLineNo">264</span>    private final boolean delay;<a name="line.264"></a>
-<span class="sourceLineNo">265</span>    private final List&lt;Integer&gt; results;<a name="line.265"></a>
-<span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>    public TestThread(TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub,<a name="line.267"></a>
-<span class="sourceLineNo">268</span>        boolean delay, List&lt;Integer&gt; results) {<a name="line.268"></a>
-<span class="sourceLineNo">269</span>      this.stub = stub;<a name="line.269"></a>
-<span class="sourceLineNo">270</span>      this.delay = delay;<a name="line.270"></a>
-<span class="sourceLineNo">271</span>      this.results = results;<a name="line.271"></a>
-<span class="sourceLineNo">272</span>    }<a name="line.272"></a>
-<span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>    @Override<a name="line.274"></a>
-<span class="sourceLineNo">275</span>    public void run() {<a name="line.275"></a>
-<span class="sourceLineNo">276</span>      Integer result;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>      try {<a name="line.277"></a>
-<span class="sourceLineNo">278</span>        result = new Integer(stub.test(null, TestArg.newBuilder().setDelay(delay).build()).<a name="line.278"></a>
-<span class="sourceLineNo">279</span>          getResponse());<a name="line.279"></a>
-<span class="sourceLineNo">280</span>      } catch (ServiceException e) {<a name="line.280"></a>
-<span class="sourceLineNo">281</span>        throw new RuntimeException(e);<a name="line.281"></a>
-<span class="sourceLineNo">282</span>      }<a name="line.282"></a>
-<span class="sourceLineNo">283</span>      if (results != null) {<a name="line.283"></a>
-<span class="sourceLineNo">284</span>        synchronized (results) {<a name="line.284"></a>
-<span class="sourceLineNo">285</span>          results.add(result);<a name="line.285"></a>
-<span class="sourceLineNo">286</span>        }<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>  }<a name="line.289"></a>
-<span class="sourceLineNo">290</span><a name="line.290"></a>
-<span class="sourceLineNo">291</span>  @Test<a name="line.291"></a>
-<span class="sourceLineNo">292</span>  public void testEndDelayThrowing() throws IOException {<a name="line.292"></a>
-<span class="sourceLineNo">293</span>    Configuration conf = HBaseConfiguration.create();<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    InetSocketAddress isa = new InetSocketAddress("localhost", 0);<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    FaultyTestDelayedImplementation instance = new FaultyTestDelayedImplementation();<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    BlockingService service =<a name="line.296"></a>
-<span class="sourceLineNo">297</span>      TestDelayedRpcProtos.TestDelayedService.newReflectiveBlockingService(instance);<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    rpcServer = new RpcServer(null, "testEndDelayThrowing",<a name="line.298"></a>
-<span class="sourceLineNo">299</span>        Lists.newArrayList(new RpcServer.BlockingServiceAndInterface(service, null)),<a name="line.299"></a>
-<span class="sourceLineNo">300</span>        isa,<a name="line.300"></a>
-<span class="sourceLineNo">301</span>        conf,<a name="line.301"></a>
-<span class="sourceLineNo">302</span>        new FifoRpcScheduler(conf, 1));<a name="line.302"></a>
-<span class="sourceLineNo">303</span>    rpcServer.start();<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    RpcClient rpcClient = RpcClientFactory.createClient(<a name="line.304"></a>
-<span class="sourceLineNo">305</span>        conf, HConstants.DEFAULT_CLUSTER_ID.toString());<a name="line.305"></a>
-<span class="sourceLineNo">306</span>    try {<a name="line.306"></a>
-<span class="sourceLineNo">307</span>      InetSocketAddress address = rpcServer.getListenerAddress();<a name="line.307"></a>
-<span class="sourceLineNo">308</span>      if (address == null) {<a name="line.308"></a>
-<span class="sourceLineNo">309</span>        throw new IOException("Listener channel is closed");<a name="line.309"></a>
-<span class="sourceLineNo">310</span>      }<a name="line.310"></a>
-<span class="sourceLineNo">311</span>      BlockingRpcChannel channel = rpcClient.createBlockingRpcChannel(<a name="line.311"></a>
-<span class="sourceLineNo">312</span>          ServerName.valueOf(address.getHostName(),address.getPort(), System.currentTimeMillis()),<a name="line.312"></a>
-<span class="sourceLineNo">313</span>        User.getCurrent(), 1000);<a name="line.313"></a>
-<span class="sourceLineNo">314</span>      TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub =<a name="line.314"></a>
-<span class="sourceLineNo">315</span>        TestDelayedRpcProtos.TestDelayedService.newBlockingStub(channel);<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>      int result = 0xDEADBEEF;<a name="line.317"></a>
-<span class="sourceLineNo">318</span><a name="line.318"></a>
-<span class="sourceLineNo">319</span>      try {<a name="line.319"></a>
-<span class="sourceLineNo">320</span>        result = stub.test(null, TestArg.newBuilder().setDelay(false).build()).getResponse();<a name="line.320"></a>
-<span class="sourceLineNo">321</span>      } catch (Exception e) {<a name="line.321"></a>
-<span class="sourceLineNo">322</span>        fail("No exception should have been thrown.");<a name="line.322"></a>
-<span class="sourceLineNo">323</span>      }<a name="line.323"></a>
-<span class="sourceLineNo">324</span>      assertEquals(result, UNDELAYED);<a name="line.324"></a>
-<span class="sourceLineNo">325</span><a name="line.325"></a>
-<span class="sourceLineNo">326</span>      boolean caughtException = false;<a name="line.326"></a>
-<span class="sourceLineNo">327</span>      try {<a name="line.327"></a>
-<span class="sourceLineNo">328</span>        result = stub.test(null, TestArg.newBuilder().setDelay(true).build()).getResponse();<a name="line.328"></a>
-<span class="sourceLineNo">329</span>      } catch(Exception e) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>        // Exception thrown by server is enclosed in a RemoteException.<a name="line.330"></a>
-<span class="sourceLineNo">331</span>        if (e.getCause().getMessage().contains("java.lang.Exception: Something went wrong")) {<a name="line.331"></a>
-<span class="sourceLineNo">332</span>          caughtException = true;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>        }<a name="line.333"></a>
-<span class="sourceLineNo">334</span>        LOG.warn("Caught exception, expected=" + caughtException);<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      }<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      assertTrue(caughtException);<a name="line.336"></a>
-<span class="sourceLineNo">337</span>    } finally {<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      rpcClient.close();<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>   * Delayed calls to this class throw an exception.<a name="line.343"></a>
-<span class="sourceLineNo">344</span>   */<a name="line.344"></a>
-<span class="sourceLineNo">345</span>  private static class FaultyTestDelayedImplementation extends TestDelayedImplementation {<a name="line.345"></a>
-<span class="sourceLineNo">346</span>    public FaultyTestDelayedImplementation() {<a name="line.346"></a>
-<span class="sourceLineNo">347</span>      super(false);<a name="line.347"></a>
-<span class="sourceLineNo">348</span>    }<a name="line.348"></a>
-<span class="sourceLineNo">349</span><a name="line.349"></a>
-<span class="sourceLineNo">350</span>    @Override<a name="line.350"></a>
-<span class="sourceLineNo">351</span>    public TestResponse test(RpcController rpcController, TestArg arg)<a name="line.351"></a>
-<span class="sourceLineNo">352</span>    throws ServiceException {<a name="line.352"></a>
-<span class="sourceLineNo">353</span>      LOG.info("In faulty test, delay=" + arg.getDelay());<a name="line.353"></a>
-<span class="sourceLineNo">354</span>      if (!arg.getDelay()) return TestResponse.newBuilder().setResponse(UNDELAYED).build();<a name="line.354"></a>
-<span class="sourceLineNo">355</span>      Delayable call = RpcServer.getCurrentCall();<a name="line.355"></a>
-<span class="sourceLineNo">356</span>      call.startDelay(true);<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      LOG.info("In faulty test, delaying");<a name="line.357"></a>
-<span class="sourceLineNo">358</span>      try {<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        call.endDelayThrowing(new Exception("Something went wrong"));<a name="line.359"></a>
-<span class="sourceLineNo">360</span>      } catch (IOException e) {<a name="line.360"></a>
-<span class="sourceLineNo">361</span>        e.printStackTrace();<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      }<a name="line.362"></a>
-<span class="sourceLineNo">363</span>      // Client will receive the Exception, not this value.<a name="line.363"></a>
-<span class="sourceLineNo">364</span>      return TestResponse.newBuilder().setResponse(DELAYED).build();<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>}<a name="line.367"></a>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-</pre>
-</div>
-</body>
-</html>


[25/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 2b891f1..d4351b1 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/RpcServer.html
@@ -267,22 +267,14 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private static int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_WARN_DELAYED_CALLS">DEFAULT_WARN_DELAYED_CALLS</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_WARN_RESPONSE_SIZE">DEFAULT_WARN_RESPONSE_SIZE</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#DEFAULT_WARN_RESPONSE_TIME">DEFAULT_WARN_RESPONSE_TIME</a></strong></code>
 <div class="block">Default value for above params</div>
 </td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#delayedCalls">delayedCalls</a></strong></code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>protected <a href="../../../../../org/apache/hadoop/hbase/ipc/HBaseRPCErrorHandler.html" title="interface in org.apache.hadoop.hbase.ipc">HBaseRPCErrorHandler</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#errorHandler">errorHandler</a></strong></code>&nbsp;</td>
@@ -417,20 +409,12 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 </tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#WARN_DELAYED_CALLS">WARN_DELAYED_CALLS</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#WARN_RESPONSE_SIZE">WARN_RESPONSE_SIZE</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="rowColor">
+<tr class="altColor">
 <td class="colFirst"><code>private static <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a></code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#WARN_RESPONSE_TIME">WARN_RESPONSE_TIME</a></strong></code>&nbsp;</td>
 </tr>
-<tr class="altColor">
-<td class="colFirst"><code>private int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#warnDelayedCalls">warnDelayedCalls</a></strong></code>&nbsp;</td>
-</tr>
 <tr class="rowColor">
 <td class="colFirst"><code>private int</code></td>
 <td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.html#warnResponseSize">warnResponseSize</a></strong></code>&nbsp;</td>
@@ -813,51 +797,13 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <dl><dt><span class="strong">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></dl>
 </li>
 </ul>
-<a name="WARN_DELAYED_CALLS">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>WARN_DELAYED_CALLS</h4>
-<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.188">WARN_DELAYED_CALLS</a></pre>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.WARN_DELAYED_CALLS">Constant Field Values</a></dd></dl>
-</li>
-</ul>
-<a name="DEFAULT_WARN_DELAYED_CALLS">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>DEFAULT_WARN_DELAYED_CALLS</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.190">DEFAULT_WARN_DELAYED_CALLS</a></pre>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.DEFAULT_WARN_DELAYED_CALLS">Constant Field Values</a></dd></dl>
-</li>
-</ul>
-<a name="warnDelayedCalls">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>warnDelayedCalls</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.192">warnDelayedCalls</a></pre>
-</li>
-</ul>
-<a name="delayedCalls">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>delayedCalls</h4>
-<pre>private&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/java/util/concurrent/atomic/AtomicInteger.html?is-external=true" title="class or interface in java.util.concurrent.atomic">AtomicInteger</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.194">delayedCalls</a></pre>
-</li>
-</ul>
 <a name="ipcUtil">
 <!--   -->
 </a>
 <ul class="blockList">
 <li class="blockList">
 <h4>ipcUtil</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/IPCUtil.html" title="class in org.apache.hadoop.hbase.ipc">IPCUtil</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.195">ipcUtil</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/IPCUtil.html" title="class in org.apache.hadoop.hbase.ipc">IPCUtil</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.188">ipcUtil</a></pre>
 </li>
 </ul>
 <a name="AUTH_FAILED_FOR">
@@ -866,7 +812,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>AUTH_FAILED_FOR</h4>
-<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.197">AUTH_FAILED_FOR</a></pre>
+<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.190">AUTH_FAILED_FOR</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.AUTH_FAILED_FOR">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -876,7 +822,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>AUTH_SUCCESSFUL_FOR</h4>
-<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.198">AUTH_SUCCESSFUL_FOR</a></pre>
+<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.191">AUTH_SUCCESSFUL_FOR</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.AUTH_SUCCESSFUL_FOR">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -886,7 +832,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>AUDITLOG</h4>
-<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.199">AUDITLOG</a></pre>
+<pre>private static final&nbsp;org.apache.commons.logging.Log <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.192">AUDITLOG</a></pre>
 </li>
 </ul>
 <a name="secretManager">
@@ -895,7 +841,7 @@ 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.201">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.194">secretManager</a></pre>
 </li>
 </ul>
 <a name="authManager">
@@ -904,7 +850,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.202">authManager</a></pre>
+<pre>protected&nbsp;org.apache.hadoop.security.authorize.ServiceAuthorizationManager <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.195">authManager</a></pre>
 </li>
 </ul>
 <a name="CurCall">
@@ -913,7 +859,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/7/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/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.207">CurCall</a></pre>
+<pre>protected static final&nbsp;<a href="http://docs.oracle.com/javase/7/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/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.200">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>
@@ -924,7 +870,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>MONITORED_RPC</h4>
-<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/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.210">MONITORED_RPC</a></pre>
+<pre>static final&nbsp;<a href="http://docs.oracle.com/javase/7/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.203">MONITORED_RPC</a></pre>
 <div class="block">Keeps MonitoredRPCHandler per handler thread.</div>
 </li>
 </ul>
@@ -934,7 +880,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/7/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.213">bindAddress</a></pre>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/7/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.206">bindAddress</a></pre>
 </li>
 </ul>
 <a name="port">
@@ -943,7 +889,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>port</h4>
-<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.214">port</a></pre>
+<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.207">port</a></pre>
 </li>
 </ul>
 <a name="address">
@@ -952,7 +898,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>address</h4>
-<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/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.215">address</a></pre>
+<pre>protected&nbsp;<a href="http://docs.oracle.com/javase/7/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.208">address</a></pre>
 </li>
 </ul>
 <a name="readThreads">
@@ -961,7 +907,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>readThreads</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.216">readThreads</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.209">readThreads</a></pre>
 </li>
 </ul>
 <a name="maxIdleTime">
@@ -970,7 +916,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>maxIdleTime</h4>
-<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.217">maxIdleTime</a></pre>
+<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.210">maxIdleTime</a></pre>
 </li>
 </ul>
 <a name="thresholdIdleConnections">
@@ -979,7 +925,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>thresholdIdleConnections</h4>
-<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.220">thresholdIdleConnections</a></pre>
+<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.213">thresholdIdleConnections</a></pre>
 </li>
 </ul>
 <a name="maxConnectionsToNuke">
@@ -988,7 +934,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>maxConnectionsToNuke</h4>
-<pre>int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.224">maxConnectionsToNuke</a></pre>
+<pre>int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.217">maxConnectionsToNuke</a></pre>
 </li>
 </ul>
 <a name="metrics">
@@ -997,7 +943,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.228">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.221">metrics</a></pre>
 </li>
 </ul>
 <a name="conf">
@@ -1006,7 +952,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.230">conf</a></pre>
+<pre>protected final&nbsp;org.apache.hadoop.conf.Configuration <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.223">conf</a></pre>
 </li>
 </ul>
 <a name="maxQueueSize">
@@ -1015,7 +961,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>maxQueueSize</h4>
-<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.232">maxQueueSize</a></pre>
+<pre>private&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.225">maxQueueSize</a></pre>
 </li>
 </ul>
 <a name="socketSendBufferSize">
@@ -1024,7 +970,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>socketSendBufferSize</h4>
-<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.233">socketSendBufferSize</a></pre>
+<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.226">socketSendBufferSize</a></pre>
 </li>
 </ul>
 <a name="tcpNoDelay">
@@ -1033,7 +979,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.234">tcpNoDelay</a></pre>
+<pre>protected final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.227">tcpNoDelay</a></pre>
 </li>
 </ul>
 <a name="tcpKeepAlive">
@@ -1042,7 +988,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.235">tcpKeepAlive</a></pre>
+<pre>protected final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.228">tcpKeepAlive</a></pre>
 </li>
 </ul>
 <a name="purgeTimeout">
@@ -1051,7 +997,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>purgeTimeout</h4>
-<pre>protected final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.236">purgeTimeout</a></pre>
+<pre>protected final&nbsp;long <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.229">purgeTimeout</a></pre>
 </li>
 </ul>
 <a name="running">
@@ -1060,7 +1006,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.243">running</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.236">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/RpcServer.html#start()"><code>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/RpcServer.html#stop()"><code>stop()</code></a> is called.</div>
@@ -1072,7 +1018,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.249">started</a></pre>
+<pre>volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.242">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/RpcServer.html#start()"><code>start()</code></a>.</div>
 </li>
@@ -1083,7 +1029,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>callQueueSize</h4>
-<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.254">callQueueSize</a></pre>
+<pre>protected final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/Counter.html" title="class in org.apache.hadoop.hbase.util">Counter</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.247">callQueueSize</a></pre>
 <div class="block">This is a running count of the size of all outstanding calls by size.</div>
 </li>
 </ul>
@@ -1093,7 +1039,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>connectionList</h4>
-<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/7/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.Connection.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Connection</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.256">connectionList</a></pre>
+<pre>protected final&nbsp;<a href="http://docs.oracle.com/javase/7/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.Connection.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Connection</a>&gt; <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.249">connectionList</a></pre>
 </li>
 </ul>
 <a name="listener">
@@ -1102,7 +1048,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>listener</h4>
-<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Listener.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Listener</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.260">listener</a></pre>
+<pre>private&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Listener.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Listener</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.253">listener</a></pre>
 </li>
 </ul>
 <a name="responder">
@@ -1111,7 +1057,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>responder</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Responder.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Responder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.261">responder</a></pre>
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Responder.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Responder</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.254">responder</a></pre>
 </li>
 </ul>
 <a name="authTokenSecretMgr">
@@ -1120,7 +1066,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.262">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.255">authTokenSecretMgr</a></pre>
 </li>
 </ul>
 <a name="numConnections">
@@ -1129,7 +1075,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>numConnections</h4>
-<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.263">numConnections</a></pre>
+<pre>protected&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.256">numConnections</a></pre>
 </li>
 </ul>
 <a name="errorHandler">
@@ -1138,7 +1084,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.265">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.258">errorHandler</a></pre>
 </li>
 </ul>
 <a name="WARN_RESPONSE_TIME">
@@ -1147,7 +1093,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>WARN_RESPONSE_TIME</h4>
-<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.267">WARN_RESPONSE_TIME</a></pre>
+<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.260">WARN_RESPONSE_TIME</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.WARN_RESPONSE_TIME">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1157,7 +1103,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>WARN_RESPONSE_SIZE</h4>
-<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.268">WARN_RESPONSE_SIZE</a></pre>
+<pre>private static final&nbsp;<a href="http://docs.oracle.com/javase/7/docs/api/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.261">WARN_RESPONSE_SIZE</a></pre>
 <dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.RpcServer.WARN_RESPONSE_SIZE">Constant Field Values</a></dd></dl>
 </li>
 </ul>
@@ -1167,7 +1113,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_WARN_RESPONSE_TIME</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.271">DEFAULT_WARN_RESPONSE_TIME</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.264">DEFAULT_WARN_RESPONSE_TIME</a></pre>
 <div class="block">Default value for above params</div>
 <dl><dt><span class="strong">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></dl>
 </li>
@@ -1178,7 +1124,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>DEFAULT_WARN_RESPONSE_SIZE</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.272">DEFAULT_WARN_RESPONSE_SIZE</a></pre>
+<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.265">DEFAULT_WARN_RESPONSE_SIZE</a></pre>
 <dl><dt><span class="strong">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></dl>
 </li>
 </ul>
@@ -1188,7 +1134,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>MAPPER</h4>
-<pre>private static final&nbsp;org.codehaus.jackson.map.ObjectMapper <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.274">MAPPER</a></pre>
+<pre>private static final&nbsp;org.codehaus.jackson.map.ObjectMapper <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.267">MAPPER</a></pre>
 </li>
 </ul>
 <a name="warnResponseTime">
@@ -1197,7 +1143,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>warnResponseTime</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.276">warnResponseTime</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.269">warnResponseTime</a></pre>
 </li>
 </ul>
 <a name="warnResponseSize">
@@ -1206,7 +1152,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>warnResponseSize</h4>
-<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.277">warnResponseSize</a></pre>
+<pre>private final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.270">warnResponseSize</a></pre>
 </li>
 </ul>
 <a name="server">
@@ -1215,7 +1161,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>server</h4>
-<pre>private 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.278">server</a></pre>
+<pre>private 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.271">server</a></pre>
 </li>
 </ul>
 <a name="services">
@@ -1224,7 +1170,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>services</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/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.279">services</a></pre>
+<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/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.272">services</a></pre>
 </li>
 </ul>
 <a name="scheduler">
@@ -1233,7 +1179,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>scheduler</h4>
-<pre>private 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.281">scheduler</a></pre>
+<pre>private 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.274">scheduler</a></pre>
 </li>
 </ul>
 <a name="userProvider">
@@ -1242,7 +1188,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>userProvider</h4>
-<pre>private&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.283">userProvider</a></pre>
+<pre>private&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.276">userProvider</a></pre>
 </li>
 </ul>
 <a name="reservoir">
@@ -1251,7 +1197,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>reservoir</h4>
-<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/BoundedByteBufferPool.html" title="class in org.apache.hadoop.hbase.io">BoundedByteBufferPool</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.285">reservoir</a></pre>
+<pre>private final&nbsp;<a href="../../../../../org/apache/hadoop/hbase/io/BoundedByteBufferPool.html" title="class in org.apache.hadoop.hbase.io">BoundedByteBufferPool</a> <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.278">reservoir</a></pre>
 </li>
 </ul>
 <a name="allowFallbackToSimpleAuth">
@@ -1260,7 +1206,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>allowFallbackToSimpleAuth</h4>
-<pre>private volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.287">allowFallbackToSimpleAuth</a></pre>
+<pre>private volatile&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.280">allowFallbackToSimpleAuth</a></pre>
 </li>
 </ul>
 <a name="NIO_BUFFER_LIMIT">
@@ -1269,7 +1215,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockListLast">
 <li class="blockList">
 <h4>NIO_BUFFER_LIMIT</h4>
-<pre>private static&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2427">NIO_BUFFER_LIMIT</a></pre>
+<pre>private static&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2363">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>
@@ -1289,7 +1235,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.2045">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.1983">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/7/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/7/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/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;bindAddress,
@@ -1317,7 +1263,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.2105">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.2041">onConfigurationChange</a>(org.apache.hadoop.conf.Configuration&nbsp;newConf)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/conf/ConfigurationObserver.html#onConfigurationChange(org.apache.hadoop.conf.Configuration)">ConfigurationObserver</a></code></strong></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>
@@ -1333,7 +1279,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>initReconfigurable</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2109">initReconfigurable</a>(org.apache.hadoop.conf.Configuration&nbsp;confToLoad)</pre>
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2045">initReconfigurable</a>(org.apache.hadoop.conf.Configuration&nbsp;confToLoad)</pre>
 </li>
 </ul>
 <a name="getConnection(java.nio.channels.SocketChannel, long)">
@@ -1342,7 +1288,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getConnection</h4>
-<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Connection.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2127">getConnection</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/SocketChannel.html?is-external=true" title="class or interface in java.nio.channels">SocketChannel</a>&nbsp;channel,
+<pre>protected&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Connection.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Connection</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2063">getConnection</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/SocketChannel.html?is-external=true" title="class or interface in java.nio.channels">SocketChannel</a>&nbsp;channel,
                                  long&nbsp;time)</pre>
 <div class="block">Subclasses of HBaseServer can override this to provide their own
  Connection implementations.</div>
@@ -1354,7 +1300,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>setupResponse</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2139">setupResponse</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/ByteArrayOutputStream.html?is-external=true" title="class or interface in java.io">ByteArrayOutputStream</a>&nbsp;response,
+<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2075">setupResponse</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/io/ByteArrayOutputStream.html?is-external=true" title="class or interface in java.io">ByteArrayOutputStream</a>&nbsp;response,
                  <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a>&nbsp;call,
                  <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Throwable.html?is-external=true" title="class or interface in java.lang">Throwable</a>&nbsp;t,
                  <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;error)
@@ -1371,7 +1317,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>closeConnection</h4>
-<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2145">closeConnection</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Connection.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Connection</a>&nbsp;connection)</pre>
+<pre>protected&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2081">closeConnection</a>(<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Connection.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Connection</a>&nbsp;connection)</pre>
 </li>
 </ul>
 <a name="getConf()">
@@ -1380,7 +1326,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.2154">getConf</a>()</pre>
+<pre>org.apache.hadoop.conf.Configuration&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2090">getConf</a>()</pre>
 </li>
 </ul>
 <a name="setSocketSendBufSize(int)">
@@ -1389,7 +1335,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>setSocketSendBufSize</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2162">setSocketSendBufSize</a>(int&nbsp;size)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2098">setSocketSendBufSize</a>(int&nbsp;size)</pre>
 <div class="block">Sets the socket buffer size used for responding to RPCs.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -1403,7 +1349,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.2165">isStarted</a>()</pre>
+<pre>public&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2101">isStarted</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></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>
@@ -1416,7 +1362,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>start</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2171">start</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2107">start</a>()</pre>
 <div class="block">Starts the service.  Must be called before any calls will be handled.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -1430,7 +1376,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.2187">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.2123">refreshAuthManager</a>(org.apache.hadoop.security.authorize.PolicyProvider&nbsp;pp)</pre>
 <div class="block"><strong>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></strong></div>
 <div class="block">Refresh authentication manager policy.</div>
 <dl>
@@ -1445,7 +1391,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>createSecretManager</h4>
-<pre>private&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.2193">createSecretManager</a>()</pre>
+<pre>private&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.2129">createSecretManager</a>()</pre>
 </li>
 </ul>
 <a name="getSecretManager()">
@@ -1454,7 +1400,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.2205">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.2141">getSecretManager</a>()</pre>
 </li>
 </ul>
 <a name="setSecretManager(org.apache.hadoop.security.token.SecretManager)">
@@ -1463,7 +1409,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.2210">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.2146">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(com.google.protobuf.BlockingService, com.google.protobuf.Descriptors.MethodDescriptor, com.google.protobuf.Message, org.apache.hadoop.hbase.CellScanner, long, org.apache.hadoop.hbase.monitoring.MonitoredRPCHandler)">
@@ -1472,7 +1418,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;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.2220">call</a>(com.google.protobuf.BlockingService&nbsp;service,
+<pre>public&nbsp;<a href="../../../../../org/apache/hadoop/hbase/util/Pair.html" title="class in org.apache.hadoop.hbase.util">Pair</a>&lt;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.2156">call</a>(com.google.protobuf.BlockingService&nbsp;service,
                                                  com.google.protobuf.Descriptors.MethodDescriptor&nbsp;md,
                                                  com.google.protobuf.Message&nbsp;param,
                                                  <a href="../../../../../org/apache/hadoop/hbase/CellScanner.html" title="interface in org.apache.hadoop.hbase">CellScanner</a>&nbsp;cellScanner,
@@ -1495,7 +1441,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.2294">logResponse</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;params,
+<pre>void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2230">logResponse</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>[]&nbsp;params,
                <a href="http://docs.oracle.com/javase/7/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/7/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/7/docs/api/java/lang/String.html?is-external=true" title="class or interface in java.lang">String</a>&nbsp;tag,
@@ -1519,7 +1465,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>stop</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2337">stop</a>()</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2273">stop</a>()</pre>
 <div class="block">Stops the service.  No new calls will be handled after this is called.</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -1533,7 +1479,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>join</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2357">join</a>()
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2293">join</a>()
           throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/InterruptedException.html?is-external=true" title="class or interface in java.lang">InterruptedException</a></pre>
 <div class="block">Wait for the server to be stopped.
  Does not wait for all subthreads to finish.
@@ -1551,7 +1497,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getListenerAddress</h4>
-<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/ipc/RpcServer.html#line.2370">getListenerAddress</a>()</pre>
+<pre>public&nbsp;<a href="http://docs.oracle.com/javase/7/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/ipc/RpcServer.html#line.2306">getListenerAddress</a>()</pre>
 <div class="block">Return the socket (ip+port) on which the RPC server is listening to. May return null if
  the listener channel is closed.</div>
 <dl>
@@ -1567,7 +1513,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.2382">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.2318">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><strong>Specified by:</strong></dt>
@@ -1581,7 +1527,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.2387">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.2323">getErrorHandler</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></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>
@@ -1594,7 +1540,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.2395">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.2331">getMetrics</a>()</pre>
 <div class="block">Returns the metrics instance for reporting RPC call statistics</div>
 <dl>
 <dt><strong>Specified by:</strong></dt>
@@ -1608,7 +1554,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.2400">addCallSize</a>(long&nbsp;diff)</pre>
+<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2336">addCallSize</a>(long&nbsp;diff)</pre>
 <div class="block"><strong>Description copied from interface:&nbsp;<code><a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterface.html#addCallSize(long)">RpcServerInterface</a></code></strong></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>
@@ -1624,7 +1570,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.2413">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.2349">authorize</a>(org.apache.hadoop.security.UserGroupInformation&nbsp;user,
              org.apache.hadoop.hbase.protobuf.generated.RPCProtos.ConnectionHeader&nbsp;connection,
              <a href="http://docs.oracle.com/javase/7/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>
@@ -1640,7 +1586,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>channelWrite</h4>
-<pre>protected&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2443">channelWrite</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/GatheringByteChannel.html?is-external=true" title="class or interface in java.nio.channels">GatheringByteChannel</a>&nbsp;channel,
+<pre>protected&nbsp;long&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2379">channelWrite</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/nio/channels/GatheringByteChannel.html?is-external=true" title="class or interface in java.nio.channels">GatheringByteChannel</a>&nbsp;channel,
                 <a href="../../../../../org/apache/hadoop/hbase/ipc/BufferChain.html" title="class in org.apache.hadoop.hbase.ipc">BufferChain</a>&nbsp;bufferChain)
                      throws <a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/nio/channels/WritableByteChannel.html?is-external=true#write(java.nio.ByteBuffer)" title="class or interface in java.nio.channels"><code>WritableByteChannel.write(java.nio.ByteBuffer)</code></a>.
@@ -1661,7 +1607,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.2462">channelRead</a>(<a href="http://docs.oracle.com/javase/7/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.2398">channelRead</a>(<a href="http://docs.oracle.com/javase/7/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/7/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/7/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/7/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>.
@@ -1680,7 +1626,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.2486">channelIO</a>(<a href="http://docs.oracle.com/javase/7/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.2422">channelIO</a>(<a href="http://docs.oracle.com/javase/7/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/7/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/7/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/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1700,7 +1646,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/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2520">getCurrentCall</a>()</pre>
+<pre>public static&nbsp;<a href="../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a>&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2456">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>
@@ -1713,7 +1659,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.2524">isInRpcCallContext</a>()</pre>
+<pre>public static&nbsp;boolean&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2460">isInRpcCallContext</a>()</pre>
 </li>
 </ul>
 <a name="getRequestUser()">
@@ -1722,7 +1668,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.2533">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.2469">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><dt><span class="strong">Returns:</span></dt><dd>A User</dd></dl>
@@ -1734,7 +1680,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/7/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.2542">getRequestUserName</a>()</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/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.2478">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>
@@ -1745,7 +1691,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/7/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.2550">getRemoteAddress</a>()</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/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.2486">getRemoteAddress</a>()</pre>
 <dl><dt><span class="strong">Returns:</span></dt><dd>Address of remote client if a request is ongoing, else null</dd></dl>
 </li>
 </ul>
@@ -1755,7 +1701,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getServiceAndInterface</h4>
-<pre>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.2560">getServiceAndInterface</a>(<a href="http://docs.oracle.com/javase/7/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>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.2496">getServiceAndInterface</a>(<a href="http://docs.oracle.com/javase/7/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/7/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="strong">Parameters:</span></dt><dd><code>serviceName</code> - Some arbitrary string that represents a 'service'.</dd><dd><code>services</code> - Available service instances</dd>
 <dt><span class="strong">Returns:</span></dt><dd>Matching BlockingServiceAndInterface pair</dd></dl>
@@ -1767,7 +1713,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getServiceInterface</h4>
-<pre>static&nbsp;<a href="http://docs.oracle.com/javase/7/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.2575">getServiceInterface</a>(<a href="http://docs.oracle.com/javase/7/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>static&nbsp;<a href="http://docs.oracle.com/javase/7/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.2511">getServiceInterface</a>(<a href="http://docs.oracle.com/javase/7/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/7/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="strong">Parameters:</span></dt><dd><code>serviceName</code> - Some arbitrary string that represents a 'service'.</dd><dd><code>services</code> - Available services and their service interfaces.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>Service interface class for <code>serviceName</code></dd></dl>
@@ -1779,7 +1725,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getService</h4>
-<pre>static&nbsp;com.google.protobuf.BlockingService&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2588">getService</a>(<a href="http://docs.oracle.com/javase/7/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>static&nbsp;com.google.protobuf.BlockingService&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2524">getService</a>(<a href="http://docs.oracle.com/javase/7/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/7/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="strong">Parameters:</span></dt><dd><code>serviceName</code> - Some arbitrary string that represents a 'service'.</dd><dd><code>services</code> - Available services and their service interfaces.</dd>
 <dt><span class="strong">Returns:</span></dt><dd>BlockingService that goes with the passed <code>serviceName</code></dd></dl>
@@ -1791,7 +1737,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>getStatus</h4>
-<pre>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.2596">getStatus</a>()</pre>
+<pre>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.2532">getStatus</a>()</pre>
 </li>
 </ul>
 <a name="getRemoteIp()">
@@ -1800,7 +1746,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/7/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.2612">getRemoteIp</a>()</pre>
+<pre>public static&nbsp;<a href="http://docs.oracle.com/javase/7/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.2548">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><dt><span class="strong">Returns:</span></dt><dd>InetAddress</dd></dl>
@@ -1812,7 +1758,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockList">
 <li class="blockList">
 <h4>bind</h4>
-<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2631">bind</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/net/ServerSocket.html?is-external=true" title="class or interface in java.net">ServerSocket</a>&nbsp;socket,
+<pre>public static&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/RpcServer.html#line.2567">bind</a>(<a href="http://docs.oracle.com/javase/7/docs/api/java/net/ServerSocket.html?is-external=true" title="class or interface in java.net">ServerSocket</a>&nbsp;socket,
         <a href="http://docs.oracle.com/javase/7/docs/api/java/net/InetSocketAddress.html?is-external=true" title="class or interface in java.net">InetSocketAddress</a>&nbsp;address,
         int&nbsp;backlog)
                  throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
@@ -1831,7 +1777,7 @@ implements <a href="../../../../../org/apache/hadoop/hbase/ipc/RpcServerInterfac
 <ul class="blockListLast">
 <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.2653">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.2589">getScheduler</a>()</pre>
 <dl>
 <dt><strong>Specified by:</strong></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>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/org/apache/hadoop/hbase/ipc/class-use/Delayable.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/class-use/Delayable.html b/devapidocs/org/apache/hadoop/hbase/ipc/class-use/Delayable.html
deleted file mode 100644
index 247861a..0000000
--- a/devapidocs/org/apache/hadoop/hbase/ipc/class-use/Delayable.html
+++ /dev/null
@@ -1,173 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Interface org.apache.hadoop.hbase.ipc.Delayable (Apache HBase 2.0.0-SNAPSHOT API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Interface org.apache.hadoop.hbase.ipc.Delayable (Apache HBase 2.0.0-SNAPSHOT API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">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/ipc/class-use/Delayable.html" target="_top">Frames</a></li>
-<li><a href="Delayable.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All 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 Interface org.apache.hadoop.hbase.ipc.Delayable" class="title">Uses of Interface<br>org.apache.hadoop.hbase.ipc.Delayable</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table 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/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</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/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a> in <a href="../../../../../../org/apache/hadoop/hbase/ipc/package-summary.html">org.apache.hadoop.hbase.ipc</a></h3>
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subinterfaces, and an explanation">
-<caption><span>Subinterfaces of <a href="../../../../../../org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a> in <a href="../../../../../../org/apache/hadoop/hbase/ipc/package-summary.html">org.apache.hadoop.hbase.ipc</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Interface and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>interface&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/RpcCallContext.html" title="interface in org.apache.hadoop.hbase.ipc">RpcCallContext</a></strong></code>&nbsp;</td>
-</tr>
-</tbody>
-</table>
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing classes, and an explanation">
-<caption><span>Classes in <a href="../../../../../../org/apache/hadoop/hbase/ipc/package-summary.html">org.apache.hadoop.hbase.ipc</a> that implement <a href="../../../../../../org/apache/hadoop/hbase/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">Delayable</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>(package private) class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/RpcServer.Call.html" title="class in org.apache.hadoop.hbase.ipc">RpcServer.Call</a></strong></code>
-<div class="block">Datastructure that holds all necessary to a method invocation and then afterward, carries
- the result.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/ipc/Delayable.html" title="interface in org.apache.hadoop.hbase.ipc">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/ipc/class-use/Delayable.html" target="_top">Frames</a></li>
-<li><a href="Delayable.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All 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;2016 <a href="http://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/6d411951/devapidocs/org/apache/hadoop/hbase/ipc/package-frame.html
----------------------------------------------------------------------
diff --git a/devapidocs/org/apache/hadoop/hbase/ipc/package-frame.html b/devapidocs/org/apache/hadoop/hbase/ipc/package-frame.html
index c7ce7b3..bd5133f 100644
--- a/devapidocs/org/apache/hadoop/hbase/ipc/package-frame.html
+++ b/devapidocs/org/apache/hadoop/hbase/ipc/package-frame.html
@@ -11,7 +11,6 @@
 <div class="indexContainer">
 <h2 title="Interfaces">Interfaces</h2>
 <ul title="Interfaces">
-<li><a href="Delayable.html" title="interface in org.apache.hadoop.hbase.ipc" target="classFrame"><i>Delayable</i></a></li>
 <li><a href="HBaseRPCErrorHandler.html" title="interface in org.apache.hadoop.hbase.ipc" target="classFrame"><i>HBaseRPCErrorHandler</i></a></li>
 <li><a href="MetricsHBaseServerSource.html" title="interface in org.apache.hadoop.hbase.ipc" target="classFrame"><i>MetricsHBaseServerSource</i></a></li>
 <li><a href="MetricsHBaseServerWrapper.html" title="interface in org.apache.hadoop.hbase.ipc" target="classFrame"><i>MetricsHBaseServerWrapper</i></a></li>


[15/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/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 4975851..bf27873 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.html
@@ -193,2475 +193,2411 @@
 <span class="sourceLineNo">185</span>   */<a name="line.185"></a>
 <span class="sourceLineNo">186</span>  private static final int DEFAULT_MAX_CALLQUEUE_SIZE = 1024 * 1024 * 1024;<a name="line.186"></a>
 <span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  private static final String WARN_DELAYED_CALLS = "hbase.ipc.warn.delayedrpc.number";<a name="line.188"></a>
+<span class="sourceLineNo">188</span>  private final IPCUtil ipcUtil;<a name="line.188"></a>
 <span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>  private static final int DEFAULT_WARN_DELAYED_CALLS = 1000;<a name="line.190"></a>
-<span class="sourceLineNo">191</span><a name="line.191"></a>
-<span class="sourceLineNo">192</span>  private final int warnDelayedCalls;<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>  private AtomicInteger delayedCalls;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  private final IPCUtil ipcUtil;<a name="line.195"></a>
+<span class="sourceLineNo">190</span>  private static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  private static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  private static final Log AUDITLOG = LogFactory.getLog("SecurityLogger." +<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    Server.class.getName());<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  protected ServiceAuthorizationManager authManager;<a name="line.195"></a>
 <span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  private static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private static final Log AUDITLOG = LogFactory.getLog("SecurityLogger." +<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    Server.class.getName());<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  protected ServiceAuthorizationManager authManager;<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   * after the call returns.<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   */<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  protected static final ThreadLocal&lt;Call&gt; CurCall = new ThreadLocal&lt;Call&gt;();<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      = new ThreadLocal&lt;MonitoredRPCHandler&gt;();<a name="line.211"></a>
-<span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  protected final InetSocketAddress bindAddress;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  protected int port;                             // port we listen on<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  protected InetSocketAddress address;            // inet address we listen on<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  private int readThreads;                        // number of read threads<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  protected int maxIdleTime;                      // the maximum idle time after<a name="line.217"></a>
-<span class="sourceLineNo">218</span>                                                  // which a client may be<a name="line.218"></a>
-<span class="sourceLineNo">219</span>                                                  // disconnected<a name="line.219"></a>
-<span class="sourceLineNo">220</span>  protected int thresholdIdleConnections;         // the number of idle<a name="line.220"></a>
-<span class="sourceLineNo">221</span>                                                  // connections after which we<a name="line.221"></a>
-<span class="sourceLineNo">222</span>                                                  // will start cleaning up idle<a name="line.222"></a>
-<span class="sourceLineNo">223</span>                                                  // connections<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  int maxConnectionsToNuke;                       // the max number of<a name="line.224"></a>
-<span class="sourceLineNo">225</span>                                                  // connections to nuke<a name="line.225"></a>
-<span class="sourceLineNo">226</span>                                                  // during a cleanup<a name="line.226"></a>
-<span class="sourceLineNo">227</span><a name="line.227"></a>
-<span class="sourceLineNo">228</span>  protected MetricsHBaseServer metrics;<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>  protected final Configuration conf;<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  private int maxQueueSize;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  protected int socketSendBufferSize;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  protected final boolean tcpNoDelay;   // if T then disable Nagle's Algorithm<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  protected final long purgeTimeout;    // in milliseconds<a name="line.236"></a>
+<span class="sourceLineNo">197</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * after the call returns.<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   */<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  protected static final ThreadLocal&lt;Call&gt; CurCall = new ThreadLocal&lt;Call&gt;();<a name="line.200"></a>
+<span class="sourceLineNo">201</span><a name="line.201"></a>
+<span class="sourceLineNo">202</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      = new ThreadLocal&lt;MonitoredRPCHandler&gt;();<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected final InetSocketAddress bindAddress;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  protected int port;                             // port we listen on<a name="line.207"></a>
+<span class="sourceLineNo">208</span>  protected InetSocketAddress address;            // inet address we listen on<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  private int readThreads;                        // number of read threads<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  protected int maxIdleTime;                      // the maximum idle time after<a name="line.210"></a>
+<span class="sourceLineNo">211</span>                                                  // which a client may be<a name="line.211"></a>
+<span class="sourceLineNo">212</span>                                                  // disconnected<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  protected int thresholdIdleConnections;         // the number of idle<a name="line.213"></a>
+<span class="sourceLineNo">214</span>                                                  // connections after which we<a name="line.214"></a>
+<span class="sourceLineNo">215</span>                                                  // will start cleaning up idle<a name="line.215"></a>
+<span class="sourceLineNo">216</span>                                                  // connections<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  int maxConnectionsToNuke;                       // the max number of<a name="line.217"></a>
+<span class="sourceLineNo">218</span>                                                  // connections to nuke<a name="line.218"></a>
+<span class="sourceLineNo">219</span>                                                  // during a cleanup<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  protected MetricsHBaseServer metrics;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  protected final Configuration conf;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private int maxQueueSize;<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  protected int socketSendBufferSize;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  protected final boolean tcpNoDelay;   // if T then disable Nagle's Algorithm<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.228"></a>
+<span class="sourceLineNo">229</span>  protected final long purgeTimeout;    // in milliseconds<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>  /**<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   */<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  volatile boolean running = true;<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>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  volatile boolean running = true;<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>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * for business by the call to {@link #start()}.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  volatile boolean started = false;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * This is a running count of the size of all outstanding calls by size.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  protected final Counter callQueueSize = new Counter();<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  protected final List&lt;Connection&gt; connectionList =<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    Collections.synchronizedList(new LinkedList&lt;Connection&gt;());<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  //maintain a list<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  //of client connections<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  private Listener listener = null;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  protected Responder responder = null;<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  protected int numConnections = 0;<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.265"></a>
+<span class="sourceLineNo">239</span>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * for business by the call to {@link #start()}.<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   */<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  volatile boolean started = false;<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>   * This is a running count of the size of all outstanding calls by size.<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  protected final Counter callQueueSize = new Counter();<a name="line.247"></a>
+<span class="sourceLineNo">248</span><a name="line.248"></a>
+<span class="sourceLineNo">249</span>  protected final List&lt;Connection&gt; connectionList =<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    Collections.synchronizedList(new LinkedList&lt;Connection&gt;());<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  //maintain a list<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  //of client connections<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  private Listener listener = null;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  protected Responder responder = null;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  protected int numConnections = 0;<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  private static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  private static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.261"></a>
+<span class="sourceLineNo">262</span><a name="line.262"></a>
+<span class="sourceLineNo">263</span>  /** Default value for above params */<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  private static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  private static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.265"></a>
 <span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>  private static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  private static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  /** Default value for above params */<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.272"></a>
+<span class="sourceLineNo">267</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>  private final int warnResponseTime;<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  private final int warnResponseSize;<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  private final Server server;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  private final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.272"></a>
 <span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.274"></a>
+<span class="sourceLineNo">274</span>  private final RpcScheduler scheduler;<a name="line.274"></a>
 <span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>  private final int warnResponseTime;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private final int warnResponseSize;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  private final Server server;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  private final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private final RpcScheduler scheduler;<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  private UserProvider userProvider;<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  private final BoundedByteBufferPool reservoir;<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  private volatile boolean allowFallbackToSimpleAuth;<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  /**<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   * Datastructure that holds all necessary to a method invocation and then afterward, carries<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * the result.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   */<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  class Call implements RpcCallContext {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    protected int id;                             // the client's call id<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    protected BlockingService service;<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    protected MethodDescriptor md;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    protected RequestHeader header;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    protected Message param;                      // the parameter passed<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    // Optional cell data passed outside of protobufs.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected CellScanner cellScanner;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    protected Connection connection;              // connection to client<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    protected long timestamp;      // the time received when response is null<a name="line.302"></a>
-<span class="sourceLineNo">303</span>                                   // the time served when response is not null<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    /**<a name="line.304"></a>
-<span class="sourceLineNo">305</span>     * Chain of buffers to send as response.<a name="line.305"></a>
-<span class="sourceLineNo">306</span>     */<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    protected BufferChain response;<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    protected boolean delayResponse;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    protected Responder responder;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    protected boolean delayReturnValue;           // if the return value should be<a name="line.310"></a>
-<span class="sourceLineNo">311</span>                                                  // set at call completion<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    protected long size;                          // size of current call<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    protected boolean isError;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    protected TraceInfo tinfo;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    private ByteBuffer cellBlock = null;<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    private User user;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    private InetAddress remoteAddress;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    private RpcCallback callback;<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>    private long responseCellSize = 0;<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    private long responseBlockSize = 0;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    private boolean retryImmediatelySupported;<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        justification="Can't figure why this complaint is happening... see below")<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    Call(int id, final BlockingService service, final MethodDescriptor md, RequestHeader header,<a name="line.327"></a>
-<span class="sourceLineNo">328</span>         Message param, CellScanner cellScanner, Connection connection, Responder responder,<a name="line.328"></a>
-<span class="sourceLineNo">329</span>         long size, TraceInfo tinfo, final InetAddress remoteAddress) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      this.id = id;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      this.service = service;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      this.md = md;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      this.header = header;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      this.param = param;<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      this.cellScanner = cellScanner;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      this.connection = connection;<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      this.timestamp = System.currentTimeMillis();<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      this.response = null;<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      this.delayResponse = false;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      this.responder = responder;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      this.isError = false;<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      this.size = size;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      this.tinfo = tinfo;<a name="line.343"></a>
-<span class="sourceLineNo">344</span>      this.user = connection == null? null: connection.user; // FindBugs: NP_NULL_ON_SOME_PATH<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      this.remoteAddress = remoteAddress;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      this.retryImmediatelySupported =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>          connection == null? null: connection.retryImmediatelySupported;<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>     * Call is done. Execution happened and we returned results to client. It is now safe to<a name="line.351"></a>
-<span class="sourceLineNo">352</span>     * cleanup.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>     */<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IS2_INCONSISTENT_SYNC",<a name="line.354"></a>
-<span class="sourceLineNo">355</span>        justification="Presume the lock on processing request held by caller is protection enough")<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    void done() {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      if (this.cellBlock != null &amp;&amp; reservoir != null) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>        // Return buffer to reservoir now we are done with it.<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        reservoir.putBuffer(this.cellBlock);<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        this.cellBlock = null;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      }<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      this.connection.decRpcCount();  // Say that we're done with this call.<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    }<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>    @Override<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    public String toString() {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      return toShortString() + " param: " +<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        (this.param != null? ProtobufUtil.getShortTextFormat(this.param): "") +<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        " connection: " + connection.toString();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    protected RequestHeader getHeader() {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      return this.header;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    }<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>    /*<a name="line.376"></a>
-<span class="sourceLineNo">377</span>     * Short string representation without param info because param itself could be huge depends on<a name="line.377"></a>
-<span class="sourceLineNo">378</span>     * the payload of a command<a name="line.378"></a>
-<span class="sourceLineNo">379</span>     */<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    String toShortString() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      String serviceName = this.connection.service != null ?<a name="line.381"></a>
-<span class="sourceLineNo">382</span>          this.connection.service.getDescriptorForType().getName() : "null";<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      return "callId: " + this.id + " service: " + serviceName +<a name="line.383"></a>
-<span class="sourceLineNo">384</span>          " methodName: " + ((this.md != null) ? this.md.getName() : "n/a") +<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          " size: " + StringUtils.TraditionalBinaryPrefix.long2String(this.size, "", 1) +<a name="line.385"></a>
-<span class="sourceLineNo">386</span>          " connection: " + connection.toString();<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    String toTraceString() {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      String serviceName = this.connection.service != null ?<a name="line.390"></a>
-<span class="sourceLineNo">391</span>                           this.connection.service.getDescriptorForType().getName() : "";<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      String methodName = (this.md != null) ? this.md.getName() : "";<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      return serviceName + "." + methodName;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>    protected synchronized void setSaslTokenResponse(ByteBuffer response) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      this.response = new BufferChain(response);<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>    protected synchronized void setResponse(Object m, final CellScanner cells,<a name="line.400"></a>
-<span class="sourceLineNo">401</span>        Throwable t, String errorMsg) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      if (this.isError) return;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      if (t != null) this.isError = true;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      BufferChain bc = null;<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      try {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>        ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        // Presume it a pb Message.  Could be null.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        Message result = (Message)m;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        // Call id.<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        headerBuilder.setCallId(this.id);<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        if (t != null) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>          ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();<a name="line.412"></a>
-<span class="sourceLineNo">413</span>          exceptionBuilder.setExceptionClassName(t.getClass().getName());<a name="line.413"></a>
-<span class="sourceLineNo">414</span>          exceptionBuilder.setStackTrace(errorMsg);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>          exceptionBuilder.setDoNotRetry(t instanceof DoNotRetryIOException);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          if (t instanceof RegionMovedException) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>            // Special casing for this exception.  This is only one carrying a payload.<a name="line.417"></a>
-<span class="sourceLineNo">418</span>            // Do this instead of build a generic system for allowing exceptions carry<a name="line.418"></a>
-<span class="sourceLineNo">419</span>            // any kind of payload.<a name="line.419"></a>
-<span class="sourceLineNo">420</span>            RegionMovedException rme = (RegionMovedException)t;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>            exceptionBuilder.setHostname(rme.getHostname());<a name="line.421"></a>
-<span class="sourceLineNo">422</span>            exceptionBuilder.setPort(rme.getPort());<a name="line.422"></a>
-<span class="sourceLineNo">423</span>          }<a name="line.423"></a>
-<span class="sourceLineNo">424</span>          // Set the exception as the result of the method invocation.<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          headerBuilder.setException(exceptionBuilder.build());<a name="line.425"></a>
-<span class="sourceLineNo">426</span>        }<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        // Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        // reservoir when finished. This is hacky and the hack is not contained but benefits are<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        // high when we can avoid a big buffer allocation on each rpc.<a name="line.429"></a>
-<span class="sourceLineNo">430</span>        this.cellBlock = ipcUtil.buildCellBlock(this.connection.codec,<a name="line.430"></a>
-<span class="sourceLineNo">431</span>          this.connection.compressionCodec, cells, reservoir);<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        if (this.cellBlock != null) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>          CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          // Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.<a name="line.434"></a>
-<span class="sourceLineNo">435</span>          cellBlockBuilder.setLength(this.cellBlock.limit());<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          headerBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        }<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        Message header = headerBuilder.build();<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>        // Organize the response as a set of bytebuffers rather than collect it all together inside<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        // one big byte array; save on allocations.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>        ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);<a name="line.442"></a>
-<span class="sourceLineNo">443</span>        ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);<a name="line.443"></a>
-<span class="sourceLineNo">444</span>        int totalSize = bbHeader.capacity() + (bbResult == null? 0: bbResult.limit()) +<a name="line.444"></a>
-<span class="sourceLineNo">445</span>          (this.cellBlock == null? 0: this.cellBlock.limit());<a name="line.445"></a>
-<span class="sourceLineNo">446</span>        ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));<a name="line.446"></a>
-<span class="sourceLineNo">447</span>        bc = new BufferChain(bbTotalSize, bbHeader, bbResult, this.cellBlock);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        if (connection.useWrap) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>          bc = wrapWithSasl(bc);<a name="line.449"></a>
-<span class="sourceLineNo">450</span>        }<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      } catch (IOException e) {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        LOG.warn("Exception while creating response " + e);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      }<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      this.response = bc;<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      // Once a response message is created and set to this.response, this Call can be treated as<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      // done. The Responder thread will do the n/w write of this message back to client.<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      if (this.callback != null) {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        try {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          this.callback.run();<a name="line.459"></a>
-<span class="sourceLineNo">460</span>        } catch (Exception e) {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          // Don't allow any exception here to kill this handler thread.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>          LOG.warn("Exception while running the Rpc Callback.", e);<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>    }<a name="line.465"></a>
-<span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span>    private BufferChain wrapWithSasl(BufferChain bc)<a name="line.467"></a>
-<span class="sourceLineNo">468</span>        throws IOException {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      if (!this.connection.useSasl) return bc;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      // Looks like no way around this; saslserver wants a byte array.  I have to make it one.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      // THIS IS A BIG UGLY COPY.<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      byte [] responseBytes = bc.getBytes();<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      byte [] token;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      // synchronization may be needed since there can be multiple Handler<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      // threads using saslServer to wrap responses.<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      synchronized (connection.saslServer) {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (LOG.isTraceEnabled()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        LOG.trace("Adding saslServer wrapped token of size " + token.length<a name="line.480"></a>
-<span class="sourceLineNo">481</span>            + " as call response.");<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      }<a name="line.482"></a>
+<span class="sourceLineNo">276</span>  private UserProvider userProvider;<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  private final BoundedByteBufferPool reservoir;<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>  private volatile boolean allowFallbackToSimpleAuth;<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * Datastructure that holds all necessary to a method invocation and then afterward, carries<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * the result.<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   */<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  class Call implements RpcCallContext {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    protected int id;                             // the client's call id<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    protected BlockingService service;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    protected MethodDescriptor md;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    protected RequestHeader header;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    protected Message param;                      // the parameter passed<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    // Optional cell data passed outside of protobufs.<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    protected CellScanner cellScanner;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    protected Connection connection;              // connection to client<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    protected long timestamp;      // the time received when response is null<a name="line.295"></a>
+<span class="sourceLineNo">296</span>                                   // the time served when response is not null<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    /**<a name="line.297"></a>
+<span class="sourceLineNo">298</span>     * Chain of buffers to send as response.<a name="line.298"></a>
+<span class="sourceLineNo">299</span>     */<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    protected BufferChain response;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    protected Responder responder;<a name="line.301"></a>
+<span class="sourceLineNo">302</span><a name="line.302"></a>
+<span class="sourceLineNo">303</span>    protected long size;                          // size of current call<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    protected boolean isError;<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    protected TraceInfo tinfo;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    private ByteBuffer cellBlock = null;<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>    private User user;<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    private InetAddress remoteAddress;<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    private RpcCallback callback;<a name="line.310"></a>
+<span class="sourceLineNo">311</span><a name="line.311"></a>
+<span class="sourceLineNo">312</span>    private long responseCellSize = 0;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    private long responseBlockSize = 0;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    private boolean retryImmediatelySupported;<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.316"></a>
+<span class="sourceLineNo">317</span>        justification="Can't figure why this complaint is happening... see below")<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    Call(int id, final BlockingService service, final MethodDescriptor md, RequestHeader header,<a name="line.318"></a>
+<span class="sourceLineNo">319</span>         Message param, CellScanner cellScanner, Connection connection, Responder responder,<a name="line.319"></a>
+<span class="sourceLineNo">320</span>         long size, TraceInfo tinfo, final InetAddress remoteAddress) {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      this.id = id;<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      this.service = service;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      this.md = md;<a name="line.323"></a>
+<span class="sourceLineNo">324</span>      this.header = header;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      this.param = param;<a name="line.325"></a>
+<span class="sourceLineNo">326</span>      this.cellScanner = cellScanner;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      this.connection = connection;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>      this.timestamp = System.currentTimeMillis();<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      this.response = null;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      this.responder = responder;<a name="line.330"></a>
+<span class="sourceLineNo">331</span>      this.isError = false;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      this.size = size;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      this.tinfo = tinfo;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      this.user = connection == null? null: connection.user; // FindBugs: NP_NULL_ON_SOME_PATH<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      this.remoteAddress = remoteAddress;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      this.retryImmediatelySupported =<a name="line.336"></a>
+<span class="sourceLineNo">337</span>          connection == null? null: connection.retryImmediatelySupported;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span>    /**<a name="line.340"></a>
+<span class="sourceLineNo">341</span>     * Call is done. Execution happened and we returned results to client. It is now safe to<a name="line.341"></a>
+<span class="sourceLineNo">342</span>     * cleanup.<a name="line.342"></a>
+<span class="sourceLineNo">343</span>     */<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IS2_INCONSISTENT_SYNC",<a name="line.344"></a>
+<span class="sourceLineNo">345</span>        justification="Presume the lock on processing request held by caller is protection enough")<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    void done() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      if (this.cellBlock != null &amp;&amp; reservoir != null) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>        // Return buffer to reservoir now we are done with it.<a name="line.348"></a>
+<span class="sourceLineNo">349</span>        reservoir.putBuffer(this.cellBlock);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>        this.cellBlock = null;<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      }<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      this.connection.decRpcCount();  // Say that we're done with this call.<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    }<a name="line.353"></a>
+<span class="sourceLineNo">354</span><a name="line.354"></a>
+<span class="sourceLineNo">355</span>    @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    public String toString() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>      return toShortString() + " param: " +<a name="line.357"></a>
+<span class="sourceLineNo">358</span>        (this.param != null? ProtobufUtil.getShortTextFormat(this.param): "") +<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        " connection: " + connection.toString();<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    }<a name="line.360"></a>
+<span class="sourceLineNo">361</span><a name="line.361"></a>
+<span class="sourceLineNo">362</span>    protected RequestHeader getHeader() {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>      return this.header;<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>     * Short string representation without param info because param itself could be huge depends on<a name="line.367"></a>
+<span class="sourceLineNo">368</span>     * the payload of a command<a name="line.368"></a>
+<span class="sourceLineNo">369</span>     */<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    String toShortString() {<a name="line.370"></a>
+<span class="sourceLineNo">371</span>      String serviceName = this.connection.service != null ?<a name="line.371"></a>
+<span class="sourceLineNo">372</span>          this.connection.service.getDescriptorForType().getName() : "null";<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      return "callId: " + this.id + " service: " + serviceName +<a name="line.373"></a>
+<span class="sourceLineNo">374</span>          " methodName: " + ((this.md != null) ? this.md.getName() : "n/a") +<a name="line.374"></a>
+<span class="sourceLineNo">375</span>          " size: " + StringUtils.TraditionalBinaryPrefix.long2String(this.size, "", 1) +<a name="line.375"></a>
+<span class="sourceLineNo">376</span>          " connection: " + connection.toString();<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    String toTraceString() {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      String serviceName = this.connection.service != null ?<a name="line.380"></a>
+<span class="sourceLineNo">381</span>                           this.connection.service.getDescriptorForType().getName() : "";<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      String methodName = (this.md != null) ? this.md.getName() : "";<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      return serviceName + "." + methodName;<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>    protected synchronized void setSaslTokenResponse(ByteBuffer response) {<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      this.response = new BufferChain(response);<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    }<a name="line.388"></a>
+<span class="sourceLineNo">389</span><a name="line.389"></a>
+<span class="sourceLineNo">390</span>    protected synchronized void setResponse(Object m, final CellScanner cells,<a name="line.390"></a>
+<span class="sourceLineNo">391</span>        Throwable t, String errorMsg) {<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      if (this.isError) return;<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      if (t != null) this.isError = true;<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      BufferChain bc = null;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>      try {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>        ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();<a name="line.396"></a>
+<span class="sourceLineNo">397</span>        // Presume it a pb Message.  Could be null.<a name="line.397"></a>
+<span class="sourceLineNo">398</span>        Message result = (Message)m;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>        // Call id.<a name="line.399"></a>
+<span class="sourceLineNo">400</span>        headerBuilder.setCallId(this.id);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>        if (t != null) {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>          ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();<a name="line.402"></a>
+<span class="sourceLineNo">403</span>          exceptionBuilder.setExceptionClassName(t.getClass().getName());<a name="line.403"></a>
+<span class="sourceLineNo">404</span>          exceptionBuilder.setStackTrace(errorMsg);<a name="line.404"></a>
+<span class="sourceLineNo">405</span>          exceptionBuilder.setDoNotRetry(t instanceof DoNotRetryIOException);<a name="line.405"></a>
+<span class="sourceLineNo">406</span>          if (t instanceof RegionMovedException) {<a name="line.406"></a>
+<span class="sourceLineNo">407</span>            // Special casing for this exception.  This is only one carrying a payload.<a name="line.407"></a>
+<span class="sourceLineNo">408</span>            // Do this instead of build a generic system for allowing exceptions carry<a name="line.408"></a>
+<span class="sourceLineNo">409</span>            // any kind of payload.<a name="line.409"></a>
+<span class="sourceLineNo">410</span>            RegionMovedException rme = (RegionMovedException)t;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>            exceptionBuilder.setHostname(rme.getHostname());<a name="line.411"></a>
+<span class="sourceLineNo">412</span>            exceptionBuilder.setPort(rme.getPort());<a name="line.412"></a>
+<span class="sourceLineNo">413</span>          }<a name="line.413"></a>
+<span class="sourceLineNo">414</span>          // Set the exception as the result of the method invocation.<a name="line.414"></a>
+<span class="sourceLineNo">415</span>          headerBuilder.setException(exceptionBuilder.build());<a name="line.415"></a>
+<span class="sourceLineNo">416</span>        }<a name="line.416"></a>
+<span class="sourceLineNo">417</span>        // Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the<a name="line.417"></a>
+<span class="sourceLineNo">418</span>        // reservoir when finished. This is hacky and the hack is not contained but benefits are<a name="line.418"></a>
+<span class="sourceLineNo">419</span>        // high when we can avoid a big buffer allocation on each rpc.<a name="line.419"></a>
+<span class="sourceLineNo">420</span>        this.cellBlock = ipcUtil.buildCellBlock(this.connection.codec,<a name="line.420"></a>
+<span class="sourceLineNo">421</span>          this.connection.compressionCodec, cells, reservoir);<a name="line.421"></a>
+<span class="sourceLineNo">422</span>        if (this.cellBlock != null) {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>          CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();<a name="line.423"></a>
+<span class="sourceLineNo">424</span>          // Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.<a name="line.424"></a>
+<span class="sourceLineNo">425</span>          cellBlockBuilder.setLength(this.cellBlock.limit());<a name="line.425"></a>
+<span class="sourceLineNo">426</span>          headerBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.426"></a>
+<span class="sourceLineNo">427</span>        }<a name="line.427"></a>
+<span class="sourceLineNo">428</span>        Message header = headerBuilder.build();<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>        // Organize the response as a set of bytebuffers rather than collect it all together inside<a name="line.430"></a>
+<span class="sourceLineNo">431</span>        // one big byte array; save on allocations.<a name="line.431"></a>
+<span class="sourceLineNo">432</span>        ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);<a name="line.432"></a>
+<span class="sourceLineNo">433</span>        ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        int totalSize = bbHeader.capacity() + (bbResult == null? 0: bbResult.limit()) +<a name="line.434"></a>
+<span class="sourceLineNo">435</span>          (this.cellBlock == null? 0: this.cellBlock.limit());<a name="line.435"></a>
+<span class="sourceLineNo">436</span>        ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));<a name="line.436"></a>
+<span class="sourceLineNo">437</span>        bc = new BufferChain(bbTotalSize, bbHeader, bbResult, this.cellBlock);<a name="line.437"></a>
+<span class="sourceLineNo">438</span>        if (connection.useWrap) {<a name="line.438"></a>
+<span class="sourceLineNo">439</span>          bc = wrapWithSasl(bc);<a name="line.439"></a>
+<span class="sourceLineNo">440</span>        }<a name="line.440"></a>
+<span class="sourceLineNo">441</span>      } catch (IOException e) {<a name="line.441"></a>
+<span class="sourceLineNo">442</span>        LOG.warn("Exception while creating response " + e);<a name="line.442"></a>
+<span class="sourceLineNo">443</span>      }<a name="line.443"></a>
+<span class="sourceLineNo">444</span>      this.response = bc;<a name="line.444"></a>
+<span class="sourceLineNo">445</span>      // Once a response message is created and set to this.response, this Call can be treated as<a name="line.445"></a>
+<span class="sourceLineNo">446</span>      // done. The Responder thread will do the n/w write of this message back to client.<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      if (this.callback != null) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>        try {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>          this.callback.run();<a name="line.449"></a>
+<span class="sourceLineNo">450</span>        } catch (Exception e) {<a name="line.450"></a>
+<span class="sourceLineNo">451</span>          // Don't allow any exception here to kill this handler thread.<a name="line.451"></a>
+<span class="sourceLineNo">452</span>          LOG.warn("Exception while running the Rpc Callback.", 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>    }<a name="line.455"></a>
+<span class="sourceLineNo">456</span><a name="line.456"></a>
+<span class="sourceLineNo">457</span>    private BufferChain wrapWithSasl(BufferChain bc)<a name="line.457"></a>
+<span class="sourceLineNo">458</span>        throws IOException {<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      if (!this.connection.useSasl) return bc;<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      // Looks like no way around this; saslserver wants a byte array.  I have to make it one.<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      // THIS IS A BIG UGLY COPY.<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      byte [] responseBytes = bc.getBytes();<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      byte [] token;<a name="line.463"></a>
+<span class="sourceLineNo">464</span>      // synchronization may be needed since there can be multiple Handler<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      // threads using saslServer to wrap responses.<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      synchronized (connection.saslServer) {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>        token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);<a name="line.467"></a>
+<span class="sourceLineNo">468</span>      }<a name="line.468"></a>
+<span class="sourceLineNo">469</span>      if (LOG.isTraceEnabled()) {<a name="line.469"></a>
+<span class="sourceLineNo">470</span>        LOG.trace("Adding saslServer wrapped token of size " + token.length<a name="line.470"></a>
+<span class="sourceLineNo">471</span>            + " as call response.");<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      }<a name="line.472"></a>
+<span class="sourceLineNo">473</span><a name="line.473"></a>
+<span class="sourceLineNo">474</span>      ByteBuffer bbTokenLength = ByteBuffer.wrap(Bytes.toBytes(token.length));<a name="line.474"></a>
+<span class="sourceLineNo">475</span>      ByteBuffer bbTokenBytes = ByteBuffer.wrap(token);<a name="line.475"></a>
+<span class="sourceLineNo">476</span>      return new BufferChain(bbTokenLength, bbTokenBytes);<a name="line.476"></a>
+<span class="sourceLineNo">477</span>    }<a name="line.477"></a>
+<span class="sourceLineNo">478</span><a name="line.478"></a>
+<span class="sourceLineNo">479</span>    @Override<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    public boolean isClientCellBlockSupported() {<a name="line.480"></a>
+<span class="sourceLineNo">481</span>      return this.connection != null &amp;&amp; this.connection.codec != null;<a name="line.481"></a>
+<span class="sourceLineNo">482</span>    }<a name="line.482"></a>
 <span class="sourceLineNo">483</span><a name="line.483"></a>
-<span class="sourceLineNo">484</span>      ByteBuffer bbTokenLength = ByteBuffer.wrap(Bytes.toBytes(token.length));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      ByteBuffer bbTokenBytes = ByteBuffer.wrap(token);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>      return new BufferChain(bbTokenLength, bbTokenBytes);<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>    @Override<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    public synchronized void endDelay(Object result) throws IOException {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      assert this.delayResponse;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      assert this.delayReturnValue || result == null;<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      this.delayResponse = false;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      delayedCalls.decrementAndGet();<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      if (this.delayReturnValue) {<a name="line.495"></a>
-<span class="sourceLineNo">496</span>        this.setResponse(result, null, null, null);<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      }<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      this.responder.doRespond(this);<a name="line.498"></a>
+<span class="sourceLineNo">484</span>    @Override<a name="line.484"></a>
+<span class="sourceLineNo">485</span>    public long disconnectSince() {<a name="line.485"></a>
+<span class="sourceLineNo">486</span>      if (!connection.channel.isOpen()) {<a name="line.486"></a>
+<span class="sourceLineNo">487</span>        return System.currentTimeMillis() - timestamp;<a name="line.487"></a>
+<span class="sourceLineNo">488</span>      } else {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>        return -1L;<a name="line.489"></a>
+<span class="sourceLineNo">490</span>      }<a name="line.490"></a>
+<span class="sourceLineNo">491</span>    }<a name="line.491"></a>
+<span class="sourceLineNo">492</span><a name="line.492"></a>
+<span class="sourceLineNo">493</span>    public long getSize() {<a name="line.493"></a>
+<span class="sourceLineNo">494</span>      return this.size;<a name="line.494"></a>
+<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
+<span class="sourceLineNo">496</span><a name="line.496"></a>
+<span class="sourceLineNo">497</span>    public long getResponseCellSize() {<a name="line.497"></a>
+<span class="sourceLineNo">498</span>      return responseCellSize;<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>    @Override<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    public synchronized void endDelay() throws IOException {<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      this.endDelay(null);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    }<a name="line.504"></a>
-<span class="sourceLineNo">505</span><a name="line.505"></a>
-<span class="sourceLineNo">506</span>    @Override<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    public synchronized void startDelay(boolean delayReturnValue) {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      assert !this.delayResponse;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      this.delayResponse = true;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      this.delayReturnValue = delayReturnValue;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      int numDelayed = delayedCalls.incrementAndGet();<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      if (numDelayed &gt; warnDelayedCalls) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        LOG.warn("Too many delayed calls: limit " + warnDelayedCalls + " current " + numDelayed);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    }<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>    @Override<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    public synchronized void endDelayThrowing(Throwable t) throws IOException {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      this.setResponse(null, null, t, StringUtils.stringifyException(t));<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      this.delayResponse = false;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      this.sendResponseIfReady();<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    }<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    @Override<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    public synchronized boolean isDelayed() {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>      return this.delayResponse;<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    }<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    public synchronized boolean isReturnValueDelayed() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      return this.delayReturnValue;<a name="line.531"></a>
+<span class="sourceLineNo">501</span>    public void incrementResponseCellSize(long cellSize) {<a name="line.501"></a>
+<span class="sourceLineNo">502</span>      responseCellSize += cellSize;<a name="line.502"></a>
+<span class="sourceLineNo">503</span>    }<a name="line.503"></a>
+<span class="sourceLineNo">504</span><a name="line.504"></a>
+<span class="sourceLineNo">505</span>    @Override<a name="line.505"></a>
+<span class="sourceLineNo">506</span>    public long getResponseBlockSize() {<a name="line.506"></a>
+<span class="sourceLineNo">507</span>      return responseBlockSize;<a name="line.507"></a>
+<span class="sourceLineNo">508</span>    }<a name="line.508"></a>
+<span class="sourceLineNo">509</span><a name="line.509"></a>
+<span class="sourceLineNo">510</span>    @Override<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    public void incrementResponseBlockSize(long blockSize) {<a name="line.511"></a>
+<span class="sourceLineNo">512</span>      responseBlockSize += blockSize;<a name="line.512"></a>
+<span class="sourceLineNo">513</span>    }<a name="line.513"></a>
+<span class="sourceLineNo">514</span><a name="line.514"></a>
+<span class="sourceLineNo">515</span>    public synchronized void sendResponseIfReady() throws IOException {<a name="line.515"></a>
+<span class="sourceLineNo">516</span>      this.responder.doRespond(this);<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>    public UserGroupInformation getRemoteUser() {<a name="line.519"></a>
+<span class="sourceLineNo">520</span>      return connection.ugi;<a name="line.520"></a>
+<span class="sourceLineNo">521</span>    }<a name="line.521"></a>
+<span class="sourceLineNo">522</span><a name="line.522"></a>
+<span class="sourceLineNo">523</span>    @Override<a name="line.523"></a>
+<span class="sourceLineNo">524</span>    public User getRequestUser() {<a name="line.524"></a>
+<span class="sourceLineNo">525</span>      return user;<a name="line.525"></a>
+<span class="sourceLineNo">526</span>    }<a name="line.526"></a>
+<span class="sourceLineNo">527</span><a name="line.527"></a>
+<span class="sourceLineNo">528</span>    @Override<a name="line.528"></a>
+<span class="sourceLineNo">529</span>    public String getRequestUserName() {<a name="line.529"></a>
+<span class="sourceLineNo">530</span>      User user = getRequestUser();<a name="line.530"></a>
+<span class="sourceLineNo">531</span>      return user == null? null: user.getShortName();<a name="line.531"></a>
 <span class="sourceLineNo">532</span>    }<a name="line.532"></a>
 <span class="sourceLineNo">533</span><a name="line.533"></a>
 <span class="sourceLineNo">534</span>    @Override<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    public boolean isClientCellBlockSupported() {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      return this.connection != null &amp;&amp; this.connection.codec != null;<a name="line.536"></a>
+<span class="sourceLineNo">535</span>    public InetAddress getRemoteAddress() {<a name="line.535"></a>
+<span class="sourceLineNo">536</span>      return remoteAddress;<a name="line.536"></a>
 <span class="sourceLineNo">537</span>    }<a name="line.537"></a>
 <span class="sourceLineNo">538</span><a name="line.538"></a>
 <span class="sourceLineNo">539</span>    @Override<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    public long disconnectSince() {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      if (!connection.channel.isOpen()) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        return System.currentTimeMillis() - timestamp;<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      } else {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>        return -1L;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      }<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>    public long getSize() {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      return this.size;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    }<a name="line.550"></a>
-<span class="sourceLineNo">551</span><a name="line.551"></a>
-<span class="sourceLineNo">552</span>    public long getResponseCellSize() {<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      return responseCellSize;<a name="line.553"></a>
-<span class="sourceLineNo">554</span>    }<a name="line.554"></a>
-<span class="sourceLineNo">555</span><a name="line.555"></a>
-<span class="sourceLineNo">556</span>    public void incrementResponseCellSize(long cellSize) {<a name="line.556"></a>
-<span class="sourceLineNo">557</span>      responseCellSize += cellSize;<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    }<a name="line.558"></a>
-<span class="sourceLineNo">559</span><a name="line.559"></a>
-<span class="sourceLineNo">560</span>    @Override<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    public long getResponseBlockSize() {<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      return responseBlockSize;<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span><a name="line.564"></a>
-<span class="sourceLineNo">565</span>    @Override<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    public void incrementResponseBlockSize(long blockSize) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      responseBlockSize += blockSize;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    /**<a name="line.570"></a>
-<span class="sourceLineNo">571</span>     * If we have a response, and delay is not set, then respond<a name="line.571"></a>
-<span class="sourceLineNo">572</span>     * immediately.  Otherwise, do not respond to client.  This is<a name="line.572"></a>
-<span class="sourceLineNo">573</span>     * called by the RPC code in the context of the Handler thread.<a name="line.573"></a>
-<span class="sourceLineNo">574</span>     */<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    public synchronized void sendResponseIfReady() throws IOException {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      if (!this.delayResponse) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        this.responder.doRespond(this);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    }<a name="line.579"></a>
-<span class="sourceLineNo">580</span><a name="line.580"></a>
-<span class="sourceLineNo">581</span>    public UserGroupInformation getRemoteUser() {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      return connection.ugi;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
+<span class="sourceLineNo">540</span>    public VersionInfo getClientVersionInfo() {<a name="line.540"></a>
+<span class="sourceLineNo">541</span>      return connection.getVersionInfo();<a name="line.541"></a>
+<span class="sourceLineNo">542</span>    }<a name="line.542"></a>
+<span class="sourceLineNo">543</span><a name="line.543"></a>
+<span class="sourceLineNo">544</span>    @Override<a name="line.544"></a>
+<span class="sourceLineNo">545</span>    public synchronized void setCallBack(RpcCallback callback) {<a name="line.545"></a>
+<span class="sourceLineNo">546</span>      this.callback = callback;<a name="line.546"></a>
+<span class="sourceLineNo">547</span>    }<a name="line.547"></a>
+<span class="sourceLineNo">548</span><a name="line.548"></a>
+<span class="sourceLineNo">549</span>    @Override<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    public boolean isRetryImmediatelySupported() {<a name="line.550"></a>
+<span class="sourceLineNo">551</span>      return retryImmediatelySupported;<a name="line.551"></a>
+<span class="sourceLineNo">552</span>    }<a name="line.552"></a>
+<span class="sourceLineNo">553</span>  }<a name="line.553"></a>
+<span class="sourceLineNo">554</span><a name="line.554"></a>
+<span class="sourceLineNo">555</span>  /** Listens on the socket. Creates jobs for the handler threads*/<a name="line.555"></a>
+<span class="sourceLineNo">556</span>  private class Listener extends Thread {<a name="line.556"></a>
+<span class="sourceLineNo">557</span><a name="line.557"></a>
+<span class="sourceLineNo">558</span>    private ServerSocketChannel acceptChannel = null; //the accept channel<a name="line.558"></a>
+<span class="sourceLineNo">559</span>    private Selector selector = null; //the selector that we use for the server<a name="line.559"></a>
+<span class="sourceLineNo">560</span>    private Reader[] readers = null;<a name="line.560"></a>
+<span class="sourceLineNo">561</span>    private int currentReader = 0;<a name="line.561"></a>
+<span class="sourceLineNo">562</span>    private Random rand = new Random();<a name="line.562"></a>
+<span class="sourceLineNo">563</span>    private long lastCleanupRunTime = 0; //the last time when a cleanup connec-<a name="line.563"></a>
+<span class="sourceLineNo">564</span>                                         //-tion (for idle connections) ran<a name="line.564"></a>
+<span class="sourceLineNo">565</span>    private long cleanupInterval = 10000; //the minimum interval between<a name="line.565"></a>
+<span class="sourceLineNo">566</span>                                          //two cleanup runs<a name="line.566"></a>
+<span class="sourceLineNo">567</span>    private int backlogLength;<a name="line.567"></a>
+<span class="sourceLineNo">568</span><a name="line.568"></a>
+<span class="sourceLineNo">569</span>    private ExecutorService readPool;<a name="line.569"></a>
+<span class="sourceLineNo">570</span><a name="line.570"></a>
+<span class="sourceLineNo">571</span>    public Listener(final String name) throws IOException {<a name="line.571"></a>
+<span class="sourceLineNo">572</span>      super(name);<a name="line.572"></a>
+<span class="sourceLineNo">573</span>      backlogLength = conf.getInt("hbase.ipc.server.listen.queue.size", 128);<a name="line.573"></a>
+<span class="sourceLineNo">574</span>      // Create a new server socket and set to non blocking mode<a name="line.574"></a>
+<span class="sourceLineNo">575</span>      acceptChannel = ServerSocketChannel.open();<a name="line.575"></a>
+<span class="sourceLineNo">576</span>      acceptChannel.configureBlocking(false);<a name="line.576"></a>
+<span class="sourceLineNo">577</span><a name="line.577"></a>
+<span class="sourceLineNo">578</span>      // Bind the server socket to the binding addrees (can be different from the default interface)<a name="line.578"></a>
+<span class="sourceLineNo">579</span>      bind(acceptChannel.socket(), bindAddress, backlogLength);<a name="line.579"></a>
+<span class="sourceLineNo">580</span>      port = acceptChannel.socket().getLocalPort(); //Could be an ephemeral port<a name="line.580"></a>
+<span class="sourceLineNo">581</span>      address = (InetSocketAddress)acceptChannel.socket().getLocalSocketAddress();<a name="line.581"></a>
+<span class="sourceLineNo">582</span>      // create a selector;<a name="line.582"></a>
+<span class="sourceLineNo">583</span>      selector= Selector.open();<a name="line.583"></a>
 <span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    @Override<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    public User getRequestUser() {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      return user;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>    @Override<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    public String getRequestUserName() {<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      User user = getRequestUser();<a name="line.592"></a>
-<span class="sourceLineNo">593</span>      return user == null? null: user.getShortName();<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    }<a name="line.594"></a>
-<span class="sourceLineNo">595</span><a name="line.595"></a>
-<span class="sourceLineNo">596</span>    @Override<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    public InetAddress getRemoteAddress() {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      return remoteAddress;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    }<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>    @Override<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    public VersionInfo getClientVersionInfo() {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>      return connection.getVersionInfo();<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    }<a name="line.604"></a>
-<span class="sourceLineNo">605</span><a name="line.605"></a>
-<span class="sourceLineNo">606</span>    @Override<a name="line.606"></a>
-<span class="sourceLineNo">607</span>    public synchronized void setCallBack(RpcCallback callback) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.callback = callback;<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>    @Override<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    public boolean isRetryImmediatelySupported() {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>      return retryImmediatelySupported;<a name="line.613"></a>
-<span class="sourceLineNo">614</span>    }<a name="line.614"></a>
-<span class="sourceLineNo">615</span>  }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>  /** Listens on the socket. Creates jobs for the handler threads*/<a name="line.617"></a>
-<span class="sourceLineNo">618</span>  private class Listener extends Thread {<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span>    private ServerSocketChannel acceptChannel = null; //the accept channel<a name="line.620"></a>
-<span class="sourceLineNo">621</span>    private Selector selector = null; //the selector that we use for the server<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    private Reader[] readers = null;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    private int currentReader = 0;<a name="line.623"></a>
-<span class="sourceLineNo">624</span>    private Random rand = new Random();<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    private long lastCleanupRunTime = 0; //the last time when a cleanup connec-<a name="line.625"></a>
-<span class="sourceLineNo">626</span>                                         //-tion (for idle connections) ran<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    private long cleanupInterval = 10000; //the minimum interval between<a name="line.627"></a>
-<span class="sourceLineNo">628</span>                                          //two cleanup runs<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    private int backlogLength;<a name="line.629"></a>
-<span class="sourceLineNo">630</span><a name="line.630"></a>
-<span class="sourceLineNo">631</span>    private ExecutorService readPool;<a name="line.631"></a>
-<span class="sourceLineNo">632</span><a name="line.632"></a>
-<span class="sourceLineNo">633</span>    public Listener(final String name) throws IOException {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      super(name);<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      backlogLength = conf.getInt("hbase.ipc.server.listen.queue.size", 128);<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      // Create a new server socket and set to non blocking mode<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      acceptChannel = ServerSocketChannel.open();<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      acceptChannel.configureBlocking(false);<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>      // Bind the server socket to the binding addrees (can be different from the default interface)<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      bind(acceptChannel.socket(), bindAddress, backlogLength);<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      port = acceptChannel.socket().getLocalPort(); //Could be an ephemeral port<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      address = (InetSocketAddress)acceptChannel.socket().getLocalSocketAddress();<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      // create a selector;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      selector= Selector.open();<a name="line.645"></a>
-<span class="sourceLineNo">646</span><a name="line.646"></a>
-<span class="sourceLineNo">647</span>      readers = new Reader[readThreads];<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      readPool = Executors.newFixedThreadPool(readThreads,<a name="line.648"></a>
-<span class="sourceLineNo">649</span>        new ThreadFactoryBuilder().setNameFormat(<a name="line.649"></a>
-<span class="sourceLineNo">650</span>          "RpcServer.reader=%d,bindAddress=" + bindAddress.getHostName() +<a name="line.650"></a>
-<span class="sourceLineNo">651</span>          ",port=" + port).setDaemon(true).build());<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      for (int i = 0; i &lt; readThreads; ++i) {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        Reader reader = new Reader();<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        readers[i] = reader;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        readPool.execute(reader);<a name="line.655"></a>
-<span class="sourceLineNo">656</span>      }<a name="line.656"></a>
-<span class="sourceLineNo">657</span>      LOG.info(getName() + ": started " + readThreads + " reader(s) listening on port=" + port);<a name="line.657"></a>
-<span class="sourceLineNo">658</span><a name="line.658"></a>
-<span class="sourceLineNo">659</span>      // Register accepts on the server socket with the selector.<a name="line.659"></a>
-<span class="sourceLineNo">660</span>      acceptChannel.register(selector, SelectionKey.OP_ACCEPT);<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      this.setName("RpcServer.listener,port=" + port);<a name="line.661"></a>
-<span class="sourceLineNo">662</span>      this.setDaemon(true);<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    }<a name="line.663"></a>
-<span class="sourceLineNo">664</span><a name="line.664"></a>
-<span class="sourceLineNo">665</span><a name="line.665"></a>
-<span class="sourceLineNo">666</span>    private class Reader implements Runnable {<a name="line.666"></a>
-<span class="sourceLineNo">667</span>      private volatile boolean adding = false;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>      private final Selector readSelector;<a name="line.668"></a>
-<span class="sourceLineNo">669</span><a name="line.669"></a>
-<span class="sourceLineNo">670</span>      Reader() throws IOException {<a name="line.670"></a>
-<span class="sourceLineNo">671</span>        this.readSelector = Selector.open();<a name="line.671"></a>
-<span class="sourceLineNo">672</span>      }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      @Override<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      public void run() {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        try {<a name="line.675"></a>
-<span class="sourceLineNo">676</span>          doRunLoop();<a name="line.676"></a>
-<span class="sourceLineNo">677</span>        } finally {<a name="line.677"></a>
-<span class="sourceLineNo">678</span>          try {<a name="line.678"></a>
-<span class="sourceLineNo">679</span>            readSelector.close();<a name="line.679"></a>
-<span class="sourceLineNo">680</span>          } catch (IOException ioe) {<a name="line.680"></a>
-<span class="sourceLineNo">681</span>            LOG.error(getName() + ": error closing read selector in " + getName(), ioe);<a name="line.681"></a>
-<span class="sourceLineNo">682</span>          }<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        }<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      }<a name="line.684"></a>
-<span class="sourceLineNo">685</span><a name="line.685"></a>
-<span class="sourceLineNo">686</span>      private synchronized void doRunLoop() {<a name="line.686"></a>
-<span class="sourceLineNo">687</span>        while (running) {<a na

<TRUNCATED>

[04/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/xref-test/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html
----------------------------------------------------------------------
diff --git a/xref-test/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html b/xref-test/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html
deleted file mode 100644
index 3cfe48c..0000000
--- a/xref-test/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html
+++ /dev/null
@@ -1,381 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<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" />
-<title>TestDelayedRpc xref</title>
-<link type="text/css" rel="stylesheet" href="../../../../../stylesheet.css" />
-</head>
-<body>
-<div id="overview"><a href="../../../../../../testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">View Javadoc</a></div><pre>
-
-<a class="jxr_linenumber" name="1" href="#1">1</a>   <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="2" href="#2">2</a>   <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="3" href="#3">3</a>   <em class="jxr_javadoccomment"> * Licensed to the Apache Software Foundation (ASF) under one</em>
-<a class="jxr_linenumber" name="4" href="#4">4</a>   <em class="jxr_javadoccomment"> * or more contributor license agreements.  See the NOTICE file</em>
-<a class="jxr_linenumber" name="5" href="#5">5</a>   <em class="jxr_javadoccomment"> * distributed with this work for additional information</em>
-<a class="jxr_linenumber" name="6" href="#6">6</a>   <em class="jxr_javadoccomment"> * regarding copyright ownership.  The ASF licenses this file</em>
-<a class="jxr_linenumber" name="7" href="#7">7</a>   <em class="jxr_javadoccomment"> * to you under the Apache License, Version 2.0 (the</em>
-<a class="jxr_linenumber" name="8" href="#8">8</a>   <em class="jxr_javadoccomment"> * "License"); you may not use this file except in compliance</em>
-<a class="jxr_linenumber" name="9" href="#9">9</a>   <em class="jxr_javadoccomment"> * with the License.  You may obtain a copy of the License at</em>
-<a class="jxr_linenumber" name="10" href="#10">10</a>  <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="11" href="#11">11</a>  <em class="jxr_javadoccomment"> *     <a href="http://www.apache.org/licenses/LICENSE-2.0" target="alexandria_uri">http://www.apache.org/licenses/LICENSE-2.0</a></em>
-<a class="jxr_linenumber" name="12" href="#12">12</a>  <em class="jxr_javadoccomment"> *</em>
-<a class="jxr_linenumber" name="13" href="#13">13</a>  <em class="jxr_javadoccomment"> * Unless required by applicable law or agreed to in writing, software</em>
-<a class="jxr_linenumber" name="14" href="#14">14</a>  <em class="jxr_javadoccomment"> * distributed under the License is distributed on an "AS IS" BASIS,</em>
-<a class="jxr_linenumber" name="15" href="#15">15</a>  <em class="jxr_javadoccomment"> * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</em>
-<a class="jxr_linenumber" name="16" href="#16">16</a>  <em class="jxr_javadoccomment"> * See the License for the specific language governing permissions and</em>
-<a class="jxr_linenumber" name="17" href="#17">17</a>  <em class="jxr_javadoccomment"> * limitations under the License.</em>
-<a class="jxr_linenumber" name="18" href="#18">18</a>  <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="19" href="#19">19</a>  <strong class="jxr_keyword">package</strong> org.apache.hadoop.hbase.ipc;
-<a class="jxr_linenumber" name="20" href="#20">20</a>  
-<a class="jxr_linenumber" name="21" href="#21">21</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertEquals;
-<a class="jxr_linenumber" name="22" href="#22">22</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertFalse;
-<a class="jxr_linenumber" name="23" href="#23">23</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.assertTrue;
-<a class="jxr_linenumber" name="24" href="#24">24</a>  <strong class="jxr_keyword">import</strong> <strong class="jxr_keyword">static</strong> org.junit.Assert.fail;
-<a class="jxr_linenumber" name="25" href="#25">25</a>  
-<a class="jxr_linenumber" name="26" href="#26">26</a>  <strong class="jxr_keyword">import</strong> java.io.IOException;
-<a class="jxr_linenumber" name="27" href="#27">27</a>  <strong class="jxr_keyword">import</strong> java.net.InetSocketAddress;
-<a class="jxr_linenumber" name="28" href="#28">28</a>  <strong class="jxr_keyword">import</strong> java.util.ArrayList;
-<a class="jxr_linenumber" name="29" href="#29">29</a>  <strong class="jxr_keyword">import</strong> java.util.List;
-<a class="jxr_linenumber" name="30" href="#30">30</a>  
-<a class="jxr_linenumber" name="31" href="#31">31</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.logging.Log;
-<a class="jxr_linenumber" name="32" href="#32">32</a>  <strong class="jxr_keyword">import</strong> org.apache.commons.logging.LogFactory;
-<a class="jxr_linenumber" name="33" href="#33">33</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.conf.Configuration;
-<a class="jxr_linenumber" name="34" href="#34">34</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.HBaseConfiguration;
-<a class="jxr_linenumber" name="35" href="#35">35</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.HConstants;
-<a class="jxr_linenumber" name="36" href="#36">36</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.testclassification.MediumTests;
-<a class="jxr_linenumber" name="37" href="#37">37</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.testclassification.RPCTests;
-<a class="jxr_linenumber" name="38" href="#38">38</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ServerName;
-<a class="jxr_linenumber" name="39" href="#39">39</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos;
-<a class="jxr_linenumber" name="40" href="#40">40</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestArg;
-<a class="jxr_linenumber" name="41" href="#41">41</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestResponse;
-<a class="jxr_linenumber" name="42" href="#42">42</a>  <strong class="jxr_keyword">import</strong> org.apache.hadoop.hbase.security.User;
-<a class="jxr_linenumber" name="43" href="#43">43</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.AppenderSkeleton;
-<a class="jxr_linenumber" name="44" href="#44">44</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.Level;
-<a class="jxr_linenumber" name="45" href="#45">45</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.Logger;
-<a class="jxr_linenumber" name="46" href="#46">46</a>  <strong class="jxr_keyword">import</strong> org.apache.log4j.spi.LoggingEvent;
-<a class="jxr_linenumber" name="47" href="#47">47</a>  <strong class="jxr_keyword">import</strong> org.junit.Test;
-<a class="jxr_linenumber" name="48" href="#48">48</a>  <strong class="jxr_keyword">import</strong> org.junit.experimental.categories.Category;
-<a class="jxr_linenumber" name="49" href="#49">49</a>  
-<a class="jxr_linenumber" name="50" href="#50">50</a>  <strong class="jxr_keyword">import</strong> com.google.common.collect.Lists;
-<a class="jxr_linenumber" name="51" href="#51">51</a>  <strong class="jxr_keyword">import</strong> com.google.protobuf.BlockingRpcChannel;
-<a class="jxr_linenumber" name="52" href="#52">52</a>  <strong class="jxr_keyword">import</strong> com.google.protobuf.BlockingService;
-<a class="jxr_linenumber" name="53" href="#53">53</a>  <strong class="jxr_keyword">import</strong> com.google.protobuf.RpcController;
-<a class="jxr_linenumber" name="54" href="#54">54</a>  <strong class="jxr_keyword">import</strong> com.google.protobuf.ServiceException;
-<a class="jxr_linenumber" name="55" href="#55">55</a>  
-<a class="jxr_linenumber" name="56" href="#56">56</a>  <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="57" href="#57">57</a>  <em class="jxr_javadoccomment"> * Test that delayed RPCs work. Fire up three calls, the first of which should</em>
-<a class="jxr_linenumber" name="58" href="#58">58</a>  <em class="jxr_javadoccomment"> * be delayed. Check that the last two, which are undelayed, return before the</em>
-<a class="jxr_linenumber" name="59" href="#59">59</a>  <em class="jxr_javadoccomment"> * first one.</em>
-<a class="jxr_linenumber" name="60" href="#60">60</a>  <em class="jxr_javadoccomment"> */</em>
-<a class="jxr_linenumber" name="61" href="#61">61</a>  @Category({RPCTests.<strong class="jxr_keyword">class</strong>, MediumTests.<strong class="jxr_keyword">class</strong>}) <em class="jxr_comment">// Fails sometimes with small tests</em>
-<a class="jxr_linenumber" name="62" href="#62">62</a>  <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">TestDelayedRpc</a> {
-<a class="jxr_linenumber" name="63" href="#63">63</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> Log LOG = LogFactory.getLog(TestDelayedRpc.<strong class="jxr_keyword">class</strong>);
-<a class="jxr_linenumber" name="64" href="#64">64</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> RpcServerInterface rpcServer;
-<a class="jxr_linenumber" name="65" href="#65">65</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> UNDELAYED = 0;
-<a class="jxr_linenumber" name="66" href="#66">66</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> DELAYED = 1;
-<a class="jxr_linenumber" name="67" href="#67">67</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> RPC_CLIENT_TIMEOUT = 30000;
-<a class="jxr_linenumber" name="68" href="#68">68</a>  
-<a class="jxr_linenumber" name="69" href="#69">69</a>    @Test (timeout=60000)
-<a class="jxr_linenumber" name="70" href="#70">70</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDelayedRpcImmediateReturnValue() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="71" href="#71">71</a>      testDelayedRpc(false);
-<a class="jxr_linenumber" name="72" href="#72">72</a>    }
-<a class="jxr_linenumber" name="73" href="#73">73</a>  
-<a class="jxr_linenumber" name="74" href="#74">74</a>    @Test (timeout=60000)
-<a class="jxr_linenumber" name="75" href="#75">75</a>    <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testDelayedRpcDelayedReturnValue() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="76" href="#76">76</a>      testDelayedRpc(<strong class="jxr_keyword">true</strong>);
-<a class="jxr_linenumber" name="77" href="#77">77</a>    }
-<a class="jxr_linenumber" name="78" href="#78">78</a>  
-<a class="jxr_linenumber" name="79" href="#79">79</a>    <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">void</strong> testDelayedRpc(<strong class="jxr_keyword">boolean</strong> delayReturnValue) <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="80" href="#80">80</a>      LOG.info(<span class="jxr_string">"Running testDelayedRpc delayReturnValue="</span> + delayReturnValue);
-<a class="jxr_linenumber" name="81" href="#81">81</a>      Configuration conf = HBaseConfiguration.create();
-<a class="jxr_linenumber" name="82" href="#82">82</a>      InetSocketAddress isa = <strong class="jxr_keyword">new</strong> InetSocketAddress(<span class="jxr_string">"localhost"</span>, 0);
-<a class="jxr_linenumber" name="83" href="#83">83</a>      <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">TestDelayedImplementation</a> instance = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">TestDelayedImplementation</a>(delayReturnValue);
-<a class="jxr_linenumber" name="84" href="#84">84</a>      BlockingService service =
-<a class="jxr_linenumber" name="85" href="#85">85</a>        TestDelayedRpcProtos.TestDelayedService.newReflectiveBlockingService(instance);
-<a class="jxr_linenumber" name="86" href="#86">86</a>      rpcServer = <strong class="jxr_keyword">new</strong> RpcServer(<strong class="jxr_keyword">null</strong>, <span class="jxr_string">"testDelayedRpc"</span>,
-<a class="jxr_linenumber" name="87" href="#87">87</a>          Lists.newArrayList(<strong class="jxr_keyword">new</strong> RpcServer.BlockingServiceAndInterface(service, <strong class="jxr_keyword">null</strong>)),
-<a class="jxr_linenumber" name="88" href="#88">88</a>          isa,
-<a class="jxr_linenumber" name="89" href="#89">89</a>          conf,
-<a class="jxr_linenumber" name="90" href="#90">90</a>          <strong class="jxr_keyword">new</strong> FifoRpcScheduler(conf, 1));
-<a class="jxr_linenumber" name="91" href="#91">91</a>      rpcServer.start();
-<a class="jxr_linenumber" name="92" href="#92">92</a>      RpcClient rpcClient = RpcClientFactory.createClient(
-<a class="jxr_linenumber" name="93" href="#93">93</a>          conf, HConstants.DEFAULT_CLUSTER_ID.toString());
-<a class="jxr_linenumber" name="94" href="#94">94</a>      <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="95" href="#95">95</a>        InetSocketAddress address = rpcServer.getListenerAddress();
-<a class="jxr_linenumber" name="96" href="#96">96</a>        <strong class="jxr_keyword">if</strong> (address == <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="97" href="#97">97</a>          <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IOException(<span class="jxr_string">"Listener channel is closed"</span>);
-<a class="jxr_linenumber" name="98" href="#98">98</a>        }
-<a class="jxr_linenumber" name="99" href="#99">99</a>        BlockingRpcChannel channel = rpcClient.createBlockingRpcChannel(
-<a class="jxr_linenumber" name="100" href="#100">100</a>           ServerName.valueOf(address.getHostName(),address.getPort(), System.currentTimeMillis()),
-<a class="jxr_linenumber" name="101" href="#101">101</a>           User.getCurrent(), RPC_CLIENT_TIMEOUT);
-<a class="jxr_linenumber" name="102" href="#102">102</a>       TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub =
-<a class="jxr_linenumber" name="103" href="#103">103</a>         TestDelayedRpcProtos.TestDelayedService.newBlockingStub(channel);
-<a class="jxr_linenumber" name="104" href="#104">104</a>       List&lt;Integer&gt; results = <strong class="jxr_keyword">new</strong> ArrayList&lt;Integer&gt;();
-<a class="jxr_linenumber" name="105" href="#105">105</a>       <em class="jxr_comment">// Setting true sets 'delayed' on the client.</em>
-<a class="jxr_linenumber" name="106" href="#106">106</a>       <a href="../../../../../org/apache/hadoop/hbase/MultithreadedTestUtil.html">TestThread</a> th1 = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/MultithreadedTestUtil.html">TestThread</a>(stub, <strong class="jxr_keyword">true</strong>, results);
-<a class="jxr_linenumber" name="107" href="#107">107</a>       <em class="jxr_comment">// Setting 'false' means we will return UNDELAYED as response immediately.</em>
-<a class="jxr_linenumber" name="108" href="#108">108</a>       <a href="../../../../../org/apache/hadoop/hbase/MultithreadedTestUtil.html">TestThread</a> th2 = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/MultithreadedTestUtil.html">TestThread</a>(stub, false, results);
-<a class="jxr_linenumber" name="109" href="#109">109</a>       <a href="../../../../../org/apache/hadoop/hbase/MultithreadedTestUtil.html">TestThread</a> th3 = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/MultithreadedTestUtil.html">TestThread</a>(stub, false, results);
-<a class="jxr_linenumber" name="110" href="#110">110</a>       th1.start();
-<a class="jxr_linenumber" name="111" href="#111">111</a>       Thread.sleep(100);
-<a class="jxr_linenumber" name="112" href="#112">112</a>       th2.start();
-<a class="jxr_linenumber" name="113" href="#113">113</a>       Thread.sleep(200);
-<a class="jxr_linenumber" name="114" href="#114">114</a>       th3.start();
-<a class="jxr_linenumber" name="115" href="#115">115</a> 
-<a class="jxr_linenumber" name="116" href="#116">116</a>       th1.join();
-<a class="jxr_linenumber" name="117" href="#117">117</a>       th2.join();
-<a class="jxr_linenumber" name="118" href="#118">118</a>       th3.join();
-<a class="jxr_linenumber" name="119" href="#119">119</a> 
-<a class="jxr_linenumber" name="120" href="#120">120</a>       <em class="jxr_comment">// We should get the two undelayed responses first.</em>
-<a class="jxr_linenumber" name="121" href="#121">121</a>       assertEquals(UNDELAYED, results.get(0).intValue());
-<a class="jxr_linenumber" name="122" href="#122">122</a>       assertEquals(UNDELAYED, results.get(1).intValue());
-<a class="jxr_linenumber" name="123" href="#123">123</a>       assertEquals(results.get(2).intValue(), delayReturnValue ? DELAYED :  0xDEADBEEF);
-<a class="jxr_linenumber" name="124" href="#124">124</a>     } <strong class="jxr_keyword">finally</strong> {
-<a class="jxr_linenumber" name="125" href="#125">125</a>       rpcClient.close();
-<a class="jxr_linenumber" name="126" href="#126">126</a>     }
-<a class="jxr_linenumber" name="127" href="#127">127</a>   }
-<a class="jxr_linenumber" name="128" href="#128">128</a> 
-<a class="jxr_linenumber" name="129" href="#129">129</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">ListAppender</a> <strong class="jxr_keyword">extends</strong> AppenderSkeleton {
-<a class="jxr_linenumber" name="130" href="#130">130</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> List&lt;String&gt; messages = <strong class="jxr_keyword">new</strong> ArrayList&lt;String&gt;();
-<a class="jxr_linenumber" name="131" href="#131">131</a> 
-<a class="jxr_linenumber" name="132" href="#132">132</a>     @Override
-<a class="jxr_linenumber" name="133" href="#133">133</a>     <strong class="jxr_keyword">protected</strong> <strong class="jxr_keyword">void</strong> append(LoggingEvent event) {
-<a class="jxr_linenumber" name="134" href="#134">134</a>       messages.add(event.getMessage().toString());
-<a class="jxr_linenumber" name="135" href="#135">135</a>     }
-<a class="jxr_linenumber" name="136" href="#136">136</a> 
-<a class="jxr_linenumber" name="137" href="#137">137</a>     @Override
-<a class="jxr_linenumber" name="138" href="#138">138</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> close() {
-<a class="jxr_linenumber" name="139" href="#139">139</a>     }
-<a class="jxr_linenumber" name="140" href="#140">140</a> 
-<a class="jxr_linenumber" name="141" href="#141">141</a>     @Override
-<a class="jxr_linenumber" name="142" href="#142">142</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">boolean</strong> requiresLayout() {
-<a class="jxr_linenumber" name="143" href="#143">143</a>       <strong class="jxr_keyword">return</strong> false;
-<a class="jxr_linenumber" name="144" href="#144">144</a>     }
-<a class="jxr_linenumber" name="145" href="#145">145</a> 
-<a class="jxr_linenumber" name="146" href="#146">146</a>     <strong class="jxr_keyword">public</strong> List&lt;String&gt; getMessages() {
-<a class="jxr_linenumber" name="147" href="#147">147</a>       <strong class="jxr_keyword">return</strong> messages;
-<a class="jxr_linenumber" name="148" href="#148">148</a>     }
-<a class="jxr_linenumber" name="149" href="#149">149</a>   }
-<a class="jxr_linenumber" name="150" href="#150">150</a> 
-<a class="jxr_linenumber" name="151" href="#151">151</a>   <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="152" href="#152">152</a> <em class="jxr_javadoccomment">   * Tests that we see a WARN message in the logs.</em>
-<a class="jxr_linenumber" name="153" href="#153">153</a> <em class="jxr_javadoccomment">   * @throws Exception</em>
-<a class="jxr_linenumber" name="154" href="#154">154</a> <em class="jxr_javadoccomment">   */</em>
-<a class="jxr_linenumber" name="155" href="#155">155</a>   @Test (timeout=60000)
-<a class="jxr_linenumber" name="156" href="#156">156</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testTooManyDelayedRpcs() <strong class="jxr_keyword">throws</strong> Exception {
-<a class="jxr_linenumber" name="157" href="#157">157</a>     Configuration conf = HBaseConfiguration.create();
-<a class="jxr_linenumber" name="158" href="#158">158</a>     <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">int</strong> MAX_DELAYED_RPC = 10;
-<a class="jxr_linenumber" name="159" href="#159">159</a>     conf.setInt(<span class="jxr_string">"hbase.ipc.warn.delayedrpc.number"</span>, MAX_DELAYED_RPC);
-<a class="jxr_linenumber" name="160" href="#160">160</a>     <em class="jxr_comment">// Set up an appender to catch the "Too many delayed calls" that we expect.</em>
-<a class="jxr_linenumber" name="161" href="#161">161</a>     <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">ListAppender</a> listAppender = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">ListAppender</a>();
-<a class="jxr_linenumber" name="162" href="#162">162</a>     Logger log = Logger.getLogger(RpcServer.<strong class="jxr_keyword">class</strong>);
-<a class="jxr_linenumber" name="163" href="#163">163</a>     log.addAppender(listAppender);
-<a class="jxr_linenumber" name="164" href="#164">164</a>     log.setLevel(Level.WARN);
-<a class="jxr_linenumber" name="165" href="#165">165</a> 
-<a class="jxr_linenumber" name="166" href="#166">166</a> 
-<a class="jxr_linenumber" name="167" href="#167">167</a>     InetSocketAddress isa = <strong class="jxr_keyword">new</strong> InetSocketAddress(<span class="jxr_string">"localhost"</span>, 0);
-<a class="jxr_linenumber" name="168" href="#168">168</a>     <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">TestDelayedImplementation</a> instance = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">TestDelayedImplementation</a>(<strong class="jxr_keyword">true</strong>);
-<a class="jxr_linenumber" name="169" href="#169">169</a>     BlockingService service =
-<a class="jxr_linenumber" name="170" href="#170">170</a>       TestDelayedRpcProtos.TestDelayedService.newReflectiveBlockingService(instance);
-<a class="jxr_linenumber" name="171" href="#171">171</a>     rpcServer = <strong class="jxr_keyword">new</strong> RpcServer(<strong class="jxr_keyword">null</strong>, <span class="jxr_string">"testTooManyDelayedRpcs"</span>,
-<a class="jxr_linenumber" name="172" href="#172">172</a>       Lists.newArrayList(<strong class="jxr_keyword">new</strong> RpcServer.BlockingServiceAndInterface(service, <strong class="jxr_keyword">null</strong>)),
-<a class="jxr_linenumber" name="173" href="#173">173</a>         isa,
-<a class="jxr_linenumber" name="174" href="#174">174</a>         conf,
-<a class="jxr_linenumber" name="175" href="#175">175</a>         <strong class="jxr_keyword">new</strong> FifoRpcScheduler(conf, 1));
-<a class="jxr_linenumber" name="176" href="#176">176</a>     rpcServer.start();
-<a class="jxr_linenumber" name="177" href="#177">177</a>     RpcClient rpcClient = RpcClientFactory.createClient(
-<a class="jxr_linenumber" name="178" href="#178">178</a>         conf, HConstants.DEFAULT_CLUSTER_ID.toString());
-<a class="jxr_linenumber" name="179" href="#179">179</a>     <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="180" href="#180">180</a>       InetSocketAddress address = rpcServer.getListenerAddress();
-<a class="jxr_linenumber" name="181" href="#181">181</a>       <strong class="jxr_keyword">if</strong> (address == <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="182" href="#182">182</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IOException(<span class="jxr_string">"Listener channel is closed"</span>);
-<a class="jxr_linenumber" name="183" href="#183">183</a>       }
-<a class="jxr_linenumber" name="184" href="#184">184</a>       BlockingRpcChannel channel = rpcClient.createBlockingRpcChannel(
-<a class="jxr_linenumber" name="185" href="#185">185</a>           ServerName.valueOf(address.getHostName(),address.getPort(), System.currentTimeMillis()),
-<a class="jxr_linenumber" name="186" href="#186">186</a>           User.getCurrent(), RPC_CLIENT_TIMEOUT);
-<a class="jxr_linenumber" name="187" href="#187">187</a>       TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub =
-<a class="jxr_linenumber" name="188" href="#188">188</a>         TestDelayedRpcProtos.TestDelayedService.newBlockingStub(channel);
-<a class="jxr_linenumber" name="189" href="#189">189</a>       Thread threads[] = <strong class="jxr_keyword">new</strong> Thread[MAX_DELAYED_RPC + 1];
-<a class="jxr_linenumber" name="190" href="#190">190</a>       <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; MAX_DELAYED_RPC; i++) {
-<a class="jxr_linenumber" name="191" href="#191">191</a>         threads[i] = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/MultithreadedTestUtil.html">TestThread</a>(stub, <strong class="jxr_keyword">true</strong>, <strong class="jxr_keyword">null</strong>);
-<a class="jxr_linenumber" name="192" href="#192">192</a>         threads[i].start();
-<a class="jxr_linenumber" name="193" href="#193">193</a>       }
-<a class="jxr_linenumber" name="194" href="#194">194</a> 
-<a class="jxr_linenumber" name="195" href="#195">195</a>       <em class="jxr_comment">/*<em class="jxr_comment"> No warnings till here. */</em></em>
-<a class="jxr_linenumber" name="196" href="#196">196</a>       assertTrue(listAppender.getMessages().isEmpty());
-<a class="jxr_linenumber" name="197" href="#197">197</a> 
-<a class="jxr_linenumber" name="198" href="#198">198</a>       <em class="jxr_comment">/*<em class="jxr_comment"> This should give a warning. */</em></em>
-<a class="jxr_linenumber" name="199" href="#199">199</a>       threads[MAX_DELAYED_RPC] = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/MultithreadedTestUtil.html">TestThread</a>(stub, <strong class="jxr_keyword">true</strong>, <strong class="jxr_keyword">null</strong>);
-<a class="jxr_linenumber" name="200" href="#200">200</a>       threads[MAX_DELAYED_RPC].start();
-<a class="jxr_linenumber" name="201" href="#201">201</a> 
-<a class="jxr_linenumber" name="202" href="#202">202</a>       <strong class="jxr_keyword">for</strong> (<strong class="jxr_keyword">int</strong> i = 0; i &lt; MAX_DELAYED_RPC; i++) {
-<a class="jxr_linenumber" name="203" href="#203">203</a>         threads[i].join();
-<a class="jxr_linenumber" name="204" href="#204">204</a>       }
-<a class="jxr_linenumber" name="205" href="#205">205</a> 
-<a class="jxr_linenumber" name="206" href="#206">206</a>       assertFalse(listAppender.getMessages().isEmpty());
-<a class="jxr_linenumber" name="207" href="#207">207</a>       assertTrue(listAppender.getMessages().get(0).startsWith(<span class="jxr_string">"Too many delayed calls"</span>));
-<a class="jxr_linenumber" name="208" href="#208">208</a> 
-<a class="jxr_linenumber" name="209" href="#209">209</a>       log.removeAppender(listAppender);
-<a class="jxr_linenumber" name="210" href="#210">210</a>     } <strong class="jxr_keyword">finally</strong> {
-<a class="jxr_linenumber" name="211" href="#211">211</a>       rpcClient.close();
-<a class="jxr_linenumber" name="212" href="#212">212</a>     }
-<a class="jxr_linenumber" name="213" href="#213">213</a>   }
-<a class="jxr_linenumber" name="214" href="#214">214</a> 
-<a class="jxr_linenumber" name="215" href="#215">215</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">TestDelayedImplementation</a>
-<a class="jxr_linenumber" name="216" href="#216">216</a>   <strong class="jxr_keyword">implements</strong> TestDelayedRpcProtos.TestDelayedService.BlockingInterface {
-<a class="jxr_linenumber" name="217" href="#217">217</a>     <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="218" href="#218">218</a> <em class="jxr_javadoccomment">     * Should the return value of delayed call be set at the end of the delay</em>
-<a class="jxr_linenumber" name="219" href="#219">219</a> <em class="jxr_javadoccomment">     * or at call return.</em>
-<a class="jxr_linenumber" name="220" href="#220">220</a> <em class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="221" href="#221">221</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> delayReturnValue;
-<a class="jxr_linenumber" name="222" href="#222">222</a> 
-<a class="jxr_linenumber" name="223" href="#223">223</a>     <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="224" href="#224">224</a> <em class="jxr_javadoccomment">     * @param delayReturnValue Should the response to the delayed call be set</em>
-<a class="jxr_linenumber" name="225" href="#225">225</a> <em class="jxr_javadoccomment">     * at the start or the end of the delay.</em>
-<a class="jxr_linenumber" name="226" href="#226">226</a> <em class="jxr_javadoccomment">     */</em>
-<a class="jxr_linenumber" name="227" href="#227">227</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">TestDelayedImplementation</a>(<strong class="jxr_keyword">boolean</strong> delayReturnValue) {
-<a class="jxr_linenumber" name="228" href="#228">228</a>       <strong class="jxr_keyword">this</strong>.delayReturnValue = delayReturnValue;
-<a class="jxr_linenumber" name="229" href="#229">229</a>     }
-<a class="jxr_linenumber" name="230" href="#230">230</a> 
-<a class="jxr_linenumber" name="231" href="#231">231</a>     @Override
-<a class="jxr_linenumber" name="232" href="#232">232</a>     <strong class="jxr_keyword">public</strong> TestResponse test(<strong class="jxr_keyword">final</strong> RpcController rpcController, <strong class="jxr_keyword">final</strong> TestArg testArg)
-<a class="jxr_linenumber" name="233" href="#233">233</a>     <strong class="jxr_keyword">throws</strong> ServiceException {
-<a class="jxr_linenumber" name="234" href="#234">234</a>       <strong class="jxr_keyword">boolean</strong> delay = testArg.getDelay();
-<a class="jxr_linenumber" name="235" href="#235">235</a>       TestResponse.Builder responseBuilder = TestResponse.newBuilder();
-<a class="jxr_linenumber" name="236" href="#236">236</a>       <strong class="jxr_keyword">if</strong> (!delay) {
-<a class="jxr_linenumber" name="237" href="#237">237</a>         responseBuilder.setResponse(UNDELAYED);
-<a class="jxr_linenumber" name="238" href="#238">238</a>         <strong class="jxr_keyword">return</strong> responseBuilder.build();
-<a class="jxr_linenumber" name="239" href="#239">239</a>       }
-<a class="jxr_linenumber" name="240" href="#240">240</a>       <strong class="jxr_keyword">final</strong> Delayable call = RpcServer.getCurrentCall();
-<a class="jxr_linenumber" name="241" href="#241">241</a>       call.startDelay(delayReturnValue);
-<a class="jxr_linenumber" name="242" href="#242">242</a>       <strong class="jxr_keyword">new</strong> Thread() {
-<a class="jxr_linenumber" name="243" href="#243">243</a>         @Override
-<a class="jxr_linenumber" name="244" href="#244">244</a>         <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() {
-<a class="jxr_linenumber" name="245" href="#245">245</a>           <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="246" href="#246">246</a>             Thread.sleep(500);
-<a class="jxr_linenumber" name="247" href="#247">247</a>             TestResponse.Builder responseBuilder = TestResponse.newBuilder();
-<a class="jxr_linenumber" name="248" href="#248">248</a>             call.endDelay(delayReturnValue ?
-<a class="jxr_linenumber" name="249" href="#249">249</a>                 responseBuilder.setResponse(DELAYED).build() : <strong class="jxr_keyword">null</strong>);
-<a class="jxr_linenumber" name="250" href="#250">250</a>           } <strong class="jxr_keyword">catch</strong> (Exception e) {
-<a class="jxr_linenumber" name="251" href="#251">251</a>             e.printStackTrace();
-<a class="jxr_linenumber" name="252" href="#252">252</a>           }
-<a class="jxr_linenumber" name="253" href="#253">253</a>         }
-<a class="jxr_linenumber" name="254" href="#254">254</a>       }.start();
-<a class="jxr_linenumber" name="255" href="#255">255</a>       <em class="jxr_comment">// This value should go back to client only if the response is set</em>
-<a class="jxr_linenumber" name="256" href="#256">256</a>       <em class="jxr_comment">// immediately at delay time.</em>
-<a class="jxr_linenumber" name="257" href="#257">257</a>       responseBuilder.setResponse(0xDEADBEEF);
-<a class="jxr_linenumber" name="258" href="#258">258</a>       <strong class="jxr_keyword">return</strong> responseBuilder.build();
-<a class="jxr_linenumber" name="259" href="#259">259</a>     }
-<a class="jxr_linenumber" name="260" href="#260">260</a>   }
-<a class="jxr_linenumber" name="261" href="#261">261</a> 
-<a class="jxr_linenumber" name="262" href="#262">262</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/hadoop/hbase/MultithreadedTestUtil.html">TestThread</a> <strong class="jxr_keyword">extends</strong> Thread {
-<a class="jxr_linenumber" name="263" href="#263">263</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub;
-<a class="jxr_linenumber" name="264" href="#264">264</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> <strong class="jxr_keyword">boolean</strong> delay;
-<a class="jxr_linenumber" name="265" href="#265">265</a>     <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">final</strong> List&lt;Integer&gt; results;
-<a class="jxr_linenumber" name="266" href="#266">266</a> 
-<a class="jxr_linenumber" name="267" href="#267">267</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/hadoop/hbase/MultithreadedTestUtil.html">TestThread</a>(TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub,
-<a class="jxr_linenumber" name="268" href="#268">268</a>         <strong class="jxr_keyword">boolean</strong> delay, List&lt;Integer&gt; results) {
-<a class="jxr_linenumber" name="269" href="#269">269</a>       <strong class="jxr_keyword">this</strong>.stub = stub;
-<a class="jxr_linenumber" name="270" href="#270">270</a>       <strong class="jxr_keyword">this</strong>.delay = delay;
-<a class="jxr_linenumber" name="271" href="#271">271</a>       <strong class="jxr_keyword">this</strong>.results = results;
-<a class="jxr_linenumber" name="272" href="#272">272</a>     }
-<a class="jxr_linenumber" name="273" href="#273">273</a> 
-<a class="jxr_linenumber" name="274" href="#274">274</a>     @Override
-<a class="jxr_linenumber" name="275" href="#275">275</a>     <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> run() {
-<a class="jxr_linenumber" name="276" href="#276">276</a>       Integer result;
-<a class="jxr_linenumber" name="277" href="#277">277</a>       <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="278" href="#278">278</a>         result = <strong class="jxr_keyword">new</strong> Integer(stub.test(<strong class="jxr_keyword">null</strong>, TestArg.newBuilder().setDelay(delay).build()).
-<a class="jxr_linenumber" name="279" href="#279">279</a>           getResponse());
-<a class="jxr_linenumber" name="280" href="#280">280</a>       } <strong class="jxr_keyword">catch</strong> (ServiceException e) {
-<a class="jxr_linenumber" name="281" href="#281">281</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> RuntimeException(e);
-<a class="jxr_linenumber" name="282" href="#282">282</a>       }
-<a class="jxr_linenumber" name="283" href="#283">283</a>       <strong class="jxr_keyword">if</strong> (results != <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="284" href="#284">284</a>         <strong class="jxr_keyword">synchronized</strong> (results) {
-<a class="jxr_linenumber" name="285" href="#285">285</a>           results.add(result);
-<a class="jxr_linenumber" name="286" href="#286">286</a>         }
-<a class="jxr_linenumber" name="287" href="#287">287</a>       }
-<a class="jxr_linenumber" name="288" href="#288">288</a>     }
-<a class="jxr_linenumber" name="289" href="#289">289</a>   }
-<a class="jxr_linenumber" name="290" href="#290">290</a> 
-<a class="jxr_linenumber" name="291" href="#291">291</a>   @Test
-<a class="jxr_linenumber" name="292" href="#292">292</a>   <strong class="jxr_keyword">public</strong> <strong class="jxr_keyword">void</strong> testEndDelayThrowing() <strong class="jxr_keyword">throws</strong> IOException {
-<a class="jxr_linenumber" name="293" href="#293">293</a>     Configuration conf = HBaseConfiguration.create();
-<a class="jxr_linenumber" name="294" href="#294">294</a>     InetSocketAddress isa = <strong class="jxr_keyword">new</strong> InetSocketAddress(<span class="jxr_string">"localhost"</span>, 0);
-<a class="jxr_linenumber" name="295" href="#295">295</a>     <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">FaultyTestDelayedImplementation</a> instance = <strong class="jxr_keyword">new</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">FaultyTestDelayedImplementation</a>();
-<a class="jxr_linenumber" name="296" href="#296">296</a>     BlockingService service =
-<a class="jxr_linenumber" name="297" href="#297">297</a>       TestDelayedRpcProtos.TestDelayedService.newReflectiveBlockingService(instance);
-<a class="jxr_linenumber" name="298" href="#298">298</a>     rpcServer = <strong class="jxr_keyword">new</strong> RpcServer(<strong class="jxr_keyword">null</strong>, <span class="jxr_string">"testEndDelayThrowing"</span>,
-<a class="jxr_linenumber" name="299" href="#299">299</a>         Lists.newArrayList(<strong class="jxr_keyword">new</strong> RpcServer.BlockingServiceAndInterface(service, <strong class="jxr_keyword">null</strong>)),
-<a class="jxr_linenumber" name="300" href="#300">300</a>         isa,
-<a class="jxr_linenumber" name="301" href="#301">301</a>         conf,
-<a class="jxr_linenumber" name="302" href="#302">302</a>         <strong class="jxr_keyword">new</strong> FifoRpcScheduler(conf, 1));
-<a class="jxr_linenumber" name="303" href="#303">303</a>     rpcServer.start();
-<a class="jxr_linenumber" name="304" href="#304">304</a>     RpcClient rpcClient = RpcClientFactory.createClient(
-<a class="jxr_linenumber" name="305" href="#305">305</a>         conf, HConstants.DEFAULT_CLUSTER_ID.toString());
-<a class="jxr_linenumber" name="306" href="#306">306</a>     <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="307" href="#307">307</a>       InetSocketAddress address = rpcServer.getListenerAddress();
-<a class="jxr_linenumber" name="308" href="#308">308</a>       <strong class="jxr_keyword">if</strong> (address == <strong class="jxr_keyword">null</strong>) {
-<a class="jxr_linenumber" name="309" href="#309">309</a>         <strong class="jxr_keyword">throw</strong> <strong class="jxr_keyword">new</strong> IOException(<span class="jxr_string">"Listener channel is closed"</span>);
-<a class="jxr_linenumber" name="310" href="#310">310</a>       }
-<a class="jxr_linenumber" name="311" href="#311">311</a>       BlockingRpcChannel channel = rpcClient.createBlockingRpcChannel(
-<a class="jxr_linenumber" name="312" href="#312">312</a>           ServerName.valueOf(address.getHostName(),address.getPort(), System.currentTimeMillis()),
-<a class="jxr_linenumber" name="313" href="#313">313</a>         User.getCurrent(), 1000);
-<a class="jxr_linenumber" name="314" href="#314">314</a>       TestDelayedRpcProtos.TestDelayedService.BlockingInterface stub =
-<a class="jxr_linenumber" name="315" href="#315">315</a>         TestDelayedRpcProtos.TestDelayedService.newBlockingStub(channel);
-<a class="jxr_linenumber" name="316" href="#316">316</a> 
-<a class="jxr_linenumber" name="317" href="#317">317</a>       <strong class="jxr_keyword">int</strong> result = 0xDEADBEEF;
-<a class="jxr_linenumber" name="318" href="#318">318</a> 
-<a class="jxr_linenumber" name="319" href="#319">319</a>       <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="320" href="#320">320</a>         result = stub.test(<strong class="jxr_keyword">null</strong>, TestArg.newBuilder().setDelay(false).build()).getResponse();
-<a class="jxr_linenumber" name="321" href="#321">321</a>       } <strong class="jxr_keyword">catch</strong> (Exception e) {
-<a class="jxr_linenumber" name="322" href="#322">322</a>         fail(<span class="jxr_string">"No exception should have been thrown."</span>);
-<a class="jxr_linenumber" name="323" href="#323">323</a>       }
-<a class="jxr_linenumber" name="324" href="#324">324</a>       assertEquals(result, UNDELAYED);
-<a class="jxr_linenumber" name="325" href="#325">325</a> 
-<a class="jxr_linenumber" name="326" href="#326">326</a>       <strong class="jxr_keyword">boolean</strong> caughtException = false;
-<a class="jxr_linenumber" name="327" href="#327">327</a>       <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="328" href="#328">328</a>         result = stub.test(<strong class="jxr_keyword">null</strong>, TestArg.newBuilder().setDelay(<strong class="jxr_keyword">true</strong>).build()).getResponse();
-<a class="jxr_linenumber" name="329" href="#329">329</a>       } <strong class="jxr_keyword">catch</strong>(Exception e) {
-<a class="jxr_linenumber" name="330" href="#330">330</a>         <em class="jxr_comment">// Exception thrown by server is enclosed in a RemoteException.</em>
-<a class="jxr_linenumber" name="331" href="#331">331</a>         <strong class="jxr_keyword">if</strong> (e.getCause().getMessage().contains(<span class="jxr_string">"java.lang.Exception: Something went wrong"</span>)) {
-<a class="jxr_linenumber" name="332" href="#332">332</a>           caughtException = <strong class="jxr_keyword">true</strong>;
-<a class="jxr_linenumber" name="333" href="#333">333</a>         }
-<a class="jxr_linenumber" name="334" href="#334">334</a>         LOG.warn(<span class="jxr_string">"Caught exception, expected="</span> + caughtException);
-<a class="jxr_linenumber" name="335" href="#335">335</a>       }
-<a class="jxr_linenumber" name="336" href="#336">336</a>       assertTrue(caughtException);
-<a class="jxr_linenumber" name="337" href="#337">337</a>     } <strong class="jxr_keyword">finally</strong> {
-<a class="jxr_linenumber" name="338" href="#338">338</a>       rpcClient.close();
-<a class="jxr_linenumber" name="339" href="#339">339</a>     }
-<a class="jxr_linenumber" name="340" href="#340">340</a>   }
-<a class="jxr_linenumber" name="341" href="#341">341</a> 
-<a class="jxr_linenumber" name="342" href="#342">342</a>   <em class="jxr_javadoccomment">/**</em>
-<a class="jxr_linenumber" name="343" href="#343">343</a> <em class="jxr_javadoccomment">   * Delayed calls to this class throw an exception.</em>
-<a class="jxr_linenumber" name="344" href="#344">344</a> <em class="jxr_javadoccomment">   */</em>
-<a class="jxr_linenumber" name="345" href="#345">345</a>   <strong class="jxr_keyword">private</strong> <strong class="jxr_keyword">static</strong> <strong class="jxr_keyword">class</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">FaultyTestDelayedImplementation</a> <strong class="jxr_keyword">extends</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">TestDelayedImplementation</a> {
-<a class="jxr_linenumber" name="346" href="#346">346</a>     <strong class="jxr_keyword">public</strong> <a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html">FaultyTestDelayedImplementation</a>() {
-<a class="jxr_linenumber" name="347" href="#347">347</a>       <strong class="jxr_keyword">super</strong>(false);
-<a class="jxr_linenumber" name="348" href="#348">348</a>     }
-<a class="jxr_linenumber" name="349" href="#349">349</a> 
-<a class="jxr_linenumber" name="350" href="#350">350</a>     @Override
-<a class="jxr_linenumber" name="351" href="#351">351</a>     <strong class="jxr_keyword">public</strong> TestResponse test(RpcController rpcController, TestArg arg)
-<a class="jxr_linenumber" name="352" href="#352">352</a>     <strong class="jxr_keyword">throws</strong> ServiceException {
-<a class="jxr_linenumber" name="353" href="#353">353</a>       LOG.info(<span class="jxr_string">"In faulty test, delay="</span> + arg.getDelay());
-<a class="jxr_linenumber" name="354" href="#354">354</a>       <strong class="jxr_keyword">if</strong> (!arg.getDelay()) <strong class="jxr_keyword">return</strong> TestResponse.newBuilder().setResponse(UNDELAYED).build();
-<a class="jxr_linenumber" name="355" href="#355">355</a>       Delayable call = RpcServer.getCurrentCall();
-<a class="jxr_linenumber" name="356" href="#356">356</a>       call.startDelay(<strong class="jxr_keyword">true</strong>);
-<a class="jxr_linenumber" name="357" href="#357">357</a>       LOG.info(<span class="jxr_string">"In faulty test, delaying"</span>);
-<a class="jxr_linenumber" name="358" href="#358">358</a>       <strong class="jxr_keyword">try</strong> {
-<a class="jxr_linenumber" name="359" href="#359">359</a>         call.endDelayThrowing(<strong class="jxr_keyword">new</strong> Exception(<span class="jxr_string">"Something went wrong"</span>));
-<a class="jxr_linenumber" name="360" href="#360">360</a>       } <strong class="jxr_keyword">catch</strong> (IOException e) {
-<a class="jxr_linenumber" name="361" href="#361">361</a>         e.printStackTrace();
-<a class="jxr_linenumber" name="362" href="#362">362</a>       }
-<a class="jxr_linenumber" name="363" href="#363">363</a>       <em class="jxr_comment">// Client will receive the Exception, not this value.</em>
-<a class="jxr_linenumber" name="364" href="#364">364</a>       <strong class="jxr_keyword">return</strong> TestResponse.newBuilder().setResponse(DELAYED).build();
-<a class="jxr_linenumber" name="365" href="#365">365</a>     }
-<a class="jxr_linenumber" name="366" href="#366">366</a>   }
-<a class="jxr_linenumber" name="367" href="#367">367</a> }
-</pre>
-<hr/><div id="footer">This page was automatically generated by <a href="http://maven.apache.org/">Maven</a></div></body>
-</html>
-

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/xref-test/org/apache/hadoop/hbase/ipc/package-frame.html
----------------------------------------------------------------------
diff --git a/xref-test/org/apache/hadoop/hbase/ipc/package-frame.html b/xref-test/org/apache/hadoop/hbase/ipc/package-frame.html
index 6d31051..736aa2a 100644
--- a/xref-test/org/apache/hadoop/hbase/ipc/package-frame.html
+++ b/xref-test/org/apache/hadoop/hbase/ipc/package-frame.html
@@ -25,15 +25,9 @@
             	<a href="IntegrationTestRpcClient.html" target="classFrame">Cluster</a>
           	</li>
           	          	<li>
-            	<a href="TestDelayedRpc.html" target="classFrame">FaultyTestDelayedImplementation</a>
-          	</li>
-          	          	<li>
             	<a href="IntegrationTestRpcClient.html" target="classFrame">IntegrationTestRpcClient</a>
           	</li>
           	          	<li>
-            	<a href="TestDelayedRpc.html" target="classFrame">ListAppender</a>
-          	</li>
-          	          	<li>
             	<a href="MetricsHBaseServerWrapperStub.html" target="classFrame">MetricsHBaseServerWrapperStub</a>
           	</li>
           	          	<li>
@@ -58,12 +52,6 @@
             	<a href="TestCallRunner.html" target="classFrame">TestCallRunner</a>
           	</li>
           	          	<li>
-            	<a href="TestDelayedRpc.html" target="classFrame">TestDelayedImplementation</a>
-          	</li>
-          	          	<li>
-            	<a href="TestDelayedRpc.html" target="classFrame">TestDelayedRpc</a>
-          	</li>
-          	          	<li>
             	<a href="TestGlobalEventLoopGroup.html" target="classFrame">TestGlobalEventLoopGroup</a>
           	</li>
           	          	<li>
@@ -100,9 +88,6 @@
             	<a href="TestSimpleRpcScheduler.html" target="classFrame">TestSimpleRpcScheduler</a>
           	</li>
           	          	<li>
-            	<a href="TestDelayedRpc.html" target="classFrame">TestThread</a>
-          	</li>
-          	          	<li>
             	<a href="IntegrationTestRpcClient.html" target="classFrame">TimeoutThread</a>
           	</li>
           	      	</ul>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/xref-test/org/apache/hadoop/hbase/ipc/package-summary.html
----------------------------------------------------------------------
diff --git a/xref-test/org/apache/hadoop/hbase/ipc/package-summary.html b/xref-test/org/apache/hadoop/hbase/ipc/package-summary.html
index f0f3afd..d81c441 100644
--- a/xref-test/org/apache/hadoop/hbase/ipc/package-summary.html
+++ b/xref-test/org/apache/hadoop/hbase/ipc/package-summary.html
@@ -52,21 +52,11 @@
             	</tr>
 				            	<tr>
               		<td>
-                		<a href="TestDelayedRpc.html" target="classFrame">FaultyTestDelayedImplementation</a>
-              		</td>
-            	</tr>
-				            	<tr>
-              		<td>
                 		<a href="IntegrationTestRpcClient.html" target="classFrame">IntegrationTestRpcClient</a>
               		</td>
             	</tr>
 				            	<tr>
               		<td>
-                		<a href="TestDelayedRpc.html" target="classFrame">ListAppender</a>
-              		</td>
-            	</tr>
-				            	<tr>
-              		<td>
                 		<a href="MetricsHBaseServerWrapperStub.html" target="classFrame">MetricsHBaseServerWrapperStub</a>
               		</td>
             	</tr>
@@ -107,16 +97,6 @@
             	</tr>
 				            	<tr>
               		<td>
-                		<a href="TestDelayedRpc.html" target="classFrame">TestDelayedImplementation</a>
-              		</td>
-            	</tr>
-				            	<tr>
-              		<td>
-                		<a href="TestDelayedRpc.html" target="classFrame">TestDelayedRpc</a>
-              		</td>
-            	</tr>
-				            	<tr>
-              		<td>
                 		<a href="TestGlobalEventLoopGroup.html" target="classFrame">TestGlobalEventLoopGroup</a>
               		</td>
             	</tr>
@@ -177,11 +157,6 @@
             	</tr>
 				            	<tr>
               		<td>
-                		<a href="TestDelayedRpc.html" target="classFrame">TestThread</a>
-              		</td>
-            	</tr>
-				            	<tr>
-              		<td>
                 		<a href="IntegrationTestRpcClient.html" target="classFrame">TimeoutThread</a>
               		</td>
             	</tr>


[18/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html
----------------------------------------------------------------------
diff --git a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html
index 4975851..bf27873 100644
--- a/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html
+++ b/devapidocs/src-html/org/apache/hadoop/hbase/ipc/RpcServer.Listener.Reader.html
@@ -193,2475 +193,2411 @@
 <span class="sourceLineNo">185</span>   */<a name="line.185"></a>
 <span class="sourceLineNo">186</span>  private static final int DEFAULT_MAX_CALLQUEUE_SIZE = 1024 * 1024 * 1024;<a name="line.186"></a>
 <span class="sourceLineNo">187</span><a name="line.187"></a>
-<span class="sourceLineNo">188</span>  private static final String WARN_DELAYED_CALLS = "hbase.ipc.warn.delayedrpc.number";<a name="line.188"></a>
+<span class="sourceLineNo">188</span>  private final IPCUtil ipcUtil;<a name="line.188"></a>
 <span class="sourceLineNo">189</span><a name="line.189"></a>
-<span class="sourceLineNo">190</span>  private static final int DEFAULT_WARN_DELAYED_CALLS = 1000;<a name="line.190"></a>
-<span class="sourceLineNo">191</span><a name="line.191"></a>
-<span class="sourceLineNo">192</span>  private final int warnDelayedCalls;<a name="line.192"></a>
-<span class="sourceLineNo">193</span><a name="line.193"></a>
-<span class="sourceLineNo">194</span>  private AtomicInteger delayedCalls;<a name="line.194"></a>
-<span class="sourceLineNo">195</span>  private final IPCUtil ipcUtil;<a name="line.195"></a>
+<span class="sourceLineNo">190</span>  private static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.190"></a>
+<span class="sourceLineNo">191</span>  private static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.191"></a>
+<span class="sourceLineNo">192</span>  private static final Log AUDITLOG = LogFactory.getLog("SecurityLogger." +<a name="line.192"></a>
+<span class="sourceLineNo">193</span>    Server.class.getName());<a name="line.193"></a>
+<span class="sourceLineNo">194</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.194"></a>
+<span class="sourceLineNo">195</span>  protected ServiceAuthorizationManager authManager;<a name="line.195"></a>
 <span class="sourceLineNo">196</span><a name="line.196"></a>
-<span class="sourceLineNo">197</span>  private static final String AUTH_FAILED_FOR = "Auth failed for ";<a name="line.197"></a>
-<span class="sourceLineNo">198</span>  private static final String AUTH_SUCCESSFUL_FOR = "Auth successful for ";<a name="line.198"></a>
-<span class="sourceLineNo">199</span>  private static final Log AUDITLOG = LogFactory.getLog("SecurityLogger." +<a name="line.199"></a>
-<span class="sourceLineNo">200</span>    Server.class.getName());<a name="line.200"></a>
-<span class="sourceLineNo">201</span>  protected SecretManager&lt;TokenIdentifier&gt; secretManager;<a name="line.201"></a>
-<span class="sourceLineNo">202</span>  protected ServiceAuthorizationManager authManager;<a name="line.202"></a>
-<span class="sourceLineNo">203</span><a name="line.203"></a>
-<span class="sourceLineNo">204</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.204"></a>
-<span class="sourceLineNo">205</span>   * after the call returns.<a name="line.205"></a>
-<span class="sourceLineNo">206</span>   */<a name="line.206"></a>
-<span class="sourceLineNo">207</span>  protected static final ThreadLocal&lt;Call&gt; CurCall = new ThreadLocal&lt;Call&gt;();<a name="line.207"></a>
-<span class="sourceLineNo">208</span><a name="line.208"></a>
-<span class="sourceLineNo">209</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.209"></a>
-<span class="sourceLineNo">210</span>  static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC<a name="line.210"></a>
-<span class="sourceLineNo">211</span>      = new ThreadLocal&lt;MonitoredRPCHandler&gt;();<a name="line.211"></a>
-<span class="sourceLineNo">212</span><a name="line.212"></a>
-<span class="sourceLineNo">213</span>  protected final InetSocketAddress bindAddress;<a name="line.213"></a>
-<span class="sourceLineNo">214</span>  protected int port;                             // port we listen on<a name="line.214"></a>
-<span class="sourceLineNo">215</span>  protected InetSocketAddress address;            // inet address we listen on<a name="line.215"></a>
-<span class="sourceLineNo">216</span>  private int readThreads;                        // number of read threads<a name="line.216"></a>
-<span class="sourceLineNo">217</span>  protected int maxIdleTime;                      // the maximum idle time after<a name="line.217"></a>
-<span class="sourceLineNo">218</span>                                                  // which a client may be<a name="line.218"></a>
-<span class="sourceLineNo">219</span>                                                  // disconnected<a name="line.219"></a>
-<span class="sourceLineNo">220</span>  protected int thresholdIdleConnections;         // the number of idle<a name="line.220"></a>
-<span class="sourceLineNo">221</span>                                                  // connections after which we<a name="line.221"></a>
-<span class="sourceLineNo">222</span>                                                  // will start cleaning up idle<a name="line.222"></a>
-<span class="sourceLineNo">223</span>                                                  // connections<a name="line.223"></a>
-<span class="sourceLineNo">224</span>  int maxConnectionsToNuke;                       // the max number of<a name="line.224"></a>
-<span class="sourceLineNo">225</span>                                                  // connections to nuke<a name="line.225"></a>
-<span class="sourceLineNo">226</span>                                                  // during a cleanup<a name="line.226"></a>
-<span class="sourceLineNo">227</span><a name="line.227"></a>
-<span class="sourceLineNo">228</span>  protected MetricsHBaseServer metrics;<a name="line.228"></a>
-<span class="sourceLineNo">229</span><a name="line.229"></a>
-<span class="sourceLineNo">230</span>  protected final Configuration conf;<a name="line.230"></a>
-<span class="sourceLineNo">231</span><a name="line.231"></a>
-<span class="sourceLineNo">232</span>  private int maxQueueSize;<a name="line.232"></a>
-<span class="sourceLineNo">233</span>  protected int socketSendBufferSize;<a name="line.233"></a>
-<span class="sourceLineNo">234</span>  protected final boolean tcpNoDelay;   // if T then disable Nagle's Algorithm<a name="line.234"></a>
-<span class="sourceLineNo">235</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.235"></a>
-<span class="sourceLineNo">236</span>  protected final long purgeTimeout;    // in milliseconds<a name="line.236"></a>
+<span class="sourceLineNo">197</span>  /** This is set to Call object before Handler invokes an RPC and ybdie<a name="line.197"></a>
+<span class="sourceLineNo">198</span>   * after the call returns.<a name="line.198"></a>
+<span class="sourceLineNo">199</span>   */<a name="line.199"></a>
+<span class="sourceLineNo">200</span>  protected static final ThreadLocal&lt;Call&gt; CurCall = new ThreadLocal&lt;Call&gt;();<a name="line.200"></a>
+<span class="sourceLineNo">201</span><a name="line.201"></a>
+<span class="sourceLineNo">202</span>  /** Keeps MonitoredRPCHandler per handler thread. */<a name="line.202"></a>
+<span class="sourceLineNo">203</span>  static final ThreadLocal&lt;MonitoredRPCHandler&gt; MONITORED_RPC<a name="line.203"></a>
+<span class="sourceLineNo">204</span>      = new ThreadLocal&lt;MonitoredRPCHandler&gt;();<a name="line.204"></a>
+<span class="sourceLineNo">205</span><a name="line.205"></a>
+<span class="sourceLineNo">206</span>  protected final InetSocketAddress bindAddress;<a name="line.206"></a>
+<span class="sourceLineNo">207</span>  protected int port;                             // port we listen on<a name="line.207"></a>
+<span class="sourceLineNo">208</span>  protected InetSocketAddress address;            // inet address we listen on<a name="line.208"></a>
+<span class="sourceLineNo">209</span>  private int readThreads;                        // number of read threads<a name="line.209"></a>
+<span class="sourceLineNo">210</span>  protected int maxIdleTime;                      // the maximum idle time after<a name="line.210"></a>
+<span class="sourceLineNo">211</span>                                                  // which a client may be<a name="line.211"></a>
+<span class="sourceLineNo">212</span>                                                  // disconnected<a name="line.212"></a>
+<span class="sourceLineNo">213</span>  protected int thresholdIdleConnections;         // the number of idle<a name="line.213"></a>
+<span class="sourceLineNo">214</span>                                                  // connections after which we<a name="line.214"></a>
+<span class="sourceLineNo">215</span>                                                  // will start cleaning up idle<a name="line.215"></a>
+<span class="sourceLineNo">216</span>                                                  // connections<a name="line.216"></a>
+<span class="sourceLineNo">217</span>  int maxConnectionsToNuke;                       // the max number of<a name="line.217"></a>
+<span class="sourceLineNo">218</span>                                                  // connections to nuke<a name="line.218"></a>
+<span class="sourceLineNo">219</span>                                                  // during a cleanup<a name="line.219"></a>
+<span class="sourceLineNo">220</span><a name="line.220"></a>
+<span class="sourceLineNo">221</span>  protected MetricsHBaseServer metrics;<a name="line.221"></a>
+<span class="sourceLineNo">222</span><a name="line.222"></a>
+<span class="sourceLineNo">223</span>  protected final Configuration conf;<a name="line.223"></a>
+<span class="sourceLineNo">224</span><a name="line.224"></a>
+<span class="sourceLineNo">225</span>  private int maxQueueSize;<a name="line.225"></a>
+<span class="sourceLineNo">226</span>  protected int socketSendBufferSize;<a name="line.226"></a>
+<span class="sourceLineNo">227</span>  protected final boolean tcpNoDelay;   // if T then disable Nagle's Algorithm<a name="line.227"></a>
+<span class="sourceLineNo">228</span>  protected final boolean tcpKeepAlive; // if T then use keepalives<a name="line.228"></a>
+<span class="sourceLineNo">229</span>  protected final long purgeTimeout;    // in milliseconds<a name="line.229"></a>
+<span class="sourceLineNo">230</span><a name="line.230"></a>
+<span class="sourceLineNo">231</span>  /**<a name="line.231"></a>
+<span class="sourceLineNo">232</span>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.232"></a>
+<span class="sourceLineNo">233</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.233"></a>
+<span class="sourceLineNo">234</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.234"></a>
+<span class="sourceLineNo">235</span>   */<a name="line.235"></a>
+<span class="sourceLineNo">236</span>  volatile boolean running = true;<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>   * This flag is used to indicate to sub threads when they should go down.  When we call<a name="line.239"></a>
-<span class="sourceLineNo">240</span>   * {@link #start()}, all threads started will consult this flag on whether they should<a name="line.240"></a>
-<span class="sourceLineNo">241</span>   * keep going.  It is set to false when {@link #stop()} is called.<a name="line.241"></a>
-<span class="sourceLineNo">242</span>   */<a name="line.242"></a>
-<span class="sourceLineNo">243</span>  volatile boolean running = true;<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>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.246"></a>
-<span class="sourceLineNo">247</span>   * for business by the call to {@link #start()}.<a name="line.247"></a>
-<span class="sourceLineNo">248</span>   */<a name="line.248"></a>
-<span class="sourceLineNo">249</span>  volatile boolean started = false;<a name="line.249"></a>
-<span class="sourceLineNo">250</span><a name="line.250"></a>
-<span class="sourceLineNo">251</span>  /**<a name="line.251"></a>
-<span class="sourceLineNo">252</span>   * This is a running count of the size of all outstanding calls by size.<a name="line.252"></a>
-<span class="sourceLineNo">253</span>   */<a name="line.253"></a>
-<span class="sourceLineNo">254</span>  protected final Counter callQueueSize = new Counter();<a name="line.254"></a>
-<span class="sourceLineNo">255</span><a name="line.255"></a>
-<span class="sourceLineNo">256</span>  protected final List&lt;Connection&gt; connectionList =<a name="line.256"></a>
-<span class="sourceLineNo">257</span>    Collections.synchronizedList(new LinkedList&lt;Connection&gt;());<a name="line.257"></a>
-<span class="sourceLineNo">258</span>  //maintain a list<a name="line.258"></a>
-<span class="sourceLineNo">259</span>  //of client connections<a name="line.259"></a>
-<span class="sourceLineNo">260</span>  private Listener listener = null;<a name="line.260"></a>
-<span class="sourceLineNo">261</span>  protected Responder responder = null;<a name="line.261"></a>
-<span class="sourceLineNo">262</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.262"></a>
-<span class="sourceLineNo">263</span>  protected int numConnections = 0;<a name="line.263"></a>
-<span class="sourceLineNo">264</span><a name="line.264"></a>
-<span class="sourceLineNo">265</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.265"></a>
+<span class="sourceLineNo">239</span>   * This flag is set to true after all threads are up and 'running' and the server is then opened<a name="line.239"></a>
+<span class="sourceLineNo">240</span>   * for business by the call to {@link #start()}.<a name="line.240"></a>
+<span class="sourceLineNo">241</span>   */<a name="line.241"></a>
+<span class="sourceLineNo">242</span>  volatile boolean started = false;<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>   * This is a running count of the size of all outstanding calls by size.<a name="line.245"></a>
+<span class="sourceLineNo">246</span>   */<a name="line.246"></a>
+<span class="sourceLineNo">247</span>  protected final Counter callQueueSize = new Counter();<a name="line.247"></a>
+<span class="sourceLineNo">248</span><a name="line.248"></a>
+<span class="sourceLineNo">249</span>  protected final List&lt;Connection&gt; connectionList =<a name="line.249"></a>
+<span class="sourceLineNo">250</span>    Collections.synchronizedList(new LinkedList&lt;Connection&gt;());<a name="line.250"></a>
+<span class="sourceLineNo">251</span>  //maintain a list<a name="line.251"></a>
+<span class="sourceLineNo">252</span>  //of client connections<a name="line.252"></a>
+<span class="sourceLineNo">253</span>  private Listener listener = null;<a name="line.253"></a>
+<span class="sourceLineNo">254</span>  protected Responder responder = null;<a name="line.254"></a>
+<span class="sourceLineNo">255</span>  protected AuthenticationTokenSecretManager authTokenSecretMgr = null;<a name="line.255"></a>
+<span class="sourceLineNo">256</span>  protected int numConnections = 0;<a name="line.256"></a>
+<span class="sourceLineNo">257</span><a name="line.257"></a>
+<span class="sourceLineNo">258</span>  protected HBaseRPCErrorHandler errorHandler = null;<a name="line.258"></a>
+<span class="sourceLineNo">259</span><a name="line.259"></a>
+<span class="sourceLineNo">260</span>  private static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.260"></a>
+<span class="sourceLineNo">261</span>  private static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.261"></a>
+<span class="sourceLineNo">262</span><a name="line.262"></a>
+<span class="sourceLineNo">263</span>  /** Default value for above params */<a name="line.263"></a>
+<span class="sourceLineNo">264</span>  private static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.264"></a>
+<span class="sourceLineNo">265</span>  private static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.265"></a>
 <span class="sourceLineNo">266</span><a name="line.266"></a>
-<span class="sourceLineNo">267</span>  private static final String WARN_RESPONSE_TIME = "hbase.ipc.warn.response.time";<a name="line.267"></a>
-<span class="sourceLineNo">268</span>  private static final String WARN_RESPONSE_SIZE = "hbase.ipc.warn.response.size";<a name="line.268"></a>
-<span class="sourceLineNo">269</span><a name="line.269"></a>
-<span class="sourceLineNo">270</span>  /** Default value for above params */<a name="line.270"></a>
-<span class="sourceLineNo">271</span>  private static final int DEFAULT_WARN_RESPONSE_TIME = 10000; // milliseconds<a name="line.271"></a>
-<span class="sourceLineNo">272</span>  private static final int DEFAULT_WARN_RESPONSE_SIZE = 100 * 1024 * 1024;<a name="line.272"></a>
+<span class="sourceLineNo">267</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.267"></a>
+<span class="sourceLineNo">268</span><a name="line.268"></a>
+<span class="sourceLineNo">269</span>  private final int warnResponseTime;<a name="line.269"></a>
+<span class="sourceLineNo">270</span>  private final int warnResponseSize;<a name="line.270"></a>
+<span class="sourceLineNo">271</span>  private final Server server;<a name="line.271"></a>
+<span class="sourceLineNo">272</span>  private final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.272"></a>
 <span class="sourceLineNo">273</span><a name="line.273"></a>
-<span class="sourceLineNo">274</span>  private static final ObjectMapper MAPPER = new ObjectMapper();<a name="line.274"></a>
+<span class="sourceLineNo">274</span>  private final RpcScheduler scheduler;<a name="line.274"></a>
 <span class="sourceLineNo">275</span><a name="line.275"></a>
-<span class="sourceLineNo">276</span>  private final int warnResponseTime;<a name="line.276"></a>
-<span class="sourceLineNo">277</span>  private final int warnResponseSize;<a name="line.277"></a>
-<span class="sourceLineNo">278</span>  private final Server server;<a name="line.278"></a>
-<span class="sourceLineNo">279</span>  private final List&lt;BlockingServiceAndInterface&gt; services;<a name="line.279"></a>
-<span class="sourceLineNo">280</span><a name="line.280"></a>
-<span class="sourceLineNo">281</span>  private final RpcScheduler scheduler;<a name="line.281"></a>
-<span class="sourceLineNo">282</span><a name="line.282"></a>
-<span class="sourceLineNo">283</span>  private UserProvider userProvider;<a name="line.283"></a>
-<span class="sourceLineNo">284</span><a name="line.284"></a>
-<span class="sourceLineNo">285</span>  private final BoundedByteBufferPool reservoir;<a name="line.285"></a>
-<span class="sourceLineNo">286</span><a name="line.286"></a>
-<span class="sourceLineNo">287</span>  private volatile boolean allowFallbackToSimpleAuth;<a name="line.287"></a>
-<span class="sourceLineNo">288</span><a name="line.288"></a>
-<span class="sourceLineNo">289</span>  /**<a name="line.289"></a>
-<span class="sourceLineNo">290</span>   * Datastructure that holds all necessary to a method invocation and then afterward, carries<a name="line.290"></a>
-<span class="sourceLineNo">291</span>   * the result.<a name="line.291"></a>
-<span class="sourceLineNo">292</span>   */<a name="line.292"></a>
-<span class="sourceLineNo">293</span>  class Call implements RpcCallContext {<a name="line.293"></a>
-<span class="sourceLineNo">294</span>    protected int id;                             // the client's call id<a name="line.294"></a>
-<span class="sourceLineNo">295</span>    protected BlockingService service;<a name="line.295"></a>
-<span class="sourceLineNo">296</span>    protected MethodDescriptor md;<a name="line.296"></a>
-<span class="sourceLineNo">297</span>    protected RequestHeader header;<a name="line.297"></a>
-<span class="sourceLineNo">298</span>    protected Message param;                      // the parameter passed<a name="line.298"></a>
-<span class="sourceLineNo">299</span>    // Optional cell data passed outside of protobufs.<a name="line.299"></a>
-<span class="sourceLineNo">300</span>    protected CellScanner cellScanner;<a name="line.300"></a>
-<span class="sourceLineNo">301</span>    protected Connection connection;              // connection to client<a name="line.301"></a>
-<span class="sourceLineNo">302</span>    protected long timestamp;      // the time received when response is null<a name="line.302"></a>
-<span class="sourceLineNo">303</span>                                   // the time served when response is not null<a name="line.303"></a>
-<span class="sourceLineNo">304</span>    /**<a name="line.304"></a>
-<span class="sourceLineNo">305</span>     * Chain of buffers to send as response.<a name="line.305"></a>
-<span class="sourceLineNo">306</span>     */<a name="line.306"></a>
-<span class="sourceLineNo">307</span>    protected BufferChain response;<a name="line.307"></a>
-<span class="sourceLineNo">308</span>    protected boolean delayResponse;<a name="line.308"></a>
-<span class="sourceLineNo">309</span>    protected Responder responder;<a name="line.309"></a>
-<span class="sourceLineNo">310</span>    protected boolean delayReturnValue;           // if the return value should be<a name="line.310"></a>
-<span class="sourceLineNo">311</span>                                                  // set at call completion<a name="line.311"></a>
-<span class="sourceLineNo">312</span>    protected long size;                          // size of current call<a name="line.312"></a>
-<span class="sourceLineNo">313</span>    protected boolean isError;<a name="line.313"></a>
-<span class="sourceLineNo">314</span>    protected TraceInfo tinfo;<a name="line.314"></a>
-<span class="sourceLineNo">315</span>    private ByteBuffer cellBlock = null;<a name="line.315"></a>
-<span class="sourceLineNo">316</span><a name="line.316"></a>
-<span class="sourceLineNo">317</span>    private User user;<a name="line.317"></a>
-<span class="sourceLineNo">318</span>    private InetAddress remoteAddress;<a name="line.318"></a>
-<span class="sourceLineNo">319</span>    private RpcCallback callback;<a name="line.319"></a>
-<span class="sourceLineNo">320</span><a name="line.320"></a>
-<span class="sourceLineNo">321</span>    private long responseCellSize = 0;<a name="line.321"></a>
-<span class="sourceLineNo">322</span>    private long responseBlockSize = 0;<a name="line.322"></a>
-<span class="sourceLineNo">323</span>    private boolean retryImmediatelySupported;<a name="line.323"></a>
-<span class="sourceLineNo">324</span><a name="line.324"></a>
-<span class="sourceLineNo">325</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.325"></a>
-<span class="sourceLineNo">326</span>        justification="Can't figure why this complaint is happening... see below")<a name="line.326"></a>
-<span class="sourceLineNo">327</span>    Call(int id, final BlockingService service, final MethodDescriptor md, RequestHeader header,<a name="line.327"></a>
-<span class="sourceLineNo">328</span>         Message param, CellScanner cellScanner, Connection connection, Responder responder,<a name="line.328"></a>
-<span class="sourceLineNo">329</span>         long size, TraceInfo tinfo, final InetAddress remoteAddress) {<a name="line.329"></a>
-<span class="sourceLineNo">330</span>      this.id = id;<a name="line.330"></a>
-<span class="sourceLineNo">331</span>      this.service = service;<a name="line.331"></a>
-<span class="sourceLineNo">332</span>      this.md = md;<a name="line.332"></a>
-<span class="sourceLineNo">333</span>      this.header = header;<a name="line.333"></a>
-<span class="sourceLineNo">334</span>      this.param = param;<a name="line.334"></a>
-<span class="sourceLineNo">335</span>      this.cellScanner = cellScanner;<a name="line.335"></a>
-<span class="sourceLineNo">336</span>      this.connection = connection;<a name="line.336"></a>
-<span class="sourceLineNo">337</span>      this.timestamp = System.currentTimeMillis();<a name="line.337"></a>
-<span class="sourceLineNo">338</span>      this.response = null;<a name="line.338"></a>
-<span class="sourceLineNo">339</span>      this.delayResponse = false;<a name="line.339"></a>
-<span class="sourceLineNo">340</span>      this.responder = responder;<a name="line.340"></a>
-<span class="sourceLineNo">341</span>      this.isError = false;<a name="line.341"></a>
-<span class="sourceLineNo">342</span>      this.size = size;<a name="line.342"></a>
-<span class="sourceLineNo">343</span>      this.tinfo = tinfo;<a name="line.343"></a>
-<span class="sourceLineNo">344</span>      this.user = connection == null? null: connection.user; // FindBugs: NP_NULL_ON_SOME_PATH<a name="line.344"></a>
-<span class="sourceLineNo">345</span>      this.remoteAddress = remoteAddress;<a name="line.345"></a>
-<span class="sourceLineNo">346</span>      this.retryImmediatelySupported =<a name="line.346"></a>
-<span class="sourceLineNo">347</span>          connection == null? null: connection.retryImmediatelySupported;<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>     * Call is done. Execution happened and we returned results to client. It is now safe to<a name="line.351"></a>
-<span class="sourceLineNo">352</span>     * cleanup.<a name="line.352"></a>
-<span class="sourceLineNo">353</span>     */<a name="line.353"></a>
-<span class="sourceLineNo">354</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IS2_INCONSISTENT_SYNC",<a name="line.354"></a>
-<span class="sourceLineNo">355</span>        justification="Presume the lock on processing request held by caller is protection enough")<a name="line.355"></a>
-<span class="sourceLineNo">356</span>    void done() {<a name="line.356"></a>
-<span class="sourceLineNo">357</span>      if (this.cellBlock != null &amp;&amp; reservoir != null) {<a name="line.357"></a>
-<span class="sourceLineNo">358</span>        // Return buffer to reservoir now we are done with it.<a name="line.358"></a>
-<span class="sourceLineNo">359</span>        reservoir.putBuffer(this.cellBlock);<a name="line.359"></a>
-<span class="sourceLineNo">360</span>        this.cellBlock = null;<a name="line.360"></a>
-<span class="sourceLineNo">361</span>      }<a name="line.361"></a>
-<span class="sourceLineNo">362</span>      this.connection.decRpcCount();  // Say that we're done with this call.<a name="line.362"></a>
-<span class="sourceLineNo">363</span>    }<a name="line.363"></a>
-<span class="sourceLineNo">364</span><a name="line.364"></a>
-<span class="sourceLineNo">365</span>    @Override<a name="line.365"></a>
-<span class="sourceLineNo">366</span>    public String toString() {<a name="line.366"></a>
-<span class="sourceLineNo">367</span>      return toShortString() + " param: " +<a name="line.367"></a>
-<span class="sourceLineNo">368</span>        (this.param != null? ProtobufUtil.getShortTextFormat(this.param): "") +<a name="line.368"></a>
-<span class="sourceLineNo">369</span>        " connection: " + connection.toString();<a name="line.369"></a>
-<span class="sourceLineNo">370</span>    }<a name="line.370"></a>
-<span class="sourceLineNo">371</span><a name="line.371"></a>
-<span class="sourceLineNo">372</span>    protected RequestHeader getHeader() {<a name="line.372"></a>
-<span class="sourceLineNo">373</span>      return this.header;<a name="line.373"></a>
-<span class="sourceLineNo">374</span>    }<a name="line.374"></a>
-<span class="sourceLineNo">375</span><a name="line.375"></a>
-<span class="sourceLineNo">376</span>    /*<a name="line.376"></a>
-<span class="sourceLineNo">377</span>     * Short string representation without param info because param itself could be huge depends on<a name="line.377"></a>
-<span class="sourceLineNo">378</span>     * the payload of a command<a name="line.378"></a>
-<span class="sourceLineNo">379</span>     */<a name="line.379"></a>
-<span class="sourceLineNo">380</span>    String toShortString() {<a name="line.380"></a>
-<span class="sourceLineNo">381</span>      String serviceName = this.connection.service != null ?<a name="line.381"></a>
-<span class="sourceLineNo">382</span>          this.connection.service.getDescriptorForType().getName() : "null";<a name="line.382"></a>
-<span class="sourceLineNo">383</span>      return "callId: " + this.id + " service: " + serviceName +<a name="line.383"></a>
-<span class="sourceLineNo">384</span>          " methodName: " + ((this.md != null) ? this.md.getName() : "n/a") +<a name="line.384"></a>
-<span class="sourceLineNo">385</span>          " size: " + StringUtils.TraditionalBinaryPrefix.long2String(this.size, "", 1) +<a name="line.385"></a>
-<span class="sourceLineNo">386</span>          " connection: " + connection.toString();<a name="line.386"></a>
-<span class="sourceLineNo">387</span>    }<a name="line.387"></a>
-<span class="sourceLineNo">388</span><a name="line.388"></a>
-<span class="sourceLineNo">389</span>    String toTraceString() {<a name="line.389"></a>
-<span class="sourceLineNo">390</span>      String serviceName = this.connection.service != null ?<a name="line.390"></a>
-<span class="sourceLineNo">391</span>                           this.connection.service.getDescriptorForType().getName() : "";<a name="line.391"></a>
-<span class="sourceLineNo">392</span>      String methodName = (this.md != null) ? this.md.getName() : "";<a name="line.392"></a>
-<span class="sourceLineNo">393</span>      return serviceName + "." + methodName;<a name="line.393"></a>
-<span class="sourceLineNo">394</span>    }<a name="line.394"></a>
-<span class="sourceLineNo">395</span><a name="line.395"></a>
-<span class="sourceLineNo">396</span>    protected synchronized void setSaslTokenResponse(ByteBuffer response) {<a name="line.396"></a>
-<span class="sourceLineNo">397</span>      this.response = new BufferChain(response);<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>    protected synchronized void setResponse(Object m, final CellScanner cells,<a name="line.400"></a>
-<span class="sourceLineNo">401</span>        Throwable t, String errorMsg) {<a name="line.401"></a>
-<span class="sourceLineNo">402</span>      if (this.isError) return;<a name="line.402"></a>
-<span class="sourceLineNo">403</span>      if (t != null) this.isError = true;<a name="line.403"></a>
-<span class="sourceLineNo">404</span>      BufferChain bc = null;<a name="line.404"></a>
-<span class="sourceLineNo">405</span>      try {<a name="line.405"></a>
-<span class="sourceLineNo">406</span>        ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();<a name="line.406"></a>
-<span class="sourceLineNo">407</span>        // Presume it a pb Message.  Could be null.<a name="line.407"></a>
-<span class="sourceLineNo">408</span>        Message result = (Message)m;<a name="line.408"></a>
-<span class="sourceLineNo">409</span>        // Call id.<a name="line.409"></a>
-<span class="sourceLineNo">410</span>        headerBuilder.setCallId(this.id);<a name="line.410"></a>
-<span class="sourceLineNo">411</span>        if (t != null) {<a name="line.411"></a>
-<span class="sourceLineNo">412</span>          ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();<a name="line.412"></a>
-<span class="sourceLineNo">413</span>          exceptionBuilder.setExceptionClassName(t.getClass().getName());<a name="line.413"></a>
-<span class="sourceLineNo">414</span>          exceptionBuilder.setStackTrace(errorMsg);<a name="line.414"></a>
-<span class="sourceLineNo">415</span>          exceptionBuilder.setDoNotRetry(t instanceof DoNotRetryIOException);<a name="line.415"></a>
-<span class="sourceLineNo">416</span>          if (t instanceof RegionMovedException) {<a name="line.416"></a>
-<span class="sourceLineNo">417</span>            // Special casing for this exception.  This is only one carrying a payload.<a name="line.417"></a>
-<span class="sourceLineNo">418</span>            // Do this instead of build a generic system for allowing exceptions carry<a name="line.418"></a>
-<span class="sourceLineNo">419</span>            // any kind of payload.<a name="line.419"></a>
-<span class="sourceLineNo">420</span>            RegionMovedException rme = (RegionMovedException)t;<a name="line.420"></a>
-<span class="sourceLineNo">421</span>            exceptionBuilder.setHostname(rme.getHostname());<a name="line.421"></a>
-<span class="sourceLineNo">422</span>            exceptionBuilder.setPort(rme.getPort());<a name="line.422"></a>
-<span class="sourceLineNo">423</span>          }<a name="line.423"></a>
-<span class="sourceLineNo">424</span>          // Set the exception as the result of the method invocation.<a name="line.424"></a>
-<span class="sourceLineNo">425</span>          headerBuilder.setException(exceptionBuilder.build());<a name="line.425"></a>
-<span class="sourceLineNo">426</span>        }<a name="line.426"></a>
-<span class="sourceLineNo">427</span>        // Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the<a name="line.427"></a>
-<span class="sourceLineNo">428</span>        // reservoir when finished. This is hacky and the hack is not contained but benefits are<a name="line.428"></a>
-<span class="sourceLineNo">429</span>        // high when we can avoid a big buffer allocation on each rpc.<a name="line.429"></a>
-<span class="sourceLineNo">430</span>        this.cellBlock = ipcUtil.buildCellBlock(this.connection.codec,<a name="line.430"></a>
-<span class="sourceLineNo">431</span>          this.connection.compressionCodec, cells, reservoir);<a name="line.431"></a>
-<span class="sourceLineNo">432</span>        if (this.cellBlock != null) {<a name="line.432"></a>
-<span class="sourceLineNo">433</span>          CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();<a name="line.433"></a>
-<span class="sourceLineNo">434</span>          // Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.<a name="line.434"></a>
-<span class="sourceLineNo">435</span>          cellBlockBuilder.setLength(this.cellBlock.limit());<a name="line.435"></a>
-<span class="sourceLineNo">436</span>          headerBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.436"></a>
-<span class="sourceLineNo">437</span>        }<a name="line.437"></a>
-<span class="sourceLineNo">438</span>        Message header = headerBuilder.build();<a name="line.438"></a>
-<span class="sourceLineNo">439</span><a name="line.439"></a>
-<span class="sourceLineNo">440</span>        // Organize the response as a set of bytebuffers rather than collect it all together inside<a name="line.440"></a>
-<span class="sourceLineNo">441</span>        // one big byte array; save on allocations.<a name="line.441"></a>
-<span class="sourceLineNo">442</span>        ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);<a name="line.442"></a>
-<span class="sourceLineNo">443</span>        ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);<a name="line.443"></a>
-<span class="sourceLineNo">444</span>        int totalSize = bbHeader.capacity() + (bbResult == null? 0: bbResult.limit()) +<a name="line.444"></a>
-<span class="sourceLineNo">445</span>          (this.cellBlock == null? 0: this.cellBlock.limit());<a name="line.445"></a>
-<span class="sourceLineNo">446</span>        ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));<a name="line.446"></a>
-<span class="sourceLineNo">447</span>        bc = new BufferChain(bbTotalSize, bbHeader, bbResult, this.cellBlock);<a name="line.447"></a>
-<span class="sourceLineNo">448</span>        if (connection.useWrap) {<a name="line.448"></a>
-<span class="sourceLineNo">449</span>          bc = wrapWithSasl(bc);<a name="line.449"></a>
-<span class="sourceLineNo">450</span>        }<a name="line.450"></a>
-<span class="sourceLineNo">451</span>      } catch (IOException e) {<a name="line.451"></a>
-<span class="sourceLineNo">452</span>        LOG.warn("Exception while creating response " + e);<a name="line.452"></a>
-<span class="sourceLineNo">453</span>      }<a name="line.453"></a>
-<span class="sourceLineNo">454</span>      this.response = bc;<a name="line.454"></a>
-<span class="sourceLineNo">455</span>      // Once a response message is created and set to this.response, this Call can be treated as<a name="line.455"></a>
-<span class="sourceLineNo">456</span>      // done. The Responder thread will do the n/w write of this message back to client.<a name="line.456"></a>
-<span class="sourceLineNo">457</span>      if (this.callback != null) {<a name="line.457"></a>
-<span class="sourceLineNo">458</span>        try {<a name="line.458"></a>
-<span class="sourceLineNo">459</span>          this.callback.run();<a name="line.459"></a>
-<span class="sourceLineNo">460</span>        } catch (Exception e) {<a name="line.460"></a>
-<span class="sourceLineNo">461</span>          // Don't allow any exception here to kill this handler thread.<a name="line.461"></a>
-<span class="sourceLineNo">462</span>          LOG.warn("Exception while running the Rpc Callback.", e);<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>    }<a name="line.465"></a>
-<span class="sourceLineNo">466</span><a name="line.466"></a>
-<span class="sourceLineNo">467</span>    private BufferChain wrapWithSasl(BufferChain bc)<a name="line.467"></a>
-<span class="sourceLineNo">468</span>        throws IOException {<a name="line.468"></a>
-<span class="sourceLineNo">469</span>      if (!this.connection.useSasl) return bc;<a name="line.469"></a>
-<span class="sourceLineNo">470</span>      // Looks like no way around this; saslserver wants a byte array.  I have to make it one.<a name="line.470"></a>
-<span class="sourceLineNo">471</span>      // THIS IS A BIG UGLY COPY.<a name="line.471"></a>
-<span class="sourceLineNo">472</span>      byte [] responseBytes = bc.getBytes();<a name="line.472"></a>
-<span class="sourceLineNo">473</span>      byte [] token;<a name="line.473"></a>
-<span class="sourceLineNo">474</span>      // synchronization may be needed since there can be multiple Handler<a name="line.474"></a>
-<span class="sourceLineNo">475</span>      // threads using saslServer to wrap responses.<a name="line.475"></a>
-<span class="sourceLineNo">476</span>      synchronized (connection.saslServer) {<a name="line.476"></a>
-<span class="sourceLineNo">477</span>        token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);<a name="line.477"></a>
-<span class="sourceLineNo">478</span>      }<a name="line.478"></a>
-<span class="sourceLineNo">479</span>      if (LOG.isTraceEnabled()) {<a name="line.479"></a>
-<span class="sourceLineNo">480</span>        LOG.trace("Adding saslServer wrapped token of size " + token.length<a name="line.480"></a>
-<span class="sourceLineNo">481</span>            + " as call response.");<a name="line.481"></a>
-<span class="sourceLineNo">482</span>      }<a name="line.482"></a>
+<span class="sourceLineNo">276</span>  private UserProvider userProvider;<a name="line.276"></a>
+<span class="sourceLineNo">277</span><a name="line.277"></a>
+<span class="sourceLineNo">278</span>  private final BoundedByteBufferPool reservoir;<a name="line.278"></a>
+<span class="sourceLineNo">279</span><a name="line.279"></a>
+<span class="sourceLineNo">280</span>  private volatile boolean allowFallbackToSimpleAuth;<a name="line.280"></a>
+<span class="sourceLineNo">281</span><a name="line.281"></a>
+<span class="sourceLineNo">282</span>  /**<a name="line.282"></a>
+<span class="sourceLineNo">283</span>   * Datastructure that holds all necessary to a method invocation and then afterward, carries<a name="line.283"></a>
+<span class="sourceLineNo">284</span>   * the result.<a name="line.284"></a>
+<span class="sourceLineNo">285</span>   */<a name="line.285"></a>
+<span class="sourceLineNo">286</span>  class Call implements RpcCallContext {<a name="line.286"></a>
+<span class="sourceLineNo">287</span>    protected int id;                             // the client's call id<a name="line.287"></a>
+<span class="sourceLineNo">288</span>    protected BlockingService service;<a name="line.288"></a>
+<span class="sourceLineNo">289</span>    protected MethodDescriptor md;<a name="line.289"></a>
+<span class="sourceLineNo">290</span>    protected RequestHeader header;<a name="line.290"></a>
+<span class="sourceLineNo">291</span>    protected Message param;                      // the parameter passed<a name="line.291"></a>
+<span class="sourceLineNo">292</span>    // Optional cell data passed outside of protobufs.<a name="line.292"></a>
+<span class="sourceLineNo">293</span>    protected CellScanner cellScanner;<a name="line.293"></a>
+<span class="sourceLineNo">294</span>    protected Connection connection;              // connection to client<a name="line.294"></a>
+<span class="sourceLineNo">295</span>    protected long timestamp;      // the time received when response is null<a name="line.295"></a>
+<span class="sourceLineNo">296</span>                                   // the time served when response is not null<a name="line.296"></a>
+<span class="sourceLineNo">297</span>    /**<a name="line.297"></a>
+<span class="sourceLineNo">298</span>     * Chain of buffers to send as response.<a name="line.298"></a>
+<span class="sourceLineNo">299</span>     */<a name="line.299"></a>
+<span class="sourceLineNo">300</span>    protected BufferChain response;<a name="line.300"></a>
+<span class="sourceLineNo">301</span>    protected Responder responder;<a name="line.301"></a>
+<span class="sourceLineNo">302</span><a name="line.302"></a>
+<span class="sourceLineNo">303</span>    protected long size;                          // size of current call<a name="line.303"></a>
+<span class="sourceLineNo">304</span>    protected boolean isError;<a name="line.304"></a>
+<span class="sourceLineNo">305</span>    protected TraceInfo tinfo;<a name="line.305"></a>
+<span class="sourceLineNo">306</span>    private ByteBuffer cellBlock = null;<a name="line.306"></a>
+<span class="sourceLineNo">307</span><a name="line.307"></a>
+<span class="sourceLineNo">308</span>    private User user;<a name="line.308"></a>
+<span class="sourceLineNo">309</span>    private InetAddress remoteAddress;<a name="line.309"></a>
+<span class="sourceLineNo">310</span>    private RpcCallback callback;<a name="line.310"></a>
+<span class="sourceLineNo">311</span><a name="line.311"></a>
+<span class="sourceLineNo">312</span>    private long responseCellSize = 0;<a name="line.312"></a>
+<span class="sourceLineNo">313</span>    private long responseBlockSize = 0;<a name="line.313"></a>
+<span class="sourceLineNo">314</span>    private boolean retryImmediatelySupported;<a name="line.314"></a>
+<span class="sourceLineNo">315</span><a name="line.315"></a>
+<span class="sourceLineNo">316</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="NP_NULL_ON_SOME_PATH",<a name="line.316"></a>
+<span class="sourceLineNo">317</span>        justification="Can't figure why this complaint is happening... see below")<a name="line.317"></a>
+<span class="sourceLineNo">318</span>    Call(int id, final BlockingService service, final MethodDescriptor md, RequestHeader header,<a name="line.318"></a>
+<span class="sourceLineNo">319</span>         Message param, CellScanner cellScanner, Connection connection, Responder responder,<a name="line.319"></a>
+<span class="sourceLineNo">320</span>         long size, TraceInfo tinfo, final InetAddress remoteAddress) {<a name="line.320"></a>
+<span class="sourceLineNo">321</span>      this.id = id;<a name="line.321"></a>
+<span class="sourceLineNo">322</span>      this.service = service;<a name="line.322"></a>
+<span class="sourceLineNo">323</span>      this.md = md;<a name="line.323"></a>
+<span class="sourceLineNo">324</span>      this.header = header;<a name="line.324"></a>
+<span class="sourceLineNo">325</span>      this.param = param;<a name="line.325"></a>
+<span class="sourceLineNo">326</span>      this.cellScanner = cellScanner;<a name="line.326"></a>
+<span class="sourceLineNo">327</span>      this.connection = connection;<a name="line.327"></a>
+<span class="sourceLineNo">328</span>      this.timestamp = System.currentTimeMillis();<a name="line.328"></a>
+<span class="sourceLineNo">329</span>      this.response = null;<a name="line.329"></a>
+<span class="sourceLineNo">330</span>      this.responder = responder;<a name="line.330"></a>
+<span class="sourceLineNo">331</span>      this.isError = false;<a name="line.331"></a>
+<span class="sourceLineNo">332</span>      this.size = size;<a name="line.332"></a>
+<span class="sourceLineNo">333</span>      this.tinfo = tinfo;<a name="line.333"></a>
+<span class="sourceLineNo">334</span>      this.user = connection == null? null: connection.user; // FindBugs: NP_NULL_ON_SOME_PATH<a name="line.334"></a>
+<span class="sourceLineNo">335</span>      this.remoteAddress = remoteAddress;<a name="line.335"></a>
+<span class="sourceLineNo">336</span>      this.retryImmediatelySupported =<a name="line.336"></a>
+<span class="sourceLineNo">337</span>          connection == null? null: connection.retryImmediatelySupported;<a name="line.337"></a>
+<span class="sourceLineNo">338</span>    }<a name="line.338"></a>
+<span class="sourceLineNo">339</span><a name="line.339"></a>
+<span class="sourceLineNo">340</span>    /**<a name="line.340"></a>
+<span class="sourceLineNo">341</span>     * Call is done. Execution happened and we returned results to client. It is now safe to<a name="line.341"></a>
+<span class="sourceLineNo">342</span>     * cleanup.<a name="line.342"></a>
+<span class="sourceLineNo">343</span>     */<a name="line.343"></a>
+<span class="sourceLineNo">344</span>    @edu.umd.cs.findbugs.annotations.SuppressWarnings(value="IS2_INCONSISTENT_SYNC",<a name="line.344"></a>
+<span class="sourceLineNo">345</span>        justification="Presume the lock on processing request held by caller is protection enough")<a name="line.345"></a>
+<span class="sourceLineNo">346</span>    void done() {<a name="line.346"></a>
+<span class="sourceLineNo">347</span>      if (this.cellBlock != null &amp;&amp; reservoir != null) {<a name="line.347"></a>
+<span class="sourceLineNo">348</span>        // Return buffer to reservoir now we are done with it.<a name="line.348"></a>
+<span class="sourceLineNo">349</span>        reservoir.putBuffer(this.cellBlock);<a name="line.349"></a>
+<span class="sourceLineNo">350</span>        this.cellBlock = null;<a name="line.350"></a>
+<span class="sourceLineNo">351</span>      }<a name="line.351"></a>
+<span class="sourceLineNo">352</span>      this.connection.decRpcCount();  // Say that we're done with this call.<a name="line.352"></a>
+<span class="sourceLineNo">353</span>    }<a name="line.353"></a>
+<span class="sourceLineNo">354</span><a name="line.354"></a>
+<span class="sourceLineNo">355</span>    @Override<a name="line.355"></a>
+<span class="sourceLineNo">356</span>    public String toString() {<a name="line.356"></a>
+<span class="sourceLineNo">357</span>      return toShortString() + " param: " +<a name="line.357"></a>
+<span class="sourceLineNo">358</span>        (this.param != null? ProtobufUtil.getShortTextFormat(this.param): "") +<a name="line.358"></a>
+<span class="sourceLineNo">359</span>        " connection: " + connection.toString();<a name="line.359"></a>
+<span class="sourceLineNo">360</span>    }<a name="line.360"></a>
+<span class="sourceLineNo">361</span><a name="line.361"></a>
+<span class="sourceLineNo">362</span>    protected RequestHeader getHeader() {<a name="line.362"></a>
+<span class="sourceLineNo">363</span>      return this.header;<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>     * Short string representation without param info because param itself could be huge depends on<a name="line.367"></a>
+<span class="sourceLineNo">368</span>     * the payload of a command<a name="line.368"></a>
+<span class="sourceLineNo">369</span>     */<a name="line.369"></a>
+<span class="sourceLineNo">370</span>    String toShortString() {<a name="line.370"></a>
+<span class="sourceLineNo">371</span>      String serviceName = this.connection.service != null ?<a name="line.371"></a>
+<span class="sourceLineNo">372</span>          this.connection.service.getDescriptorForType().getName() : "null";<a name="line.372"></a>
+<span class="sourceLineNo">373</span>      return "callId: " + this.id + " service: " + serviceName +<a name="line.373"></a>
+<span class="sourceLineNo">374</span>          " methodName: " + ((this.md != null) ? this.md.getName() : "n/a") +<a name="line.374"></a>
+<span class="sourceLineNo">375</span>          " size: " + StringUtils.TraditionalBinaryPrefix.long2String(this.size, "", 1) +<a name="line.375"></a>
+<span class="sourceLineNo">376</span>          " connection: " + connection.toString();<a name="line.376"></a>
+<span class="sourceLineNo">377</span>    }<a name="line.377"></a>
+<span class="sourceLineNo">378</span><a name="line.378"></a>
+<span class="sourceLineNo">379</span>    String toTraceString() {<a name="line.379"></a>
+<span class="sourceLineNo">380</span>      String serviceName = this.connection.service != null ?<a name="line.380"></a>
+<span class="sourceLineNo">381</span>                           this.connection.service.getDescriptorForType().getName() : "";<a name="line.381"></a>
+<span class="sourceLineNo">382</span>      String methodName = (this.md != null) ? this.md.getName() : "";<a name="line.382"></a>
+<span class="sourceLineNo">383</span>      return serviceName + "." + methodName;<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>    protected synchronized void setSaslTokenResponse(ByteBuffer response) {<a name="line.386"></a>
+<span class="sourceLineNo">387</span>      this.response = new BufferChain(response);<a name="line.387"></a>
+<span class="sourceLineNo">388</span>    }<a name="line.388"></a>
+<span class="sourceLineNo">389</span><a name="line.389"></a>
+<span class="sourceLineNo">390</span>    protected synchronized void setResponse(Object m, final CellScanner cells,<a name="line.390"></a>
+<span class="sourceLineNo">391</span>        Throwable t, String errorMsg) {<a name="line.391"></a>
+<span class="sourceLineNo">392</span>      if (this.isError) return;<a name="line.392"></a>
+<span class="sourceLineNo">393</span>      if (t != null) this.isError = true;<a name="line.393"></a>
+<span class="sourceLineNo">394</span>      BufferChain bc = null;<a name="line.394"></a>
+<span class="sourceLineNo">395</span>      try {<a name="line.395"></a>
+<span class="sourceLineNo">396</span>        ResponseHeader.Builder headerBuilder = ResponseHeader.newBuilder();<a name="line.396"></a>
+<span class="sourceLineNo">397</span>        // Presume it a pb Message.  Could be null.<a name="line.397"></a>
+<span class="sourceLineNo">398</span>        Message result = (Message)m;<a name="line.398"></a>
+<span class="sourceLineNo">399</span>        // Call id.<a name="line.399"></a>
+<span class="sourceLineNo">400</span>        headerBuilder.setCallId(this.id);<a name="line.400"></a>
+<span class="sourceLineNo">401</span>        if (t != null) {<a name="line.401"></a>
+<span class="sourceLineNo">402</span>          ExceptionResponse.Builder exceptionBuilder = ExceptionResponse.newBuilder();<a name="line.402"></a>
+<span class="sourceLineNo">403</span>          exceptionBuilder.setExceptionClassName(t.getClass().getName());<a name="line.403"></a>
+<span class="sourceLineNo">404</span>          exceptionBuilder.setStackTrace(errorMsg);<a name="line.404"></a>
+<span class="sourceLineNo">405</span>          exceptionBuilder.setDoNotRetry(t instanceof DoNotRetryIOException);<a name="line.405"></a>
+<span class="sourceLineNo">406</span>          if (t instanceof RegionMovedException) {<a name="line.406"></a>
+<span class="sourceLineNo">407</span>            // Special casing for this exception.  This is only one carrying a payload.<a name="line.407"></a>
+<span class="sourceLineNo">408</span>            // Do this instead of build a generic system for allowing exceptions carry<a name="line.408"></a>
+<span class="sourceLineNo">409</span>            // any kind of payload.<a name="line.409"></a>
+<span class="sourceLineNo">410</span>            RegionMovedException rme = (RegionMovedException)t;<a name="line.410"></a>
+<span class="sourceLineNo">411</span>            exceptionBuilder.setHostname(rme.getHostname());<a name="line.411"></a>
+<span class="sourceLineNo">412</span>            exceptionBuilder.setPort(rme.getPort());<a name="line.412"></a>
+<span class="sourceLineNo">413</span>          }<a name="line.413"></a>
+<span class="sourceLineNo">414</span>          // Set the exception as the result of the method invocation.<a name="line.414"></a>
+<span class="sourceLineNo">415</span>          headerBuilder.setException(exceptionBuilder.build());<a name="line.415"></a>
+<span class="sourceLineNo">416</span>        }<a name="line.416"></a>
+<span class="sourceLineNo">417</span>        // Pass reservoir to buildCellBlock. Keep reference to returne so can add it back to the<a name="line.417"></a>
+<span class="sourceLineNo">418</span>        // reservoir when finished. This is hacky and the hack is not contained but benefits are<a name="line.418"></a>
+<span class="sourceLineNo">419</span>        // high when we can avoid a big buffer allocation on each rpc.<a name="line.419"></a>
+<span class="sourceLineNo">420</span>        this.cellBlock = ipcUtil.buildCellBlock(this.connection.codec,<a name="line.420"></a>
+<span class="sourceLineNo">421</span>          this.connection.compressionCodec, cells, reservoir);<a name="line.421"></a>
+<span class="sourceLineNo">422</span>        if (this.cellBlock != null) {<a name="line.422"></a>
+<span class="sourceLineNo">423</span>          CellBlockMeta.Builder cellBlockBuilder = CellBlockMeta.newBuilder();<a name="line.423"></a>
+<span class="sourceLineNo">424</span>          // Presumes the cellBlock bytebuffer has been flipped so limit has total size in it.<a name="line.424"></a>
+<span class="sourceLineNo">425</span>          cellBlockBuilder.setLength(this.cellBlock.limit());<a name="line.425"></a>
+<span class="sourceLineNo">426</span>          headerBuilder.setCellBlockMeta(cellBlockBuilder.build());<a name="line.426"></a>
+<span class="sourceLineNo">427</span>        }<a name="line.427"></a>
+<span class="sourceLineNo">428</span>        Message header = headerBuilder.build();<a name="line.428"></a>
+<span class="sourceLineNo">429</span><a name="line.429"></a>
+<span class="sourceLineNo">430</span>        // Organize the response as a set of bytebuffers rather than collect it all together inside<a name="line.430"></a>
+<span class="sourceLineNo">431</span>        // one big byte array; save on allocations.<a name="line.431"></a>
+<span class="sourceLineNo">432</span>        ByteBuffer bbHeader = IPCUtil.getDelimitedMessageAsByteBuffer(header);<a name="line.432"></a>
+<span class="sourceLineNo">433</span>        ByteBuffer bbResult = IPCUtil.getDelimitedMessageAsByteBuffer(result);<a name="line.433"></a>
+<span class="sourceLineNo">434</span>        int totalSize = bbHeader.capacity() + (bbResult == null? 0: bbResult.limit()) +<a name="line.434"></a>
+<span class="sourceLineNo">435</span>          (this.cellBlock == null? 0: this.cellBlock.limit());<a name="line.435"></a>
+<span class="sourceLineNo">436</span>        ByteBuffer bbTotalSize = ByteBuffer.wrap(Bytes.toBytes(totalSize));<a name="line.436"></a>
+<span class="sourceLineNo">437</span>        bc = new BufferChain(bbTotalSize, bbHeader, bbResult, this.cellBlock);<a name="line.437"></a>
+<span class="sourceLineNo">438</span>        if (connection.useWrap) {<a name="line.438"></a>
+<span class="sourceLineNo">439</span>          bc = wrapWithSasl(bc);<a name="line.439"></a>
+<span class="sourceLineNo">440</span>        }<a name="line.440"></a>
+<span class="sourceLineNo">441</span>      } catch (IOException e) {<a name="line.441"></a>
+<span class="sourceLineNo">442</span>        LOG.warn("Exception while creating response " + e);<a name="line.442"></a>
+<span class="sourceLineNo">443</span>      }<a name="line.443"></a>
+<span class="sourceLineNo">444</span>      this.response = bc;<a name="line.444"></a>
+<span class="sourceLineNo">445</span>      // Once a response message is created and set to this.response, this Call can be treated as<a name="line.445"></a>
+<span class="sourceLineNo">446</span>      // done. The Responder thread will do the n/w write of this message back to client.<a name="line.446"></a>
+<span class="sourceLineNo">447</span>      if (this.callback != null) {<a name="line.447"></a>
+<span class="sourceLineNo">448</span>        try {<a name="line.448"></a>
+<span class="sourceLineNo">449</span>          this.callback.run();<a name="line.449"></a>
+<span class="sourceLineNo">450</span>        } catch (Exception e) {<a name="line.450"></a>
+<span class="sourceLineNo">451</span>          // Don't allow any exception here to kill this handler thread.<a name="line.451"></a>
+<span class="sourceLineNo">452</span>          LOG.warn("Exception while running the Rpc Callback.", 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>    }<a name="line.455"></a>
+<span class="sourceLineNo">456</span><a name="line.456"></a>
+<span class="sourceLineNo">457</span>    private BufferChain wrapWithSasl(BufferChain bc)<a name="line.457"></a>
+<span class="sourceLineNo">458</span>        throws IOException {<a name="line.458"></a>
+<span class="sourceLineNo">459</span>      if (!this.connection.useSasl) return bc;<a name="line.459"></a>
+<span class="sourceLineNo">460</span>      // Looks like no way around this; saslserver wants a byte array.  I have to make it one.<a name="line.460"></a>
+<span class="sourceLineNo">461</span>      // THIS IS A BIG UGLY COPY.<a name="line.461"></a>
+<span class="sourceLineNo">462</span>      byte [] responseBytes = bc.getBytes();<a name="line.462"></a>
+<span class="sourceLineNo">463</span>      byte [] token;<a name="line.463"></a>
+<span class="sourceLineNo">464</span>      // synchronization may be needed since there can be multiple Handler<a name="line.464"></a>
+<span class="sourceLineNo">465</span>      // threads using saslServer to wrap responses.<a name="line.465"></a>
+<span class="sourceLineNo">466</span>      synchronized (connection.saslServer) {<a name="line.466"></a>
+<span class="sourceLineNo">467</span>        token = connection.saslServer.wrap(responseBytes, 0, responseBytes.length);<a name="line.467"></a>
+<span class="sourceLineNo">468</span>      }<a name="line.468"></a>
+<span class="sourceLineNo">469</span>      if (LOG.isTraceEnabled()) {<a name="line.469"></a>
+<span class="sourceLineNo">470</span>        LOG.trace("Adding saslServer wrapped token of size " + token.length<a name="line.470"></a>
+<span class="sourceLineNo">471</span>            + " as call response.");<a name="line.471"></a>
+<span class="sourceLineNo">472</span>      }<a name="line.472"></a>
+<span class="sourceLineNo">473</span><a name="line.473"></a>
+<span class="sourceLineNo">474</span>      ByteBuffer bbTokenLength = ByteBuffer.wrap(Bytes.toBytes(token.length));<a name="line.474"></a>
+<span class="sourceLineNo">475</span>      ByteBuffer bbTokenBytes = ByteBuffer.wrap(token);<a name="line.475"></a>
+<span class="sourceLineNo">476</span>      return new BufferChain(bbTokenLength, bbTokenBytes);<a name="line.476"></a>
+<span class="sourceLineNo">477</span>    }<a name="line.477"></a>
+<span class="sourceLineNo">478</span><a name="line.478"></a>
+<span class="sourceLineNo">479</span>    @Override<a name="line.479"></a>
+<span class="sourceLineNo">480</span>    public boolean isClientCellBlockSupported() {<a name="line.480"></a>
+<span class="sourceLineNo">481</span>      return this.connection != null &amp;&amp; this.connection.codec != null;<a name="line.481"></a>
+<span class="sourceLineNo">482</span>    }<a name="line.482"></a>
 <span class="sourceLineNo">483</span><a name="line.483"></a>
-<span class="sourceLineNo">484</span>      ByteBuffer bbTokenLength = ByteBuffer.wrap(Bytes.toBytes(token.length));<a name="line.484"></a>
-<span class="sourceLineNo">485</span>      ByteBuffer bbTokenBytes = ByteBuffer.wrap(token);<a name="line.485"></a>
-<span class="sourceLineNo">486</span>      return new BufferChain(bbTokenLength, bbTokenBytes);<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>    @Override<a name="line.489"></a>
-<span class="sourceLineNo">490</span>    public synchronized void endDelay(Object result) throws IOException {<a name="line.490"></a>
-<span class="sourceLineNo">491</span>      assert this.delayResponse;<a name="line.491"></a>
-<span class="sourceLineNo">492</span>      assert this.delayReturnValue || result == null;<a name="line.492"></a>
-<span class="sourceLineNo">493</span>      this.delayResponse = false;<a name="line.493"></a>
-<span class="sourceLineNo">494</span>      delayedCalls.decrementAndGet();<a name="line.494"></a>
-<span class="sourceLineNo">495</span>      if (this.delayReturnValue) {<a name="line.495"></a>
-<span class="sourceLineNo">496</span>        this.setResponse(result, null, null, null);<a name="line.496"></a>
-<span class="sourceLineNo">497</span>      }<a name="line.497"></a>
-<span class="sourceLineNo">498</span>      this.responder.doRespond(this);<a name="line.498"></a>
+<span class="sourceLineNo">484</span>    @Override<a name="line.484"></a>
+<span class="sourceLineNo">485</span>    public long disconnectSince() {<a name="line.485"></a>
+<span class="sourceLineNo">486</span>      if (!connection.channel.isOpen()) {<a name="line.486"></a>
+<span class="sourceLineNo">487</span>        return System.currentTimeMillis() - timestamp;<a name="line.487"></a>
+<span class="sourceLineNo">488</span>      } else {<a name="line.488"></a>
+<span class="sourceLineNo">489</span>        return -1L;<a name="line.489"></a>
+<span class="sourceLineNo">490</span>      }<a name="line.490"></a>
+<span class="sourceLineNo">491</span>    }<a name="line.491"></a>
+<span class="sourceLineNo">492</span><a name="line.492"></a>
+<span class="sourceLineNo">493</span>    public long getSize() {<a name="line.493"></a>
+<span class="sourceLineNo">494</span>      return this.size;<a name="line.494"></a>
+<span class="sourceLineNo">495</span>    }<a name="line.495"></a>
+<span class="sourceLineNo">496</span><a name="line.496"></a>
+<span class="sourceLineNo">497</span>    public long getResponseCellSize() {<a name="line.497"></a>
+<span class="sourceLineNo">498</span>      return responseCellSize;<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>    @Override<a name="line.501"></a>
-<span class="sourceLineNo">502</span>    public synchronized void endDelay() throws IOException {<a name="line.502"></a>
-<span class="sourceLineNo">503</span>      this.endDelay(null);<a name="line.503"></a>
-<span class="sourceLineNo">504</span>    }<a name="line.504"></a>
-<span class="sourceLineNo">505</span><a name="line.505"></a>
-<span class="sourceLineNo">506</span>    @Override<a name="line.506"></a>
-<span class="sourceLineNo">507</span>    public synchronized void startDelay(boolean delayReturnValue) {<a name="line.507"></a>
-<span class="sourceLineNo">508</span>      assert !this.delayResponse;<a name="line.508"></a>
-<span class="sourceLineNo">509</span>      this.delayResponse = true;<a name="line.509"></a>
-<span class="sourceLineNo">510</span>      this.delayReturnValue = delayReturnValue;<a name="line.510"></a>
-<span class="sourceLineNo">511</span>      int numDelayed = delayedCalls.incrementAndGet();<a name="line.511"></a>
-<span class="sourceLineNo">512</span>      if (numDelayed &gt; warnDelayedCalls) {<a name="line.512"></a>
-<span class="sourceLineNo">513</span>        LOG.warn("Too many delayed calls: limit " + warnDelayedCalls + " current " + numDelayed);<a name="line.513"></a>
-<span class="sourceLineNo">514</span>      }<a name="line.514"></a>
-<span class="sourceLineNo">515</span>    }<a name="line.515"></a>
-<span class="sourceLineNo">516</span><a name="line.516"></a>
-<span class="sourceLineNo">517</span>    @Override<a name="line.517"></a>
-<span class="sourceLineNo">518</span>    public synchronized void endDelayThrowing(Throwable t) throws IOException {<a name="line.518"></a>
-<span class="sourceLineNo">519</span>      this.setResponse(null, null, t, StringUtils.stringifyException(t));<a name="line.519"></a>
-<span class="sourceLineNo">520</span>      this.delayResponse = false;<a name="line.520"></a>
-<span class="sourceLineNo">521</span>      this.sendResponseIfReady();<a name="line.521"></a>
-<span class="sourceLineNo">522</span>    }<a name="line.522"></a>
-<span class="sourceLineNo">523</span><a name="line.523"></a>
-<span class="sourceLineNo">524</span>    @Override<a name="line.524"></a>
-<span class="sourceLineNo">525</span>    public synchronized boolean isDelayed() {<a name="line.525"></a>
-<span class="sourceLineNo">526</span>      return this.delayResponse;<a name="line.526"></a>
-<span class="sourceLineNo">527</span>    }<a name="line.527"></a>
-<span class="sourceLineNo">528</span><a name="line.528"></a>
-<span class="sourceLineNo">529</span>    @Override<a name="line.529"></a>
-<span class="sourceLineNo">530</span>    public synchronized boolean isReturnValueDelayed() {<a name="line.530"></a>
-<span class="sourceLineNo">531</span>      return this.delayReturnValue;<a name="line.531"></a>
+<span class="sourceLineNo">501</span>    public void incrementResponseCellSize(long cellSize) {<a name="line.501"></a>
+<span class="sourceLineNo">502</span>      responseCellSize += cellSize;<a name="line.502"></a>
+<span class="sourceLineNo">503</span>    }<a name="line.503"></a>
+<span class="sourceLineNo">504</span><a name="line.504"></a>
+<span class="sourceLineNo">505</span>    @Override<a name="line.505"></a>
+<span class="sourceLineNo">506</span>    public long getResponseBlockSize() {<a name="line.506"></a>
+<span class="sourceLineNo">507</span>      return responseBlockSize;<a name="line.507"></a>
+<span class="sourceLineNo">508</span>    }<a name="line.508"></a>
+<span class="sourceLineNo">509</span><a name="line.509"></a>
+<span class="sourceLineNo">510</span>    @Override<a name="line.510"></a>
+<span class="sourceLineNo">511</span>    public void incrementResponseBlockSize(long blockSize) {<a name="line.511"></a>
+<span class="sourceLineNo">512</span>      responseBlockSize += blockSize;<a name="line.512"></a>
+<span class="sourceLineNo">513</span>    }<a name="line.513"></a>
+<span class="sourceLineNo">514</span><a name="line.514"></a>
+<span class="sourceLineNo">515</span>    public synchronized void sendResponseIfReady() throws IOException {<a name="line.515"></a>
+<span class="sourceLineNo">516</span>      this.responder.doRespond(this);<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>    public UserGroupInformation getRemoteUser() {<a name="line.519"></a>
+<span class="sourceLineNo">520</span>      return connection.ugi;<a name="line.520"></a>
+<span class="sourceLineNo">521</span>    }<a name="line.521"></a>
+<span class="sourceLineNo">522</span><a name="line.522"></a>
+<span class="sourceLineNo">523</span>    @Override<a name="line.523"></a>
+<span class="sourceLineNo">524</span>    public User getRequestUser() {<a name="line.524"></a>
+<span class="sourceLineNo">525</span>      return user;<a name="line.525"></a>
+<span class="sourceLineNo">526</span>    }<a name="line.526"></a>
+<span class="sourceLineNo">527</span><a name="line.527"></a>
+<span class="sourceLineNo">528</span>    @Override<a name="line.528"></a>
+<span class="sourceLineNo">529</span>    public String getRequestUserName() {<a name="line.529"></a>
+<span class="sourceLineNo">530</span>      User user = getRequestUser();<a name="line.530"></a>
+<span class="sourceLineNo">531</span>      return user == null? null: user.getShortName();<a name="line.531"></a>
 <span class="sourceLineNo">532</span>    }<a name="line.532"></a>
 <span class="sourceLineNo">533</span><a name="line.533"></a>
 <span class="sourceLineNo">534</span>    @Override<a name="line.534"></a>
-<span class="sourceLineNo">535</span>    public boolean isClientCellBlockSupported() {<a name="line.535"></a>
-<span class="sourceLineNo">536</span>      return this.connection != null &amp;&amp; this.connection.codec != null;<a name="line.536"></a>
+<span class="sourceLineNo">535</span>    public InetAddress getRemoteAddress() {<a name="line.535"></a>
+<span class="sourceLineNo">536</span>      return remoteAddress;<a name="line.536"></a>
 <span class="sourceLineNo">537</span>    }<a name="line.537"></a>
 <span class="sourceLineNo">538</span><a name="line.538"></a>
 <span class="sourceLineNo">539</span>    @Override<a name="line.539"></a>
-<span class="sourceLineNo">540</span>    public long disconnectSince() {<a name="line.540"></a>
-<span class="sourceLineNo">541</span>      if (!connection.channel.isOpen()) {<a name="line.541"></a>
-<span class="sourceLineNo">542</span>        return System.currentTimeMillis() - timestamp;<a name="line.542"></a>
-<span class="sourceLineNo">543</span>      } else {<a name="line.543"></a>
-<span class="sourceLineNo">544</span>        return -1L;<a name="line.544"></a>
-<span class="sourceLineNo">545</span>      }<a name="line.545"></a>
-<span class="sourceLineNo">546</span>    }<a name="line.546"></a>
-<span class="sourceLineNo">547</span><a name="line.547"></a>
-<span class="sourceLineNo">548</span>    public long getSize() {<a name="line.548"></a>
-<span class="sourceLineNo">549</span>      return this.size;<a name="line.549"></a>
-<span class="sourceLineNo">550</span>    }<a name="line.550"></a>
-<span class="sourceLineNo">551</span><a name="line.551"></a>
-<span class="sourceLineNo">552</span>    public long getResponseCellSize() {<a name="line.552"></a>
-<span class="sourceLineNo">553</span>      return responseCellSize;<a name="line.553"></a>
-<span class="sourceLineNo">554</span>    }<a name="line.554"></a>
-<span class="sourceLineNo">555</span><a name="line.555"></a>
-<span class="sourceLineNo">556</span>    public void incrementResponseCellSize(long cellSize) {<a name="line.556"></a>
-<span class="sourceLineNo">557</span>      responseCellSize += cellSize;<a name="line.557"></a>
-<span class="sourceLineNo">558</span>    }<a name="line.558"></a>
-<span class="sourceLineNo">559</span><a name="line.559"></a>
-<span class="sourceLineNo">560</span>    @Override<a name="line.560"></a>
-<span class="sourceLineNo">561</span>    public long getResponseBlockSize() {<a name="line.561"></a>
-<span class="sourceLineNo">562</span>      return responseBlockSize;<a name="line.562"></a>
-<span class="sourceLineNo">563</span>    }<a name="line.563"></a>
-<span class="sourceLineNo">564</span><a name="line.564"></a>
-<span class="sourceLineNo">565</span>    @Override<a name="line.565"></a>
-<span class="sourceLineNo">566</span>    public void incrementResponseBlockSize(long blockSize) {<a name="line.566"></a>
-<span class="sourceLineNo">567</span>      responseBlockSize += blockSize;<a name="line.567"></a>
-<span class="sourceLineNo">568</span>    }<a name="line.568"></a>
-<span class="sourceLineNo">569</span><a name="line.569"></a>
-<span class="sourceLineNo">570</span>    /**<a name="line.570"></a>
-<span class="sourceLineNo">571</span>     * If we have a response, and delay is not set, then respond<a name="line.571"></a>
-<span class="sourceLineNo">572</span>     * immediately.  Otherwise, do not respond to client.  This is<a name="line.572"></a>
-<span class="sourceLineNo">573</span>     * called by the RPC code in the context of the Handler thread.<a name="line.573"></a>
-<span class="sourceLineNo">574</span>     */<a name="line.574"></a>
-<span class="sourceLineNo">575</span>    public synchronized void sendResponseIfReady() throws IOException {<a name="line.575"></a>
-<span class="sourceLineNo">576</span>      if (!this.delayResponse) {<a name="line.576"></a>
-<span class="sourceLineNo">577</span>        this.responder.doRespond(this);<a name="line.577"></a>
-<span class="sourceLineNo">578</span>      }<a name="line.578"></a>
-<span class="sourceLineNo">579</span>    }<a name="line.579"></a>
-<span class="sourceLineNo">580</span><a name="line.580"></a>
-<span class="sourceLineNo">581</span>    public UserGroupInformation getRemoteUser() {<a name="line.581"></a>
-<span class="sourceLineNo">582</span>      return connection.ugi;<a name="line.582"></a>
-<span class="sourceLineNo">583</span>    }<a name="line.583"></a>
+<span class="sourceLineNo">540</span>    public VersionInfo getClientVersionInfo() {<a name="line.540"></a>
+<span class="sourceLineNo">541</span>      return connection.getVersionInfo();<a name="line.541"></a>
+<span class="sourceLineNo">542</span>    }<a name="line.542"></a>
+<span class="sourceLineNo">543</span><a name="line.543"></a>
+<span class="sourceLineNo">544</span>    @Override<a name="line.544"></a>
+<span class="sourceLineNo">545</span>    public synchronized void setCallBack(RpcCallback callback) {<a name="line.545"></a>
+<span class="sourceLineNo">546</span>      this.callback = callback;<a name="line.546"></a>
+<span class="sourceLineNo">547</span>    }<a name="line.547"></a>
+<span class="sourceLineNo">548</span><a name="line.548"></a>
+<span class="sourceLineNo">549</span>    @Override<a name="line.549"></a>
+<span class="sourceLineNo">550</span>    public boolean isRetryImmediatelySupported() {<a name="line.550"></a>
+<span class="sourceLineNo">551</span>      return retryImmediatelySupported;<a name="line.551"></a>
+<span class="sourceLineNo">552</span>    }<a name="line.552"></a>
+<span class="sourceLineNo">553</span>  }<a name="line.553"></a>
+<span class="sourceLineNo">554</span><a name="line.554"></a>
+<span class="sourceLineNo">555</span>  /** Listens on the socket. Creates jobs for the handler threads*/<a name="line.555"></a>
+<span class="sourceLineNo">556</span>  private class Listener extends Thread {<a name="line.556"></a>
+<span class="sourceLineNo">557</span><a name="line.557"></a>
+<span class="sourceLineNo">558</span>    private ServerSocketChannel acceptChannel = null; //the accept channel<a name="line.558"></a>
+<span class="sourceLineNo">559</span>    private Selector selector = null; //the selector that we use for the server<a name="line.559"></a>
+<span class="sourceLineNo">560</span>    private Reader[] readers = null;<a name="line.560"></a>
+<span class="sourceLineNo">561</span>    private int currentReader = 0;<a name="line.561"></a>
+<span class="sourceLineNo">562</span>    private Random rand = new Random();<a name="line.562"></a>
+<span class="sourceLineNo">563</span>    private long lastCleanupRunTime = 0; //the last time when a cleanup connec-<a name="line.563"></a>
+<span class="sourceLineNo">564</span>                                         //-tion (for idle connections) ran<a name="line.564"></a>
+<span class="sourceLineNo">565</span>    private long cleanupInterval = 10000; //the minimum interval between<a name="line.565"></a>
+<span class="sourceLineNo">566</span>                                          //two cleanup runs<a name="line.566"></a>
+<span class="sourceLineNo">567</span>    private int backlogLength;<a name="line.567"></a>
+<span class="sourceLineNo">568</span><a name="line.568"></a>
+<span class="sourceLineNo">569</span>    private ExecutorService readPool;<a name="line.569"></a>
+<span class="sourceLineNo">570</span><a name="line.570"></a>
+<span class="sourceLineNo">571</span>    public Listener(final String name) throws IOException {<a name="line.571"></a>
+<span class="sourceLineNo">572</span>      super(name);<a name="line.572"></a>
+<span class="sourceLineNo">573</span>      backlogLength = conf.getInt("hbase.ipc.server.listen.queue.size", 128);<a name="line.573"></a>
+<span class="sourceLineNo">574</span>      // Create a new server socket and set to non blocking mode<a name="line.574"></a>
+<span class="sourceLineNo">575</span>      acceptChannel = ServerSocketChannel.open();<a name="line.575"></a>
+<span class="sourceLineNo">576</span>      acceptChannel.configureBlocking(false);<a name="line.576"></a>
+<span class="sourceLineNo">577</span><a name="line.577"></a>
+<span class="sourceLineNo">578</span>      // Bind the server socket to the binding addrees (can be different from the default interface)<a name="line.578"></a>
+<span class="sourceLineNo">579</span>      bind(acceptChannel.socket(), bindAddress, backlogLength);<a name="line.579"></a>
+<span class="sourceLineNo">580</span>      port = acceptChannel.socket().getLocalPort(); //Could be an ephemeral port<a name="line.580"></a>
+<span class="sourceLineNo">581</span>      address = (InetSocketAddress)acceptChannel.socket().getLocalSocketAddress();<a name="line.581"></a>
+<span class="sourceLineNo">582</span>      // create a selector;<a name="line.582"></a>
+<span class="sourceLineNo">583</span>      selector= Selector.open();<a name="line.583"></a>
 <span class="sourceLineNo">584</span><a name="line.584"></a>
-<span class="sourceLineNo">585</span>    @Override<a name="line.585"></a>
-<span class="sourceLineNo">586</span>    public User getRequestUser() {<a name="line.586"></a>
-<span class="sourceLineNo">587</span>      return user;<a name="line.587"></a>
-<span class="sourceLineNo">588</span>    }<a name="line.588"></a>
-<span class="sourceLineNo">589</span><a name="line.589"></a>
-<span class="sourceLineNo">590</span>    @Override<a name="line.590"></a>
-<span class="sourceLineNo">591</span>    public String getRequestUserName() {<a name="line.591"></a>
-<span class="sourceLineNo">592</span>      User user = getRequestUser();<a name="line.592"></a>
-<span class="sourceLineNo">593</span>      return user == null? null: user.getShortName();<a name="line.593"></a>
-<span class="sourceLineNo">594</span>    }<a name="line.594"></a>
-<span class="sourceLineNo">595</span><a name="line.595"></a>
-<span class="sourceLineNo">596</span>    @Override<a name="line.596"></a>
-<span class="sourceLineNo">597</span>    public InetAddress getRemoteAddress() {<a name="line.597"></a>
-<span class="sourceLineNo">598</span>      return remoteAddress;<a name="line.598"></a>
-<span class="sourceLineNo">599</span>    }<a name="line.599"></a>
-<span class="sourceLineNo">600</span><a name="line.600"></a>
-<span class="sourceLineNo">601</span>    @Override<a name="line.601"></a>
-<span class="sourceLineNo">602</span>    public VersionInfo getClientVersionInfo() {<a name="line.602"></a>
-<span class="sourceLineNo">603</span>      return connection.getVersionInfo();<a name="line.603"></a>
-<span class="sourceLineNo">604</span>    }<a name="line.604"></a>
-<span class="sourceLineNo">605</span><a name="line.605"></a>
-<span class="sourceLineNo">606</span>    @Override<a name="line.606"></a>
-<span class="sourceLineNo">607</span>    public synchronized void setCallBack(RpcCallback callback) {<a name="line.607"></a>
-<span class="sourceLineNo">608</span>      this.callback = callback;<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>    @Override<a name="line.611"></a>
-<span class="sourceLineNo">612</span>    public boolean isRetryImmediatelySupported() {<a name="line.612"></a>
-<span class="sourceLineNo">613</span>      return retryImmediatelySupported;<a name="line.613"></a>
-<span class="sourceLineNo">614</span>    }<a name="line.614"></a>
-<span class="sourceLineNo">615</span>  }<a name="line.615"></a>
-<span class="sourceLineNo">616</span><a name="line.616"></a>
-<span class="sourceLineNo">617</span>  /** Listens on the socket. Creates jobs for the handler threads*/<a name="line.617"></a>
-<span class="sourceLineNo">618</span>  private class Listener extends Thread {<a name="line.618"></a>
-<span class="sourceLineNo">619</span><a name="line.619"></a>
-<span class="sourceLineNo">620</span>    private ServerSocketChannel acceptChannel = null; //the accept channel<a name="line.620"></a>
-<span class="sourceLineNo">621</span>    private Selector selector = null; //the selector that we use for the server<a name="line.621"></a>
-<span class="sourceLineNo">622</span>    private Reader[] readers = null;<a name="line.622"></a>
-<span class="sourceLineNo">623</span>    private int currentReader = 0;<a name="line.623"></a>
-<span class="sourceLineNo">624</span>    private Random rand = new Random();<a name="line.624"></a>
-<span class="sourceLineNo">625</span>    private long lastCleanupRunTime = 0; //the last time when a cleanup connec-<a name="line.625"></a>
-<span class="sourceLineNo">626</span>                                         //-tion (for idle connections) ran<a name="line.626"></a>
-<span class="sourceLineNo">627</span>    private long cleanupInterval = 10000; //the minimum interval between<a name="line.627"></a>
-<span class="sourceLineNo">628</span>                                          //two cleanup runs<a name="line.628"></a>
-<span class="sourceLineNo">629</span>    private int backlogLength;<a name="line.629"></a>
-<span class="sourceLineNo">630</span><a name="line.630"></a>
-<span class="sourceLineNo">631</span>    private ExecutorService readPool;<a name="line.631"></a>
-<span class="sourceLineNo">632</span><a name="line.632"></a>
-<span class="sourceLineNo">633</span>    public Listener(final String name) throws IOException {<a name="line.633"></a>
-<span class="sourceLineNo">634</span>      super(name);<a name="line.634"></a>
-<span class="sourceLineNo">635</span>      backlogLength = conf.getInt("hbase.ipc.server.listen.queue.size", 128);<a name="line.635"></a>
-<span class="sourceLineNo">636</span>      // Create a new server socket and set to non blocking mode<a name="line.636"></a>
-<span class="sourceLineNo">637</span>      acceptChannel = ServerSocketChannel.open();<a name="line.637"></a>
-<span class="sourceLineNo">638</span>      acceptChannel.configureBlocking(false);<a name="line.638"></a>
-<span class="sourceLineNo">639</span><a name="line.639"></a>
-<span class="sourceLineNo">640</span>      // Bind the server socket to the binding addrees (can be different from the default interface)<a name="line.640"></a>
-<span class="sourceLineNo">641</span>      bind(acceptChannel.socket(), bindAddress, backlogLength);<a name="line.641"></a>
-<span class="sourceLineNo">642</span>      port = acceptChannel.socket().getLocalPort(); //Could be an ephemeral port<a name="line.642"></a>
-<span class="sourceLineNo">643</span>      address = (InetSocketAddress)acceptChannel.socket().getLocalSocketAddress();<a name="line.643"></a>
-<span class="sourceLineNo">644</span>      // create a selector;<a name="line.644"></a>
-<span class="sourceLineNo">645</span>      selector= Selector.open();<a name="line.645"></a>
-<span class="sourceLineNo">646</span><a name="line.646"></a>
-<span class="sourceLineNo">647</span>      readers = new Reader[readThreads];<a name="line.647"></a>
-<span class="sourceLineNo">648</span>      readPool = Executors.newFixedThreadPool(readThreads,<a name="line.648"></a>
-<span class="sourceLineNo">649</span>        new ThreadFactoryBuilder().setNameFormat(<a name="line.649"></a>
-<span class="sourceLineNo">650</span>          "RpcServer.reader=%d,bindAddress=" + bindAddress.getHostName() +<a name="line.650"></a>
-<span class="sourceLineNo">651</span>          ",port=" + port).setDaemon(true).build());<a name="line.651"></a>
-<span class="sourceLineNo">652</span>      for (int i = 0; i &lt; readThreads; ++i) {<a name="line.652"></a>
-<span class="sourceLineNo">653</span>        Reader reader = new Reader();<a name="line.653"></a>
-<span class="sourceLineNo">654</span>        readers[i] = reader;<a name="line.654"></a>
-<span class="sourceLineNo">655</span>        readPool.execute(reader);<a name="line.655"></a>
-<span class="sourceLineNo">656</span>      }<a name="line.656"></a>
-<span class="sourceLineNo">657</span>      LOG.info(getName() + ": started " + readThreads + " reader(s) listening on port=" + port);<a name="line.657"></a>
-<span class="sourceLineNo">658</span><a name="line.658"></a>
-<span class="sourceLineNo">659</span>      // Register accepts on the server socket with the selector.<a name="line.659"></a>
-<span class="sourceLineNo">660</span>      acceptChannel.register(selector, SelectionKey.OP_ACCEPT);<a name="line.660"></a>
-<span class="sourceLineNo">661</span>      this.setName("RpcServer.listener,port=" + port);<a name="line.661"></a>
-<span class="sourceLineNo">662</span>      this.setDaemon(true);<a name="line.662"></a>
-<span class="sourceLineNo">663</span>    }<a name="line.663"></a>
-<span class="sourceLineNo">664</span><a name="line.664"></a>
-<span class="sourceLineNo">665</span><a name="line.665"></a>
-<span class="sourceLineNo">666</span>    private class Reader implements Runnable {<a name="line.666"></a>
-<span class="sourceLineNo">667</span>      private volatile boolean adding = false;<a name="line.667"></a>
-<span class="sourceLineNo">668</span>      private final Selector readSelector;<a name="line.668"></a>
-<span class="sourceLineNo">669</span><a name="line.669"></a>
-<span class="sourceLineNo">670</span>      Reader() throws IOException {<a name="line.670"></a>
-<span class="sourceLineNo">671</span>        this.readSelector = Selector.open();<a name="line.671"></a>
-<span class="sourceLineNo">672</span>      }<a name="line.672"></a>
-<span class="sourceLineNo">673</span>      @Override<a name="line.673"></a>
-<span class="sourceLineNo">674</span>      public void run() {<a name="line.674"></a>
-<span class="sourceLineNo">675</span>        try {<a name="line.675"></a>
-<span class="sourceLineNo">676</span>          doRunLoop();<a name="line.676"></a>
-<span class="sourceLineNo">677</span>        } finally {<a name="line.677"></a>
-<span class="sourceLineNo">678</span>          try {<a name="line.678"></a>
-<span class="sourceLineNo">679</span>            readSelector.close();<a name="line.679"></a>
-<span class="sourceLineNo">680</span>          } catch (IOException ioe) {<a name="line.680"></a>
-<span class="sourceLineNo">681</span>            LOG.error(getName() + ": error closing read selector in " + getName(), ioe);<a name="line.681"></a>
-<span class="sourceLineNo">682</span>          }<a name="line.682"></a>
-<span class="sourceLineNo">683</span>        }<a name="line.683"></a>
-<span class="sourceLineNo">684</span>      }<a name="line.684"></a>
-<span class="sourceLineNo">685</span><a name="line.685"></a>
-<span class="sourceLineNo">686</span>      private synchronized void doRunLoop() {<a name="lin

<TRUNCATED>

[10/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html b/testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html
deleted file mode 100644
index 06e992f..0000000
--- a/testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html
+++ /dev/null
@@ -1,320 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TestDelayedRpc.TestDelayedImplementation (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="TestDelayedRpc.TestDelayedImplementation (Apache HBase 2.0.0-SNAPSHOT Test API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/TestDelayedRpc.TestDelayedImplementation.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/ipc/TestDelayedRpc.ListAppender.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html" target="_top">Frames</a></li>
-<li><a href="TestDelayedRpc.TestDelayedImplementation.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All 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.ipc</div>
-<h2 title="Class TestDelayedRpc.TestDelayedImplementation" class="title">Class TestDelayedRpc.TestDelayedImplementation</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="http://docs.oracle.com/javase/7/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.ipc.TestDelayedRpc.TestDelayedImplementation</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd>org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestDelayedService.BlockingInterface</dd>
-</dl>
-<dl>
-<dt>Direct Known Subclasses:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.FaultyTestDelayedImplementation</a></dd>
-</dl>
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#line.215">TestDelayedRpc.TestDelayedImplementation</a>
-extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a>
-implements org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestDelayedService.BlockingInterface</pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field_summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="overviewSummary" 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 boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html#delayReturnValue">delayReturnValue</a></strong></code>
-<div class="block">Should the return value of delayed call be set at the end of the delay
- or at call return.</div>
-</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="overviewSummary" 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><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html#TestDelayedRpc.TestDelayedImplementation(boolean)">TestDelayedRpc.TestDelayedImplementation</a></strong>(boolean&nbsp;delayReturnValue)</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestResponse</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html#test(com.google.protobuf.RpcController,%20org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestArg)">test</a></strong>(com.google.protobuf.RpcController&nbsp;rpcController,
-        org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestArg&nbsp;testArg)</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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" 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="delayReturnValue">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>delayReturnValue</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html#line.221">delayReturnValue</a></pre>
-<div class="block">Should the return value of delayed call be set at the end of the delay
- or at call return.</div>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="TestDelayedRpc.TestDelayedImplementation(boolean)">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>TestDelayedRpc.TestDelayedImplementation</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html#line.227">TestDelayedRpc.TestDelayedImplementation</a>(boolean&nbsp;delayReturnValue)</pre>
-<dl><dt><span class="strong">Parameters:</span></dt><dd><code>delayReturnValue</code> - Should the response to the delayed call be set
- at the start or the end of the delay.</dd></dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="test(com.google.protobuf.RpcController, org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestArg)">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>test</h4>
-<pre>public&nbsp;org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestResponse&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html#line.232">test</a>(com.google.protobuf.RpcController&nbsp;rpcController,
-                                                                                    org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestArg&nbsp;testArg)
-                                                                                      throws com.google.protobuf.ServiceException</pre>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code>test</code>&nbsp;in interface&nbsp;<code>org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestDelayedService.BlockingInterface</code></dd>
-<dt><span class="strong">Throws:</span></dt>
-<dd><code>com.google.protobuf.ServiceException</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/TestDelayedRpc.TestDelayedImplementation.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/ipc/TestDelayedRpc.ListAppender.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html" target="_top">Frames</a></li>
-<li><a href="TestDelayedRpc.TestDelayedImplementation.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All 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;2016 <a href="http://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/6d411951/testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html b/testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html
deleted file mode 100644
index d6b9b77..0000000
--- a/testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html
+++ /dev/null
@@ -1,370 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TestDelayedRpc.TestThread (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="TestDelayedRpc.TestThread (Apache HBase 2.0.0-SNAPSHOT Test API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/TestDelayedRpc.TestThread.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/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestGlobalEventLoopGroup.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html" target="_top">Frames</a></li>
-<li><a href="TestDelayedRpc.TestThread.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All 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><a href="#nested_classes_inherited_from_class_java.lang.Thread">Nested</a>&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.ipc</div>
-<h2 title="Class TestDelayedRpc.TestThread" class="title">Class TestDelayedRpc.TestThread</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">java.lang.Object</a></li>
-<li>
-<ul class="inheritance">
-<li><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">java.lang.Thread</a></li>
-<li>
-<ul class="inheritance">
-<li>org.apache.hadoop.hbase.ipc.TestDelayedRpc.TestThread</li>
-</ul>
-</li>
-</ul>
-</li>
-</ul>
-<div class="description">
-<ul class="blockList">
-<li class="blockList">
-<dl>
-<dt>All Implemented Interfaces:</dt>
-<dd><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></dd>
-</dl>
-<dl>
-<dt>Enclosing class:</dt>
-<dd><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc</a></dd>
-</dl>
-<hr>
-<br>
-<pre>public static class <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#line.262">TestDelayedRpc.TestThread</a>
-extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></pre>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="nested_class_summary">
-<!--   -->
-</a>
-<h3>Nested Class Summary</h3>
-<ul class="blockList">
-<li class="blockList"><a name="nested_classes_inherited_from_class_java.lang.Thread">
-<!--   -->
-</a>
-<h3>Nested classes/interfaces inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
-<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.State.html?is-external=true" title="class or interface in java.lang">Thread.State</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.UncaughtExceptionHandler.html?is-external=true" title="class or interface in java.lang">Thread.UncaughtExceptionHandler</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field_summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="overviewSummary" 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 boolean</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html#delay">delay</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private <a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html#results">results</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestDelayedService.BlockingInterface</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html#stub">stub</a></strong></code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="fields_inherited_from_class_java.lang.Thread">
-<!--   -->
-</a>
-<h3>Fields inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
-<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#MAX_PRIORITY" title="class or interface in java.lang">MAX_PRIORITY</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#MIN_PRIORITY" title="class or interface in java.lang">MIN_PRIORITY</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#NORM_PRIORITY" title="class or interface in java.lang">NORM_PRIORITY</a></code></li>
-</ul>
-</li>
-</ul>
-<!-- ======== CONSTRUCTOR SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_summary">
-<!--   -->
-</a>
-<h3>Constructor Summary</h3>
-<table class="overviewSummary" 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><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html#TestDelayedRpc.TestThread(org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestDelayedService.BlockingInterface,%20boolean,%20java.util.List)">TestDelayedRpc.TestThread</a></strong>(org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestDelayedService.BlockingInterface&nbsp;stub,
-                                                  boolean&nbsp;delay,
-                                                  <a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;results)</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html#run()">run</a></strong>()</code>&nbsp;</td>
-</tr>
-</table>
-<ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_java.lang.Thread">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</a></h3>
-<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#activeCount()" title="class or interface in java.lang">activeCount</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#checkAccess()" title="class or interface in java.lang">checkAccess</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#clone()" title="class or interface in java.lang">clone</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#countStackFrames()" title="class or interface in java.lang">countStackFrames</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#currentThread()" title="class or interface in java.lang">currentThread</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#destroy()" title="class or interface in java.lang">destroy</a>, <a href="http://docs.oracle.com
 /javase/7/docs/api/java/lang/Thread.html?is-external=true#dumpStack()" title="class or interface in java.lang">dumpStack</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#enumerate(java.lang.Thread[])" title="class or interface in java.lang">enumerate</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#getAllStackTraces()" title="class or interface in java.lang">getAllStackTraces</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#getContextClassLoader()" title="class or interface in java.lang">getContextClassLoader</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#getDefaultUncaughtExceptionHandler()" title="class or interface in java.lang">getDefaultUncaughtExceptionHandler</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#getId()" title="class or interface in java.lan
 g">getId</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#getName()" title="class or interface in java.lang">getName</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#getPriority()" title="class or interface in java.lang">getPriority</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#getStackTrace()" title="class or interface in java.lang">getStackTrace</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#getState()" title="class or interface in java.lang">getState</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#getThreadGroup()" title="class or interface in java.lang">getThreadGroup</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#getUncaughtExceptionHandler()" title="class or interface in java.lang">getUncaughtExceptionHa
 ndler</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#holdsLock(java.lang.Object)" title="class or interface in java.lang">holdsLock</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#interrupt()" title="class or interface in java.lang">interrupt</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#interrupted()" title="class or interface in java.lang">interrupted</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#isAlive()" title="class or interface in java.lang">isAlive</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#isDaemon()" title="class or interface in java.lang">isDaemon</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#isInterrupted()" title="class or interface in java.lang">isInterrupted</a>, <a href="http://docs.o
 racle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#join()" title="class or interface in java.lang">join</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#join(long)" title="class or interface in java.lang">join</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#join(long,%20int)" title="class or interface in java.lang">join</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#resume()" title="class or interface in java.lang">resume</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#setContextClassLoader(java.lang.ClassLoader)" title="class or interface in java.lang">setContextClassLoader</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#setDaemon(boolean)" title="class or interface in java.lang">setDaemon</a>, <a href="http://docs.oracle.com/javase/7/docs/
 api/java/lang/Thread.html?is-external=true#setDefaultUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler)" title="class or interface in java.lang">setDefaultUncaughtExceptionHandler</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#setName(java.lang.String)" title="class or interface in java.lang">setName</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#setPriority(int)" title="class or interface in java.lang">setPriority</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#setUncaughtExceptionHandler(java.lang.Thread.UncaughtExceptionHandler)" title="class or interface in java.lang">setUncaughtExceptionHandler</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#sleep(long)" title="class or interface in java.lang">sleep</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-
 external=true#sleep(long,%20int)" title="class or interface in java.lang">sleep</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#start()" title="class or interface in java.lang">start</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#stop()" title="class or interface in java.lang">stop</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#stop(java.lang.Throwable)" title="class or interface in java.lang">stop</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#suspend()" title="class or interface in java.lang">suspend</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#toString()" title="class or interface in java.lang">toString</a>, <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#yield()" title="class or interface in java.lang">yiel
 d</a></code></li>
-</ul>
-<ul class="blockList">
-<li class="blockList"><a name="methods_inherited_from_class_java.lang.Object">
-<!--   -->
-</a>
-<h3>Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/docs/api/j
 ava/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang">wait</a>, <a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" 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="stub">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>stub</h4>
-<pre>private final&nbsp;org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestDelayedService.BlockingInterface <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html#line.263">stub</a></pre>
-</li>
-</ul>
-<a name="delay">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>delay</h4>
-<pre>private final&nbsp;boolean <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html#line.264">delay</a></pre>
-</li>
-</ul>
-<a name="results">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>results</h4>
-<pre>private final&nbsp;<a href="http://docs.oracle.com/javase/7/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/7/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/ipc/TestDelayedRpc.TestThread.html#line.265">results</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="TestDelayedRpc.TestThread(org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestDelayedService.BlockingInterface, boolean, java.util.List)">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>TestDelayedRpc.TestThread</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html#line.267">TestDelayedRpc.TestThread</a>(org.apache.hadoop.hbase.ipc.protobuf.generated.TestDelayedRpcProtos.TestDelayedService.BlockingInterface&nbsp;stub,
-                         boolean&nbsp;delay,
-                         <a href="http://docs.oracle.com/javase/7/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/7/docs/api/java/lang/Integer.html?is-external=true" title="class or interface in java.lang">Integer</a>&gt;&nbsp;results)</pre>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ============ METHOD DETAIL ========== -->
-<ul class="blockList">
-<li class="blockList"><a name="method_detail">
-<!--   -->
-</a>
-<h3>Method Detail</h3>
-<a name="run()">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>run</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html#line.275">run</a>()</pre>
-<dl>
-<dt><strong>Specified by:</strong></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true#run()" title="class or interface in java.lang">run</a></code>&nbsp;in interface&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Runnable.html?is-external=true" title="class or interface in java.lang">Runnable</a></code></dd>
-<dt><strong>Overrides:</strong></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true#run()" title="class or interface in java.lang">run</a></code>&nbsp;in class&nbsp;<code><a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html?is-external=true" title="class or interface in java.lang">Thread</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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/TestDelayedRpc.TestThread.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/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestGlobalEventLoopGroup.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html" target="_top">Frames</a></li>
-<li><a href="TestDelayedRpc.TestThread.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All 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><a href="#nested_classes_inherited_from_class_java.lang.Thread">Nested</a>&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;2016 <a href="http://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/6d411951/testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html b/testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html
deleted file mode 100644
index 752ef38..0000000
--- a/testdevapidocs/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html
+++ /dev/null
@@ -1,453 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>TestDelayedRpc (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="TestDelayedRpc (Apache HBase 2.0.0-SNAPSHOT Test API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/TestDelayedRpc.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/ipc/TestCallRunner.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" target="_top">Frames</a></li>
-<li><a href="TestDelayedRpc.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../allclasses-noframe.html">All 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><a href="#nested_class_summary">Nested</a>&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.ipc</div>
-<h2 title="Class TestDelayedRpc" class="title">Class TestDelayedRpc</h2>
-</div>
-<div class="contentContainer">
-<ul class="inheritance">
-<li><a href="http://docs.oracle.com/javase/7/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.ipc.TestDelayedRpc</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/ipc/TestDelayedRpc.html#line.62">TestDelayedRpc</a>
-extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?is-external=true" title="class or interface in java.lang">Object</a></pre>
-<div class="block">Test that delayed RPCs work. Fire up three calls, the first of which should
- be delayed. Check that the last two, which are undelayed, return before the
- first one.</div>
-</li>
-</ul>
-</div>
-<div class="summary">
-<ul class="blockList">
-<li class="blockList">
-<!-- ======== NESTED CLASS SUMMARY ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="nested_class_summary">
-<!--   -->
-</a>
-<h3>Nested Class Summary</h3>
-<table class="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Nested Class Summary table, listing nested classes, and an explanation">
-<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.FaultyTestDelayedImplementation</a></strong></code>
-<div class="block">Delayed calls to this class throw an exception.</div>
-</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.ListAppender.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.ListAppender</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.TestDelayedImplementation</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.TestThread</a></strong></code>&nbsp;</td>
-</tr>
-</table>
-</li>
-</ul>
-<!-- =========== FIELD SUMMARY =========== -->
-<ul class="blockList">
-<li class="blockList"><a name="field_summary">
-<!--   -->
-</a>
-<h3>Field Summary</h3>
-<table class="overviewSummary" 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>static int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#DELAYED">DELAYED</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>private static org.apache.commons.logging.Log</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#LOG">LOG</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private static int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#RPC_CLIENT_TIMEOUT">RPC_CLIENT_TIMEOUT</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>static org.apache.hadoop.hbase.ipc.RpcServerInterface</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#rpcServer">rpcServer</a></strong></code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>static int</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#UNDELAYED">UNDELAYED</a></strong></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="overviewSummary" 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><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#TestDelayedRpc()">TestDelayedRpc</a></strong>()</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="overviewSummary" border="0" cellpadding="3" cellspacing="0" summary="Method Summary table, listing methods, and an explanation">
-<caption><span>Methods</span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Method and Description</th>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>private void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#testDelayedRpc(boolean)">testDelayedRpc</a></strong>(boolean&nbsp;delayReturnValue)</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#testDelayedRpcDelayedReturnValue()">testDelayedRpcDelayedReturnValue</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#testDelayedRpcImmediateReturnValue()">testDelayedRpcImmediateReturnValue</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="rowColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#testEndDelayThrowing()">testEndDelayThrowing</a></strong>()</code>&nbsp;</td>
-</tr>
-<tr class="altColor">
-<td class="colFirst"><code>void</code></td>
-<td class="colLast"><code><strong><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#testTooManyDelayedRpcs()">testTooManyDelayedRpcs</a></strong>()</code>
-<div class="block">Tests that we see a WARN message in the logs.</div>
-</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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/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/7/docs/api/java/lang/Object.html?is-external=true#wait(long,%20int)" 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="LOG">
-<!--   -->
-</a>
-<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/ipc/TestDelayedRpc.html#line.63">LOG</a></pre>
-</li>
-</ul>
-<a name="rpcServer">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>rpcServer</h4>
-<pre>public static&nbsp;org.apache.hadoop.hbase.ipc.RpcServerInterface <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#line.64">rpcServer</a></pre>
-</li>
-</ul>
-<a name="UNDELAYED">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>UNDELAYED</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#line.65">UNDELAYED</a></pre>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.TestDelayedRpc.UNDELAYED">Constant Field Values</a></dd></dl>
-</li>
-</ul>
-<a name="DELAYED">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>DELAYED</h4>
-<pre>public static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#line.66">DELAYED</a></pre>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.TestDelayedRpc.DELAYED">Constant Field Values</a></dd></dl>
-</li>
-</ul>
-<a name="RPC_CLIENT_TIMEOUT">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>RPC_CLIENT_TIMEOUT</h4>
-<pre>private static final&nbsp;int <a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#line.67">RPC_CLIENT_TIMEOUT</a></pre>
-<dl><dt><span class="strong">See Also:</span></dt><dd><a href="../../../../../constant-values.html#org.apache.hadoop.hbase.ipc.TestDelayedRpc.RPC_CLIENT_TIMEOUT">Constant Field Values</a></dd></dl>
-</li>
-</ul>
-</li>
-</ul>
-<!-- ========= CONSTRUCTOR DETAIL ======== -->
-<ul class="blockList">
-<li class="blockList"><a name="constructor_detail">
-<!--   -->
-</a>
-<h3>Constructor Detail</h3>
-<a name="TestDelayedRpc()">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>TestDelayedRpc</h4>
-<pre>public&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#line.62">TestDelayedRpc</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="testDelayedRpcImmediateReturnValue()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>testDelayedRpcImmediateReturnValue</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#line.70">testDelayedRpcImmediateReturnValue</a>()
-                                        throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
-<dl><dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/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="testDelayedRpcDelayedReturnValue()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>testDelayedRpcDelayedReturnValue</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#line.75">testDelayedRpcDelayedReturnValue</a>()
-                                      throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
-<dl><dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/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="testDelayedRpc(boolean)">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>testDelayedRpc</h4>
-<pre>private&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#line.79">testDelayedRpc</a>(boolean&nbsp;delayReturnValue)
-                     throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
-<dl><dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/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="testTooManyDelayedRpcs()">
-<!--   -->
-</a>
-<ul class="blockList">
-<li class="blockList">
-<h4>testTooManyDelayedRpcs</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#line.156">testTooManyDelayedRpcs</a>()
-                            throws <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Exception.html?is-external=true" title="class or interface in java.lang">Exception</a></pre>
-<div class="block">Tests that we see a WARN message in the logs.</div>
-<dl><dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/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="testEndDelayThrowing()">
-<!--   -->
-</a>
-<ul class="blockListLast">
-<li class="blockList">
-<h4>testEndDelayThrowing</h4>
-<pre>public&nbsp;void&nbsp;<a href="../../../../../src-html/org/apache/hadoop/hbase/ipc/TestDelayedRpc.html#line.292">testEndDelayThrowing</a>()
-                          throws <a href="http://docs.oracle.com/javase/7/docs/api/java/io/IOException.html?is-external=true" title="class or interface in java.io">IOException</a></pre>
-<dl><dt><span class="strong">Throws:</span></dt>
-<dd><code><a href="http://docs.oracle.com/javase/7/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><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/TestDelayedRpc.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/ipc/TestCallRunner.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
-</ul>
-<ul class="navList">
-<li><a href="../../../../../index.html?org/apache/hadoop/hbase/ipc/TestDelayedRpc.html" target="_top">Frames</a></li>
-<li><a href="TestDelayedRpc.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../allclasses-noframe.html">All 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><a href="#nested_class_summary">Nested</a>&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;2016 <a href="http://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/6d411951/testdevapidocs/org/apache/hadoop/hbase/ipc/TestGlobalEventLoopGroup.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/ipc/TestGlobalEventLoopGroup.html b/testdevapidocs/org/apache/hadoop/hbase/ipc/TestGlobalEventLoopGroup.html
index 26640a9..8b49d46 100644
--- a/testdevapidocs/org/apache/hadoop/hbase/ipc/TestGlobalEventLoopGroup.html
+++ b/testdevapidocs/org/apache/hadoop/hbase/ipc/TestGlobalEventLoopGroup.html
@@ -35,7 +35,7 @@
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestCallRunner.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestHBaseClient.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">
@@ -210,7 +210,7 @@ extends <a href="http://docs.oracle.com/javase/7/docs/api/java/lang/Object.html?
 </div>
 <div class="subNav">
 <ul class="navList">
-<li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestThread.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
+<li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestCallRunner.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Prev Class</span></a></li>
 <li><a href="../../../../../org/apache/hadoop/hbase/ipc/TestHBaseClient.html" title="class in org.apache.hadoop.hbase.ipc"><span class="strong">Next Class</span></a></li>
 </ul>
 <ul class="navList">

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/testdevapidocs/org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.FaultyTestDelayedImplementation.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.FaultyTestDelayedImplementation.html b/testdevapidocs/org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.FaultyTestDelayedImplementation.html
deleted file mode 100644
index 58c58bc..0000000
--- a/testdevapidocs/org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.FaultyTestDelayedImplementation.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.hadoop.hbase.ipc.TestDelayedRpc.FaultyTestDelayedImplementation (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class org.apache.hadoop.hbase.ipc.TestDelayedRpc.FaultyTestDelayedImplementation (Apache HBase 2.0.0-SNAPSHOT Test API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">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/ipc/class-use/TestDelayedRpc.FaultyTestDelayedImplementation.html" target="_top">Frames</a></li>
-<li><a href="TestDelayedRpc.FaultyTestDelayedImplementation.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All 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.ipc.TestDelayedRpc.FaultyTestDelayedImplementation" class="title">Uses of Class<br>org.apache.hadoop.hbase.ipc.TestDelayedRpc.FaultyTestDelayedImplementation</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.hadoop.hbase.ipc.TestDelayedRpc.FaultyTestDelayedImplementation</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">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/ipc/class-use/TestDelayedRpc.FaultyTestDelayedImplementation.html" target="_top">Frames</a></li>
-<li><a href="TestDelayedRpc.FaultyTestDelayedImplementation.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All 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;2016 <a href="http://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/6d411951/testdevapidocs/org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.ListAppender.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.ListAppender.html b/testdevapidocs/org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.ListAppender.html
deleted file mode 100644
index ced4f95..0000000
--- a/testdevapidocs/org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.ListAppender.html
+++ /dev/null
@@ -1,115 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.hadoop.hbase.ipc.TestDelayedRpc.ListAppender (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class org.apache.hadoop.hbase.ipc.TestDelayedRpc.ListAppender (Apache HBase 2.0.0-SNAPSHOT Test API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/ipc/TestDelayedRpc.ListAppender.html" title="class in org.apache.hadoop.hbase.ipc">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/ipc/class-use/TestDelayedRpc.ListAppender.html" target="_top">Frames</a></li>
-<li><a href="TestDelayedRpc.ListAppender.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All 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.ipc.TestDelayedRpc.ListAppender" class="title">Uses of Class<br>org.apache.hadoop.hbase.ipc.TestDelayedRpc.ListAppender</h2>
-</div>
-<div class="classUseContainer">No usage of org.apache.hadoop.hbase.ipc.TestDelayedRpc.ListAppender</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/ipc/TestDelayedRpc.ListAppender.html" title="class in org.apache.hadoop.hbase.ipc">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/ipc/class-use/TestDelayedRpc.ListAppender.html" target="_top">Frames</a></li>
-<li><a href="TestDelayedRpc.ListAppender.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All 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;2016 <a href="http://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/6d411951/testdevapidocs/org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.TestDelayedImplementation.html
----------------------------------------------------------------------
diff --git a/testdevapidocs/org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.TestDelayedImplementation.html b/testdevapidocs/org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.TestDelayedImplementation.html
deleted file mode 100644
index 868d810..0000000
--- a/testdevapidocs/org/apache/hadoop/hbase/ipc/class-use/TestDelayedRpc.TestDelayedImplementation.html
+++ /dev/null
@@ -1,157 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<!-- NewPage -->
-<html lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Uses of Class org.apache.hadoop.hbase.ipc.TestDelayedRpc.TestDelayedImplementation (Apache HBase 2.0.0-SNAPSHOT Test API)</title>
-<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
-</head>
-<body>
-<script type="text/javascript"><!--
-    if (location.href.indexOf('is-external=true') == -1) {
-        parent.document.title="Uses of Class org.apache.hadoop.hbase.ipc.TestDelayedRpc.TestDelayedImplementation (Apache HBase 2.0.0-SNAPSHOT Test API)";
-    }
-//-->
-</script>
-<noscript>
-<div>JavaScript is disabled on your browser.</div>
-</noscript>
-<!-- ========= START OF TOP NAVBAR ======= -->
-<div class="topNav"><a name="navbar_top">
-<!--   -->
-</a><a href="#skip-navbar_top" title="Skip navigation links"></a><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/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">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/ipc/class-use/TestDelayedRpc.TestDelayedImplementation.html" target="_top">Frames</a></li>
-<li><a href="TestDelayedRpc.TestDelayedImplementation.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_top">
-<li><a href="../../../../../../allclasses-noframe.html">All 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.ipc.TestDelayedRpc.TestDelayedImplementation" class="title">Uses of Class<br>org.apache.hadoop.hbase.ipc.TestDelayedRpc.TestDelayedImplementation</h2>
-</div>
-<div class="classUseContainer">
-<ul class="blockList">
-<li class="blockList">
-<table 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/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.TestDelayedImplementation</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">&nbsp;</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/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.TestDelayedImplementation</a> in <a href="../../../../../../org/apache/hadoop/hbase/ipc/package-summary.html">org.apache.hadoop.hbase.ipc</a></h3>
-<table border="0" cellpadding="3" cellspacing="0" summary="Use table, listing subclasses, and an explanation">
-<caption><span>Subclasses of <a href="../../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.TestDelayedImplementation</a> in <a href="../../../../../../org/apache/hadoop/hbase/ipc/package-summary.html">org.apache.hadoop.hbase.ipc</a></span><span class="tabEnd">&nbsp;</span></caption>
-<tr>
-<th class="colFirst" scope="col">Modifier and Type</th>
-<th class="colLast" scope="col">Class and Description</th>
-</tr>
-<tbody>
-<tr class="altColor">
-<td class="colFirst"><code>private static class&nbsp;</code></td>
-<td class="colLast"><code><strong><a href="../../../../../../org/apache/hadoop/hbase/ipc/TestDelayedRpc.FaultyTestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">TestDelayedRpc.FaultyTestDelayedImplementation</a></strong></code>
-<div class="block">Delayed calls to this class throw an exception.</div>
-</td>
-</tr>
-</tbody>
-</table>
-</li>
-</ul>
-</li>
-</ul>
-</div>
-<!-- ======= START OF BOTTOM NAVBAR ====== -->
-<div class="bottomNav"><a name="navbar_bottom">
-<!--   -->
-</a><a href="#skip-navbar_bottom" title="Skip navigation links"></a><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/ipc/TestDelayedRpc.TestDelayedImplementation.html" title="class in org.apache.hadoop.hbase.ipc">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/ipc/class-use/TestDelayedRpc.TestDelayedImplementation.html" target="_top">Frames</a></li>
-<li><a href="TestDelayedRpc.TestDelayedImplementation.html" target="_top">No Frames</a></li>
-</ul>
-<ul class="navList" id="allclasses_navbar_bottom">
-<li><a href="../../../../../../allclasses-noframe.html">All 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;2016 <a href="http://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
-</body>
-</html>


[30/30] hbase-site git commit: Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.

Posted by mi...@apache.org.
Published site at 845d00a16bc22cced0a2eead3d0ba48989968fb6.


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

Branch: refs/heads/asf-site
Commit: 6d411951dcabca1da46b56abb0e9e2fb0260a070
Parents: c221e35
Author: jenkins <bu...@apache.org>
Authored: Wed Jan 27 15:16:52 2016 +0000
Committer: Misty Stanley-Jones <ms...@cloudera.com>
Committed: Wed Jan 27 08:37:02 2016 -0800

----------------------------------------------------------------------
 acid-semantics.html                             |     4 +-
 apache_hbase_reference_guide.pdf                |   Bin 14205622 -> 14219555 bytes
 apache_hbase_reference_guide.pdfmarks           |     4 +-
 book.html                                       |   134 +-
 bulk-loads.html                                 |     4 +-
 checkstyle-aggregate.html                       | 10352 ++++++++---------
 checkstyle.rss                                  |    24 +-
 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                 |    18 +-
 devapidocs/index-all.html                       |    54 +-
 .../class-use/InterfaceAudience.Private.html    |    46 +-
 .../class-use/InterfaceStability.Unstable.html  |    12 +-
 .../hbase/classification/package-tree.html      |     6 +-
 .../hadoop/hbase/client/package-tree.html       |     6 +-
 .../hadoop/hbase/filter/package-tree.html       |     6 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     2 +-
 .../hadoop/hbase/ipc/CoprocessorRpcChannel.html |     4 +-
 .../org/apache/hadoop/hbase/ipc/Delayable.html  |   315 -
 .../DelegatingPayloadCarryingRpcController.html |     4 +-
 .../apache/hadoop/hbase/ipc/RpcCallContext.html |    14 +-
 .../RpcServer.BlockingServiceAndInterface.html  |    12 +-
 .../apache/hadoop/hbase/ipc/RpcServer.Call.html |   288 +-
 .../ipc/RpcServer.CallQueueTooBigException.html |     4 +-
 .../hadoop/hbase/ipc/RpcServer.Connection.html  |   132 +-
 .../hbase/ipc/RpcServer.Listener.Reader.html    |    18 +-
 .../hadoop/hbase/ipc/RpcServer.Listener.html    |    38 +-
 .../hadoop/hbase/ipc/RpcServer.Responder.html   |    26 +-
 .../org/apache/hadoop/hbase/ipc/RpcServer.html  |   226 +-
 .../hadoop/hbase/ipc/class-use/Delayable.html   |   173 -
 .../apache/hadoop/hbase/ipc/package-frame.html  |     1 -
 .../hadoop/hbase/ipc/package-summary.html       |    20 +-
 .../apache/hadoop/hbase/ipc/package-tree.html   |     6 +-
 .../apache/hadoop/hbase/ipc/package-use.html    |    71 +-
 .../hadoop/hbase/mapreduce/package-tree.html    |     4 +-
 .../hbase/master/balancer/package-tree.html     |     2 +-
 .../hadoop/hbase/master/package-tree.html       |     4 +-
 .../hbase/master/procedure/package-tree.html    |     2 +-
 .../org/apache/hadoop/hbase/package-tree.html   |    12 +-
 .../hadoop/hbase/quotas/package-tree.html       |     4 +-
 .../hadoop/hbase/regionserver/package-tree.html |    22 +-
 .../hbase/security/access/package-tree.html     |     2 +-
 .../hadoop/hbase/security/package-tree.html     |     2 +-
 .../hadoop/hbase/thrift/package-tree.html       |     2 +-
 .../tmpl/master/MasterStatusTmpl.ImplData.html  |   210 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |    84 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |    42 +-
 .../regionserver/RSStatusTmpl.ImplData.html     |    90 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |    36 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    18 +-
 .../apache/hadoop/hbase/util/package-tree.html  |    10 +-
 .../apache/hadoop/hbase/wal/package-tree.html   |     2 +-
 devapidocs/overview-tree.html                   |     6 +-
 .../org/apache/hadoop/hbase/ipc/CallRunner.html |    71 +-
 .../org/apache/hadoop/hbase/ipc/Delayable.html  |   145 -
 .../apache/hadoop/hbase/ipc/RpcCallContext.html |     2 +-
 .../RpcServer.BlockingServiceAndInterface.html  |  4766 ++++----
 .../apache/hadoop/hbase/ipc/RpcServer.Call.html |  4766 ++++----
 .../ipc/RpcServer.CallQueueTooBigException.html |  4766 ++++----
 .../hadoop/hbase/ipc/RpcServer.Connection.html  |  4766 ++++----
 .../hbase/ipc/RpcServer.Listener.Reader.html    |  4766 ++++----
 .../hadoop/hbase/ipc/RpcServer.Listener.html    |  4766 ++++----
 .../hadoop/hbase/ipc/RpcServer.Responder.html   |  4766 ++++----
 .../org/apache/hadoop/hbase/ipc/RpcServer.html  |  4766 ++++----
 .../tmpl/master/MasterStatusTmpl.ImplData.html  |   210 +-
 .../tmpl/master/MasterStatusTmpl.Intf.html      |   210 +-
 .../hbase/tmpl/master/MasterStatusTmpl.html     |   210 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |    56 +-
 .../regionserver/RSStatusTmpl.ImplData.html     |    90 +-
 .../tmpl/regionserver/RSStatusTmpl.Intf.html    |    90 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |    90 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    24 +-
 distribution-management.html                    |     4 +-
 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/distribution-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-spark/checkstyle.html                     |     6 +-
 hbase-spark/dependencies.html                   |     6 +-
 hbase-spark/dependency-convergence.html         |     6 +-
 hbase-spark/dependency-info.html                |     6 +-
 hbase-spark/dependency-management.html          |     6 +-
 hbase-spark/distribution-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                                      |     6 +-
 integration.html                                |     4 +-
 issue-tracking.html                             |     4 +-
 license.html                                    |     4 +-
 mail-lists.html                                 |     4 +-
 metrics.html                                    |     4 +-
 modules.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            |     6 +-
 testdevapidocs/allclasses-noframe.html          |     6 +-
 testdevapidocs/constant-values.html             |    33 -
 testdevapidocs/index-all.html                   |    83 +-
 .../hadoop/hbase/io/hfile/package-tree.html     |     2 +-
 .../apache/hadoop/hbase/ipc/TestCallRunner.html |     4 +-
 ...ayedRpc.FaultyTestDelayedImplementation.html |   280 -
 .../hbase/ipc/TestDelayedRpc.ListAppender.html  |   364 -
 ...estDelayedRpc.TestDelayedImplementation.html |   320 -
 .../hbase/ipc/TestDelayedRpc.TestThread.html    |   370 -
 .../apache/hadoop/hbase/ipc/TestDelayedRpc.html |   453 -
 .../hbase/ipc/TestGlobalEventLoopGroup.html     |     4 +-
 ...ayedRpc.FaultyTestDelayedImplementation.html |   115 -
 .../class-use/TestDelayedRpc.ListAppender.html  |   115 -
 ...estDelayedRpc.TestDelayedImplementation.html |   157 -
 .../class-use/TestDelayedRpc.TestThread.html    |   115 -
 .../hbase/ipc/class-use/TestDelayedRpc.html     |   115 -
 .../apache/hadoop/hbase/ipc/package-frame.html  |     5 -
 .../hadoop/hbase/ipc/package-summary.html       |    48 +-
 .../apache/hadoop/hbase/ipc/package-tree.html   |    12 -
 .../apache/hadoop/hbase/ipc/package-use.html    |     3 -
 .../org/apache/hadoop/hbase/package-tree.html   |    10 +-
 .../hadoop/hbase/procedure2/package-tree.html   |     2 +-
 .../AbstractTestSecureIPC.TestThread.html       |   355 +
 .../hbase/security/AbstractTestSecureIPC.html   |    90 +-
 .../hbase/security/HBaseKerberosUtils.html      |     4 +-
 .../hbase/security/TestAsyncSecureIPC.html      |    21 +-
 .../hadoop/hbase/security/TestSecureIPC.html    |    21 +-
 .../AbstractTestSecureIPC.TestThread.html       |   115 +
 .../hadoop/hbase/security/package-frame.html    |     1 +
 .../hadoop/hbase/security/package-summary.html  |    18 +-
 .../hadoop/hbase/security/package-tree.html     |     5 +
 .../apache/hadoop/hbase/test/package-tree.html  |     2 +-
 testdevapidocs/overview-tree.html               |     9 +-
 ...ayedRpc.FaultyTestDelayedImplementation.html |   439 -
 .../hbase/ipc/TestDelayedRpc.ListAppender.html  |   439 -
 ...estDelayedRpc.TestDelayedImplementation.html |   439 -
 .../hbase/ipc/TestDelayedRpc.TestThread.html    |   439 -
 .../apache/hadoop/hbase/ipc/TestDelayedRpc.html |   439 -
 .../AbstractTestSecureIPC.TestThread.html       |   391 +
 .../hbase/security/AbstractTestSecureIPC.html   |   486 +-
 xref-test/allclasses-frame.html                 |    13 +-
 .../hadoop/hbase/client/TestFromClientSide.html |     4 +-
 .../apache/hadoop/hbase/ipc/TestDelayedRpc.html |   381 -
 .../apache/hadoop/hbase/ipc/package-frame.html  |    15 -
 .../hadoop/hbase/ipc/package-summary.html       |    25 -
 .../hbase/security/AbstractTestSecureIPC.html   |   486 +-
 .../hadoop/hbase/security/package-frame.html    |     3 +
 .../hadoop/hbase/security/package-summary.html  |     5 +
 xref/allclasses-frame.html                      |     3 -
 .../org/apache/hadoop/hbase/ipc/CallRunner.html |    71 +-
 xref/org/apache/hadoop/hbase/ipc/Delayable.html |    87 -
 .../apache/hadoop/hbase/ipc/RpcCallContext.html |     2 +-
 xref/org/apache/hadoop/hbase/ipc/RpcServer.html |  4766 ++++----
 .../apache/hadoop/hbase/ipc/package-frame.html  |     3 -
 .../hadoop/hbase/ipc/package-summary.html       |     5 -
 .../hbase/tmpl/master/MasterStatusTmpl.html     |   210 +-
 .../hbase/tmpl/master/MasterStatusTmplImpl.html |    56 +-
 .../hbase/tmpl/regionserver/RSStatusTmpl.html   |    90 +-
 .../tmpl/regionserver/RSStatusTmplImpl.html     |    24 +-
 197 files changed, 29551 insertions(+), 35273 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/acid-semantics.html
----------------------------------------------------------------------
diff --git a/acid-semantics.html b/acid-semantics.html
index 61acee6..7ffb2cd 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Apache HBase (TM) ACID Properties
@@ -600,7 +600,7 @@ under the License. -->
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>
 

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/apache_hbase_reference_guide.pdf
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdf b/apache_hbase_reference_guide.pdf
index 13dd488..4398063 100644
Binary files a/apache_hbase_reference_guide.pdf and b/apache_hbase_reference_guide.pdf differ

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/apache_hbase_reference_guide.pdfmarks
----------------------------------------------------------------------
diff --git a/apache_hbase_reference_guide.pdfmarks b/apache_hbase_reference_guide.pdfmarks
index f279f2d..67a7a67 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:20160126151912)
-  /CreationDate (D:20160126151912)
+  /ModDate (D:20160127151330)
+  /CreationDate (D:20160127151330)
   /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/6d411951/book.html
----------------------------------------------------------------------
diff --git a/book.html b/book.html
index 36e1772..289f9b9 100644
--- a/book.html
+++ b/book.html
@@ -3521,7 +3521,7 @@ Configuration that it is thought rare anyone would change can exist only in code
 <dd>
 <div class="paragraph">
 <div class="title">Description</div>
-<p>Where to store the contents of the bucketcache. One of: heap, offheap, or file. If a file, set it to file:PATH_TO_FILE. See <a href="https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/io/hfile/CacheConfig.html" class="bare">https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/io/hfile/CacheConfig.html</a> for more information.</p>
+<p>Where to store the contents of the bucketcache. One of: heap, offheap, or file. If a file, set it to file:PATH_TO_FILE. See <a href="http://hbase.apache.org/book.html#offheap.blockcache" class="bare">http://hbase.apache.org/book.html#offheap.blockcache</a> for more information.</p>
 </div>
 <div class="paragraph">
 <div class="title">Default</div>
@@ -18258,20 +18258,29 @@ to the HBase Connections in the executors
 <h2 id="_bulk_load"><a class="anchor" href="#_bulk_load"></a>83. Bulk Load</h2>
 <div class="sectionbody">
 <div class="paragraph">
-<p>Spark bulk load follows very closely to the MapReduce implementation of bulk
-load. In short, a partitioner partitions based on region splits and
+<p>There are two options for bulk loading data into HBase with Spark.  There is the
+basic bulk load functionality that will work for cases where your rows have
+millions of columns and cases where your columns are not consolidated and
+partitions before the on the map side of the Spark bulk load process.</p>
+</div>
+<div class="paragraph">
+<p>There is also a thin record bulk load option with Spark, this second option is
+designed for tables that have less then 10k columns per row.  The advantage
+of this second option is higher throughput and less over all load on the Spark
+shuffle operation.</p>
+</div>
+<div class="paragraph">
+<p>Both implementations work more or less like the MapReduce bulk load process in
+that a partitioner partitions the rowkeys based on region splits and
 the row keys are sent to the reducers in order, so that HFiles can be written
-out. In Spark terms, the bulk load will be focused around a
-<code>repartitionAndSortWithinPartitions</code> followed by a <code>foreachPartition</code>.</p>
+out directly from the reduce phase.</p>
 </div>
 <div class="paragraph">
-<p>The only major difference with the Spark implementation compared to the
-MapReduce implementation is that the column qualifier is included in the shuffle
-ordering process. This was done because the MapReduce bulk load implementation
-would have memory issues with loading rows with a large numbers of columns, as a
-result of the sorting of those columns being done in the memory of the reducer JVM.
-Instead, that ordering is done in the Spark Shuffle, so there should no longer
-be a limit to the number of columns in a row for bulk loading.</p>
+<p>In Spark terms, the bulk load will be implemented around a the Spark
+<code>repartitionAndSortWithinPartitions</code> followed by a Spark <code>foreachPartition</code>.</p>
+</div>
+<div class="paragraph">
+<p>First lets look at an example of using the basic bulk load functionality</p>
 </div>
 <div class="exampleblock">
 <div class="title">Example 49. Bulk Loading Example</div>
@@ -18287,6 +18296,11 @@ val config = new HBaseConfiguration()
 val hbaseContext = new HBaseContext(sc, config)
 
 val stagingFolder = ...
+val rdd = sc.parallelize(Array(
+      (Bytes.toBytes(&quot;1&quot;),
+        (Bytes.toBytes(columnFamily1), Bytes.toBytes(&quot;a&quot;), Bytes.toBytes(&quot;foo1&quot;))),
+      (Bytes.toBytes(&quot;3&quot;),
+        (Bytes.toBytes(columnFamily1), Bytes.toBytes(&quot;b&quot;), Bytes.toBytes(&quot;foo2.b&quot;))), ...
 
 rdd.hbaseBulkLoad(TableName.valueOf(tableName),
   t =&gt; {
@@ -18359,6 +18373,11 @@ val config = new HBaseConfiguration()
 val hbaseContext = new HBaseContext(sc, config)
 
 val stagingFolder = ...
+val rdd = sc.parallelize(Array(
+      (Bytes.toBytes(&quot;1&quot;),
+        (Bytes.toBytes(columnFamily1), Bytes.toBytes(&quot;a&quot;), Bytes.toBytes(&quot;foo1&quot;))),
+      (Bytes.toBytes(&quot;3&quot;),
+        (Bytes.toBytes(columnFamily1), Bytes.toBytes(&quot;b&quot;), Bytes.toBytes(&quot;foo2.b&quot;))), ...
 
 val familyHBaseWriterOptions = new java.util.HashMap[Array[Byte], FamilyHFileWriteOptions]
 val f1Options = new FamilyHFileWriteOptions(&quot;GZ&quot;, &quot;ROW&quot;, 128, &quot;PREFIX&quot;)
@@ -18388,6 +18407,59 @@ load.doBulkLoad(new Path(stagingFolder.getPath),
 </div>
 </div>
 </div>
+<div class="paragraph">
+<p>Now lets look at how you would call the thin record bulk load implementation</p>
+</div>
+<div class="exampleblock">
+<div class="title">Example 51. Using thin record bulk load</div>
+<div class="content">
+<div class="listingblock">
+<div class="content">
+<pre class="CodeRay highlight"><code data-lang="scala">val sc = new SparkContext(&quot;local&quot;, &quot;test&quot;)
+val config = new HBaseConfiguration()
+
+val hbaseContext = new HBaseContext(sc, config)
+
+val stagingFolder = ...
+val rdd = sc.parallelize(Array(
+      (&quot;1&quot;,
+        (Bytes.toBytes(columnFamily1), Bytes.toBytes(&quot;a&quot;), Bytes.toBytes(&quot;foo1&quot;))),
+      (&quot;3&quot;,
+        (Bytes.toBytes(columnFamily1), Bytes.toBytes(&quot;b&quot;), Bytes.toBytes(&quot;foo2.b&quot;))), ...
+
+rdd.hbaseBulkLoadThinRows(hbaseContext,
+      TableName.valueOf(tableName),
+      t =&gt; {
+        val rowKey = t._1
+
+        val familyQualifiersValues = new FamiliesQualifiersValues
+        t._2.foreach(f =&gt; {
+          val family:Array[Byte] = f._1
+          val qualifier = f._2
+          val value:Array[Byte] = f._3
+
+          familyQualifiersValues +=(family, qualifier, value)
+        })
+        (new ByteArrayWrapper(Bytes.toBytes(rowKey)), familyQualifiersValues)
+      },
+      stagingFolder.getPath,
+      new java.util.HashMap[Array[Byte], FamilyHFileWriteOptions],
+      compactionExclude = false,
+      20)
+
+val load = new LoadIncrementalHFiles(config)
+load.doBulkLoad(new Path(stagingFolder.getPath),
+  conn.getAdmin, table, conn.getRegionLocator(TableName.valueOf(tableName)))</code></pre>
+</div>
+</div>
+</div>
+</div>
+<div class="paragraph">
+<p>Note that the big difference in using bulk load for thin rows is the function
+returns a tuple with the first value being the row key and the second value
+being an object of FamiliesQualifiersValues, which will contain all the
+values for this row for all column families.</p>
+</div>
 </div>
 </div>
 <div class="sect1">
@@ -18480,7 +18552,7 @@ of range checks and equal checks by sending a Filter object along with the Scan
 with information about consolidated push down predicates</p>
 </div>
 <div class="exampleblock">
-<div class="title">Example 51. SparkSQL Code Example</div>
+<div class="title">Example 52. SparkSQL Code Example</div>
 <div class="content">
 <div class="paragraph">
 <p>This example shows how we can interact with HBase with SQL.</p>
@@ -18753,7 +18825,7 @@ operation, such as starting, stopping, or performing merges, commits, or rollbac
 See
 <a href="https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/coprocessor/RegionServerObserver.html">RegionServerObserver</a>.
 Consider overriding the convenience class
-<a href="https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/coprocessor/BaseMasterRegionServerObserver.html">BaseMasterRegionServerObserver</a>
+<a href="https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.html">BaseMasterAndRegionObserver</a>
 which implements both <code>MasterObserver</code> and <code>RegionServerObserver</code> interfaces and
 will not break if new methods are added.</p>
 </dd>
@@ -18763,7 +18835,7 @@ will not break if new methods are added.</p>
 as table creation, deletion, or schema modification. See
 <a href="https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/coprocessor/MasterObserver.html">MasterObserver</a>.
 Consider overriding the convenience class
-<a href="https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/coprocessor/BaseMasterRegionServerObserver.html">BaseMasterRegionServerObserver</a>,
+<a href="https://hbase.apache.org/devapidocs/org/apache/hadoop/hbase/coprocessor/BaseMasterAndRegionObserver.html">BaseMasterAndRegionObserver</a>,
 which implements both <code>MasterObserver</code> and <code>RegionServerObserver</code> interfaces and
 will not break if new methods are added.</p>
 </dd>
@@ -19833,7 +19905,7 @@ It is useful for tuning the IO impact of prefetching versus the time before all
 <p>To enable prefetching on a given column family, you can use HBase Shell or use the API.</p>
 </div>
 <div class="exampleblock">
-<div class="title">Example 52. Enable Prefetch Using HBase Shell</div>
+<div class="title">Example 53. Enable Prefetch Using HBase Shell</div>
 <div class="content">
 <div class="listingblock">
 <div class="content">
@@ -19843,7 +19915,7 @@ It is useful for tuning the IO impact of prefetching versus the time before all
 </div>
 </div>
 <div class="exampleblock">
-<div class="title">Example 53. Enable Prefetch Using the API</div>
+<div class="title">Example 54. Enable Prefetch Using the API</div>
 <div class="content">
 <div class="listingblock">
 <div class="content">
@@ -20568,7 +20640,7 @@ If this is set to 0 (the default), hedged reads are disabled.</p>
 </ul>
 </div>
 <div class="exampleblock">
-<div class="title">Example 54. Hedged Reads Configuration Example</div>
+<div class="title">Example 55. Hedged Reads Configuration Example</div>
 <div class="content">
 <div class="listingblock">
 <div class="content">
@@ -23035,7 +23107,7 @@ try to put data to these regions to check the write availability of each region
 </ul>
 </div>
 <div class="exampleblock">
-<div class="title">Example 55. Canary in a Kerberos-Enabled Cluster</div>
+<div class="title">Example 56. Canary in a Kerberos-Enabled Cluster</div>
 <div class="content">
 <div class="paragraph">
 <p>This example shows each of the properties with valid values.</p>
@@ -23886,7 +23958,7 @@ The script requires you to set some environment variables before running it.
 Examine the script and modify it to suit your needs.</p>
 </div>
 <div class="exampleblock">
-<div class="title">Example 56. <em>rolling-restart.sh</em> General Usage</div>
+<div class="title">Example 57. <em>rolling-restart.sh</em> General Usage</div>
 <div class="content">
 <div class="listingblock">
 <div class="content">
@@ -25884,7 +25956,7 @@ If it&#8217;s either a new feature request, enhancement, or a bug, file a ticket
 </ul>
 </div>
 <div class="exampleblock">
-<div class="title">Example 57. Code Blocks in Jira Comments</div>
+<div class="title">Example 58. Code Blocks in Jira Comments</div>
 <div class="content">
 <div class="paragraph">
 <p>A commonly used macro in Jira is {code}. Everything inside the tags is preformatted, as in this example.</p>
@@ -26400,7 +26472,7 @@ For now, just be aware of the difference between HBase 1.x builds and those of H
 This difference is important to the build instructions.</p>
 </div>
 <div id="maven.settings.xml" class="exampleblock">
-<div class="title">Example 58. Example <em>~/.m2/settings.xml</em> File</div>
+<div class="title">Example 59. Example <em>~/.m2/settings.xml</em> File</div>
 <div class="content">
 <div class="paragraph">
 <p>Publishing to maven requires you sign the artifacts you want to upload.
@@ -28342,7 +28414,7 @@ This is the indication that the patch was not created with <code>--no-prefix</co
 </ul>
 </div>
 <div class="exampleblock">
-<div class="title">Example 59. Example of Committing a Patch</div>
+<div class="title">Example 60. Example of Committing a Patch</div>
 <div class="content">
 <div class="paragraph">
 <p>One thing you will notice with these examples is that there are a lot of git pull commands.
@@ -31528,7 +31600,7 @@ You do not need to re-create the table or copy data.
 If you are changing codecs, be sure the old codec is still available until all the old StoreFiles have been compacted.</p>
 </div>
 <div class="exampleblock">
-<div class="title">Example 60. Enabling Compression on a ColumnFamily of an Existing Table using HBaseShell</div>
+<div class="title">Example 61. Enabling Compression on a ColumnFamily of an Existing Table using HBaseShell</div>
 <div class="content">
 <div class="listingblock">
 <div class="content">
@@ -31540,7 +31612,7 @@ hbase&gt; enable 'test'</pre>
 </div>
 </div>
 <div class="exampleblock">
-<div class="title">Example 61. Creating a New Table with Compression On a ColumnFamily</div>
+<div class="title">Example 62. Creating a New Table with Compression On a ColumnFamily</div>
 <div class="content">
 <div class="listingblock">
 <div class="content">
@@ -31550,7 +31622,7 @@ hbase&gt; enable 'test'</pre>
 </div>
 </div>
 <div class="exampleblock">
-<div class="title">Example 62. Verifying a ColumnFamily&#8217;s Compression Settings</div>
+<div class="title">Example 63. Verifying a ColumnFamily&#8217;s Compression Settings</div>
 <div class="content">
 <div class="listingblock">
 <div class="content">
@@ -31575,7 +31647,7 @@ DESCRIPTION                                          ENABLED
 You must specify either <code>-write</code> or <code>-update-read</code> as your first parameter, and if you do not specify another parameter, usage advice is printed for each option.</p>
 </div>
 <div class="exampleblock">
-<div class="title">Example 63. LoadTestTool Usage</div>
+<div class="title">Example 64. LoadTestTool Usage</div>
 <div class="content">
 <div class="listingblock">
 <div class="content">
@@ -31635,7 +31707,7 @@ Options:
 </div>
 </div>
 <div class="exampleblock">
-<div class="title">Example 64. Example Usage of LoadTestTool</div>
+<div class="title">Example 65. Example Usage of LoadTestTool</div>
 <div class="content">
 <div class="listingblock">
 <div class="content">
@@ -31659,7 +31731,7 @@ Disable the table before altering its DATA_BLOCK_ENCODING setting.
 Following is an example using HBase Shell:</p>
 </div>
 <div class="exampleblock">
-<div class="title">Example 65. Enable Data Block Encoding On a Table</div>
+<div class="title">Example 66. Enable Data Block Encoding On a Table</div>
 <div class="content">
 <div class="listingblock">
 <div class="content">
@@ -31677,7 +31749,7 @@ hbase&gt; enable 'test'
 </div>
 </div>
 <div class="exampleblock">
-<div class="title">Example 66. Verifying a ColumnFamily&#8217;s Data Block Encoding</div>
+<div class="title">Example 67. Verifying a ColumnFamily&#8217;s Data Block Encoding</div>
 <div class="content">
 <div class="listingblock">
 <div class="content">
@@ -32933,7 +33005,7 @@ The server will return cellblocks compressed using this same compressor as long
 <div id="footer">
 <div id="footer-text">
 Version 2.0.0-SNAPSHOT<br>
-Last updated 2016-01-26 14:51:48 UTC
+Last updated 2016-01-27 14:45:17 UTC
 </div>
 </div>
 </body>

http://git-wip-us.apache.org/repos/asf/hbase-site/blob/6d411951/bulk-loads.html
----------------------------------------------------------------------
diff --git a/bulk-loads.html b/bulk-loads.html
index ff418cf..def51e7 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="20160126" />
+    <meta name="Date-Revision-yyyymmdd" content="20160127" />
     <meta http-equiv="Content-Language" content="en" />
     <title>Apache HBase &#x2013;  
       Bulk Loads in Apache HBase (TM)
@@ -305,7 +305,7 @@ under the License. -->
                         <a href="http://www.apache.org/">The Apache Software Foundation</a>.
             All rights reserved.      
                     
-                  <li id="publishDate" class="pull-right">Last Published: 2016-01-26</li>
+                  <li id="publishDate" class="pull-right">Last Published: 2016-01-27</li>
             </p>
                 </div>